butonla klasör acmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
butonla klasör acmak
Selam ustalar.
form üzerine konulan bir butonla herhangi bir klasörü nasıl actırabilirim,
mesela masaüstünde test isimli bir klasör var ben bunu form üzerine koydum bi butonla actırmak istiyorum bunu nasıl yapabilirim.
Kolay Gelsin
form üzerine konulan bir butonla herhangi bir klasörü nasıl actırabilirim,
mesela masaüstünde test isimli bir klasör var ben bunu form üzerine koydum bi butonla actırmak istiyorum bunu nasıl yapabilirim.
Kolay Gelsin
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
bu yontem cok sakat bir yontem. ustelik elinizde hali hazirda bir fonksyion varken (ustelik geriye bir deger de dondurur) bu tip taklalar atmanin bence cok fazla bir manasi yok.CELL yazdı:Saolasın usta aradım sey tam olarak buydu. Sayenizde çözecez bu delphi'yi. Teşekkür ederim.ulu coder yazdı:a.s.
Winexec(PChar('C:\WINDOWS\explorer.exe C:\test'),SW_SHOW);
Kolay gelsin
CreateDir delphi fonksiyonu veya yine delphi icerisinde hazir tanimli halde bulunana CreateDirectory apisini kullanmalisiniz.
yine de bu yolu kullanmaya devam etmek isterseniz en azindan c:\windows\explorer satirini explorer.exe olarak degistirin.
-en azindan programiniz benim bilgisayarimda da dogru calisir

evet sakat bir yöntem.
Acelem vardı (ve hala var) ama cevapsız da bırakmak istemedim.
WinExec yerine ShellExecute kullanmak daha mantıklı.
Fakat CreateDirectory boş klasör oluşturur. Siz klasörün içeriğini görmek istiyorsunuz. Benim yazdığım kodla, explorer'ı açıyorsunuz ve parametre olarak da klasör adresini yazıyorsunuz. Bu kodun sakatlığı şu; boşluk bulunduran adresleri, ilk boşluğa kadar alıyor. Yani 'C:\Deneme K'yı açmaya çalışırsanız 'C:\Deneme' bulunamadı hatası veriyor.
Acelem vardı (ve hala var) ama cevapsız da bırakmak istemedim.
WinExec yerine ShellExecute kullanmak daha mantıklı.
Fakat CreateDirectory boş klasör oluşturur. Siz klasörün içeriğini görmek istiyorsunuz. Benim yazdığım kodla, explorer'ı açıyorsunuz ve parametre olarak da klasör adresini yazıyorsunuz. Bu kodun sakatlığı şu; boşluk bulunduran adresleri, ilk boşluğa kadar alıyor. Yani 'C:\Deneme K'yı açmaya çalışırsanız 'C:\Deneme' bulunamadı hatası veriyor.
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
soruyu okumadan cevaba ve basliga bakarsak olacagi bu 
CreateDir ve CreateDirectory 'nin konuyla alakasi yok
bir klasoru explorerda acmak icin dogal olarak @ulu coder'in ornegindeki gibi yapmak gerekir ama c:\windows gibi bir sabit kullanmadan tabi.
yanlis anlasilma icin ozur dileriz
icinde bosluk olan klasorleride su sekilde acabilirsin.

CreateDir ve CreateDirectory 'nin konuyla alakasi yok
bir klasoru explorerda acmak icin dogal olarak @ulu coder'in ornegindeki gibi yapmak gerekir ama c:\windows gibi bir sabit kullanmadan tabi.
yanlis anlasilma icin ozur dileriz

icinde bosluk olan klasorleride su sekilde acabilirsin.
Kod: Tümünü seç
Winexec(PChar('explorer.exe "c:\icinde bosluk olan bir klasor"'),SW_SHOW);
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
Merhabalar,
Bir klasör ya da bir programı çalıştırmak için şunları da deneyebilirsiniz.
Saygılar...
Bir klasör ya da bir programı çalıştırmak için şunları da deneyebilirsiniz.
Kod: Tümünü seç
Uses ShellAPI,.., .., ..;
.
.
.
.
var S : String;
begin
.
.
// "C:\Windows" klasörünü açacaktır
// Direk isim yazarak
ShellExecute(Handle,
'open',
'c:\windows',
nil,
nil,
SW_NORMAL);
// hesap makinası için
ShellExecute(Handle,
'open',
'calc.exe',
nil,
nil,
SW_NORMAL);
.
.
//Bir değişken ile kullanacaksanız.
S := 'C:\Windows';
ShellExecute(Handle,
'open',
PChar(S),
nil,
nil,
SW_NORMAL);
//Windows dizininie DIR çekmek
//komutu icra eder pencere açık kalır.
ShellExecute(Handle,
'open',
'cmd.exe',
'/k dir c:\windows\*.* /p',
nil,
SW_NORMAL);
//Windows dizininie DIR çekmek
//komutu icra eder pencere ardından kapanır
ShellExecute(Handle,
'open',
'cmd.exe',
'/c dir c:\windows\*.* /p',
nil,
SW_NORMAL);
.
.
end;
.
.
.