ALpMontana
КЯaL´da TaNıMaM КuяaL´da
Delphi içerisinde klasör ve dosya işlemlerinde kullanabilmemiz için bir çok fonksiyon tanımlanmıştır.
Chdir(Klasör_Yolu);
Aktif dizini değiştirmek için kullanılan bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Chdir(‘C:\WinNt\System32’); // Aktif dizini değiştir
end;
Yukarıda ki gibi bir kod sayesinde aktif dizin C:\WinNt\System32 olmaktadır. Bu aşamadan sonra dosyanızı sadece ismini belirterek çalıştırmanız (System32 içerisindeki) mümkün olacaktır.
CloseFile(Dosya_Yolu);
Dosyayı kapatmak için kullanılan bir prosedürdür. Aşağıdaki gibi bir kodlamayla dosyadaki ilk satırı okuyup formunuzun başlığında yazdırabilirsiniz.
Procedure TForm1.Button1Click(Sender; Object);
var
Yol : TextFile;
S : String;
begin
S := ‘Alp Oğuzhan MERTOL’;
AssignFile(Yol, ‘C:\WinNt\ALP.txt’);
Reset(Yol);
ReadLn(Yol , S); // Dosyadan oku
Caption := S; // Başlıkta yaz
CloseFile(Yol); // Dosyayı kapat
end;
CreateDir(Klasör_Yolu);
Klasör oluşturmak için kullanılan bir fonksiyondur. Şayet belirtilen yerde klasörü başarıyla oluşturulursa geriye true değerini, oluşturmazsa da false değerini döndürecektir.
Procedure TForm1.Button1Click(Sender; Object);
begin
If CreateDir(‘C:\WinNt\Hackhell’) Then
Caption := ‘Klasör Oluşturuldu’
else
Caption:= ‘Klasör Oluşturulamadı’;
end;
Bu tip örneklerde var olan bir klasörü kontrol ederek kod yazarsanız daha doğru sonuç almanız mümkün olacaktır. Tabii Uses’ e FileCtrl eklemeyi unutmayalım.
Procedure TForm1.Button1Click(Sender; Object);
begin
If Not DirectoryExists(‘C:\Temp’) Then // Klasör yoksa
If Not CreateDir(‘C:\Temp’) Then // Oluştur
Caption := ‘Klasör Oluşturulamadı’;
end;
Örnekte de dikkat edildiği üzere C:\Temp klasörü yoksa bir altında ki satırı işleyecektir. Alt satırında ise mesaj klasör oluşturulmadığında vericektir. Klasör oluşturulduğunda mesaj vermeyecektir.
DeleteFile(Dosya_Yolu);
Parametre ile belirtilen yoldaki dosyayı silmek için kullanılan bir fonksiyondur. Şayet silme işlemi başarılı bir şekilde gerçekleştiyse true değerini, aksi takdirde de false değerini döndürecektir.
Procedure TForm1.Button1Click(Sender; Object);
begin
If DeleteFile(‘C:\WinNt\Alp.Txt’) Then // Dosya Silindi ise
Caption := ‘Dosya Silindi’
else
Caption := ‘Dosya Silinmedi’;
end;
DirectoryExists(Klasör_Yolu):
Parametre ile belirtilen yolda klasörün var olup olmadığını kontrol eden fonksiyondur. Fonksiyondan true değerinin dönmesi, belirtilen yolda o klasörün var olduğu anlamını taşımaktadır.
Procedure TForm1.Button1Click(Sender; Object);
begin
If DirectoryExists(‘C:\WinNt\Hackhell’) Then
Caption := ‘Klasör var’
else
Caption := ‘Klasör yok’;
end;
DiskFree(Sürücü_Numarası);
Parametre ile belirtilen sürücü içerisindeki boş alanı öğrenmek için kullanabileceğiniz bir fonksiyondur. Sürücü numaraları ve değerleri aşağıda verilmiştir.
Numara
Adı
1
A
2
B
3
C
4
D
5
E
6
F
Procedure TForm1.Button1Click(Sender; Object);
var
Bos_Alan : Integer;
begin
Bos_Alan := DiskFree(3); // C Sürücüsünde ne kadar boş yer var
Caption := IntToStr(Bos_Alan);
end;
DiskSize(Sürücü_Numarası);
Parametre ile belirtilen sürücüdeki boş bellek miktarını hesaplayan fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Kapasite : Integer;
begin
Kapasite := DiskSize(3); // C Sürücüsünün toplam kapasitesi
Sonuc := DateTimeToStr(Tarih); // Aktif tarih ve saati yaz
Caption:= IntToStr(Kapasite);
end;
FileAge(Dosya_Yolu);
Dosyanın oluşturma tarihini hesaplayabilen bir fonksiyondur. Aşağıdaki şekilde bir kodlamayla tüm dosyaların oluşturulma tarihlerini öğrenebilirsiniz. Fonksiyondan geriye dönen değer tam sayı tipinde olacağı için FileDateToDateTime tip dönüştürme fonksiyonu sayesinde tarihsel bir değişkene aktarılabilir.
Procedure TForm1.Button1Click(Sender; Object);
var
Zaman : TDateTime;
Goster : AnsiString;
begin
Zaman:= FileDateToDateTime(FileAge('C:\Deneme.txt'));
Goster := DateTimeToStr(Zaman);
Caption:= Goster ;
end;
FileDateToDateTime(Dosya_Tarihi);
FileAge fonksiyonundan geriye dönen değeri DateTime tipine dönüştürmek için kullanılan bir fonksiyondur. Yukarıda ki örneği inceleyebilirsiniz.
FileExists(Dosya_Yolu);
Belirtilen yolda dosyanın var olup olmadığını kontrol eden bir fonkiyondur. Şayet dosya belirtilen yerde varsa geriye true değeri, yoksa false değeri dönecektir.
Procedure TForm1.Button1Click(Sender; Object);
var
begin
If FileExists(‘C:\WinNt\Alp.txt’) Then // Dosya varsa
Caption := ‘Dosya var’
else
Caption := ‘Dosya Yok’;
end;
FileGetAttr(Dosya_Yolu);
Dosyaya ait özellikleri öğrenebilmek için kullanılan bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Yol : AnsiString;
Sayi : Integer;
begin
Yol := ‘C:\WinNt\Alp.txt’;
Sayi := FileGetAttr(Yol);
If (Sayi and faHidden)<>0 Then Caption := Gizli;
If (Sayi and faSysFile)<>0 Then Caption := Caption+’ ’+Sistem;
If (Sayi and faReadOnly)<>0 Then Caption := Caption+’ ’+Salt Okunur;
If (Sayi and faDirectory)<>0 Then Caption := Caption+’ ’+Klasör;
If (Sayi and faArchive)<>0 Then Caption := Caption+’ ’+Arşiv;
If (Sayi and faVolumeId)<>0 Then Caption := Caption+’ ’+Etiket;
end;
FileIsReadOnly(Dosya_Yolu);
Parametre ile belirtilen yoldaki dosyanın ReadOnly (salt okunur) olup olmadığını bildiren bir fonksiyondur. Bilhassa içerisinde değişiklik yapılıp yapılamayacağı durumunun önemli olduğu durumlarda çok işinize yarayacak bir fonksiyondur. Fonksiyondan, şayet dosya ReadOnly ise true, aksi durumda false değeri dönecektir.
Procedure TForm1.Button1Click(Sender; Object);
begin
If FileIsReadOnly(‘C:\WinNt\Alp.txt’) Then
Caption := ‘Değişiklik yapamazsınız’
else
Caption := ‘Değişiklik yapabilirsiniz’;
end;
FileSearch(Dosya_Adı , Aranacak_Klasör);
Birinci parametre ile belirleyeceğiniz dosyayı, ikinci parametre ile belirleyeceğiniz klasörlerin içerisinde arar. Eğer dosyayı bulursa, bulduğu dosyanın yoluyla beraber ismini döndürecektir. Şayet dosyayı bu klasörlerde bulamazsa geriye boş string değeri dönecektir.
Procedure TForm1.Button1Click(Sender; Object);
var
Yol : AnsiString;
begin
Yol := FileSearch(‘Notepad’ , ‘C:\WinNt ;C:\WinNt\System32’);
If Yol= 0 Then // Dosya yoksa
Caption := ‘Dosya Bulunamadı’
else
Caption := Yol; // C:\WinNt\Notepad.exe yazar
end;
Yukarıdaki örnekte Notepad.Exe isimli dosya C:\WinNt ve C:\WinNt\System32 klasörlerinin içerisinde aranmaktadır.
FileSetAttr(Dosya_Yolu , Özellik);
Birinci parametre ile belirlenen dosyaya ikinci parametre ile belirlenen özelliği atamak için kullanılan bir fonksiyondur. Aşağıdaki şekilde bir dosyaya hidden özelliği kazandırabilirsiniz.
Procedure TForm1.Button1Click(Sender; Object);
begin
FileSetAttr(‘C:\WinNt\Alp.txt’ , faHidden); // Hidden özelliği kazandır
end;
Özellik
Açıklama
faHidden
Gizli dosya yapar
faReadOnly
Salt okunur yapar
faSysFile
Sistem dosyası özelliği verir
faVolumeId
Etiket özelliği kazandırır
faDirectory
Klasör
faArchive
Arşiv özelliği verir
Şayet birden fazla özellik aynı anda atanacak ise o zaman kodunuzu aşağıdaki şekilde değiştirmelisiniz.
Procedure TForm1.Button1Click(Sender; Object);
begin
FileSetAttr(‘C:\WinNt\Alp.txt’ , faHidden+faReadOnly); // Hidden ve ReadOnly özelliği kazandır
end;
FindFirst(Dosya_Yolu , Özellik , Ad);
Belirtilen klasörün içerisinde joker karakterler ile belirtilen dosyaları arar, ilk bulduğu dosyayı geriye döndürür. Bulduğu dosyanın isim, özellik vs. leri TSearchRec tipli üçüncü parametre olarak belirlenen değişkene aktarılır.
Procedure TForm1.Button1Click(Sender; Object);
var
Dosya : TSearchRec;
begin
FindFirst(‘C:\WinNt\*.txt’ , faAnyFile , Dosya);
Caption := Dosya.Name;
end;
Yukarıdaki örnekte C:\WinNt klasörünün içerisindeki txt dosyalarından ilk bulduğu dosya isimli değişkene aktarılmaktadır. İkinci parametre ile aranılacak dosyaya ait özellikler belirlenebilir, sadece bu özelliğe uyan ilk dosya bulunabilir. Burada kullanılan faAnyFile seçeneği özellikleri dikkate almadan işlem yap demektir.
findNext(Dosya);
Tek dosya değilde ( tüm txt uzantılı dosyalar veya vs. vs. ) tüm dosyalar listelenecek ise yani aynı isme ve özelliğe sahip diğer dosyaların da bulunması gerekiyorsa bu durumlarda kullanacağınız fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Dosya : TSearchRec;
begin
If FindNext(‘C:\WinNt\*.txt’ , faAnyFile , Dosya)=0 Then
Begin
Repeat;
ListBox1.Items.Add(Dosya.Name);
Until FindNext(Dosya)<>0; // Varsa sonrakini bul
FindClose(Dosya); //Kapat
end;
end;
ForceDirectories(Klasör_Yolu);
Tek seferde iç içe birden fazla klasör oluşturmak için kullanılan fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
Begin
ForceDirectories(‘C:\Klasör1\Klasör2\Klasör3’); // İç içe oluştur
end;
GetCurrentDir;
Parametresiz kullanılan bu fonksiyon sayesinde aktif çalışılan klasörün yolu öğrenebilir.
Procedure TForm1.Button1Click(Sender; Object);
Begin
Caption := GetCurrentDir; // Aktif klasörü yolu ile yaz
end;
GetDir(Sürücü_Numarası , Aktif_Klasör);
Birinci parametre ile verilen sürücü numarasındaki aktif klasörü öğrenmek için kullanılan bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Klasor : AnsiString;
begin
GetDir(3 , Klasor); // C Sürücüsündeki aktif klasörü ver
Caption := Klasor;
end;
RemoveDir(Klasör_Yolu);
Parametre ile belirtilen yoldaki klasörü silme için kullanılan bir fonksiyondur. Dikkat edeceğiniz husus silinecek olan klasörün içinin boş olması gerektiğidir.
Procedure TForm1.Button1Click(Sender; Object);
begin
RemoveDir(‘C:\Klasör1’); // Klasörü sil
end;
Bu tür işlemlerde öncelikle klasörün var olup olmadığını kontrol ettirirseniz, çok daha sağlıklı sonuçlar alırsınız.
Procedure TForm1.Button1Click(Sender; Object);
begin
If DirectoryExists(‘C:\Klasör1’) Then // Klasör varsa
RemoveDir(‘C:\Klasör1’); // Klasörü sil
end;
RenameFile(Dosya_Yolu , Yeni_İsim);
Birinci parametre ile verilen dosya ismini ikinci parametreyle belirtilen yere, belirtilen isimde kaydetmek için kullanılan fonksiyondur. Dilerseniz aynı yolu göstererek bulunduğu path içerisinde sadece dosyanın ismini değiştirmenizde mümkündür.
Procedure TForm1.Button1Click(Sender; Object);
begin
RenameFile(‘C:\Deneme.txt’ , ‘C:\Avantaj.txt’);
end;
SelectDirectory(Klasör_Adı , Seçenekler , Help);
Bu fonksiyon sayesinde, Select Directory penceresi açtırılıp kullanıcının dizin seçmesi veya yaratması sağlanabilir. Tabii Uses satırına FileCtrl eklemeyi unutmayalım.
Procedure TForm1.Button1Click(Sender; Object);
var
Yol : String;
begin
Yol := ‘C:\Program Files’;
If SelectDirectory(Yol , [sdAllowCreate , sdPerformCreate , sdPrompt] , 1000 ) Then
Caption := Yol;
end;
Yukarıdaki kodu yazıp programı çalıştırırsanız, aşağıdaki pencerenin açılmasını sağlarsınız.
Bu Fonksiyonda birinci parametre Directory Name kısmında varsyılan olarak açılacağı yolu belirleyebilirsiniz. İkinci parametre için seçenekleri teker teker inceleyelim.
sdAllowCreate : Bu parametre sayesinde Directory Name edit kutusunun gözüküp kullanıcının yeni bir klasör oluşturabilmesini sağlayabilirsiniz.
sdPerformCreate : Kullanıcının yeni bir klasör oluşturabilmesini sağlar.
sdPrompt :
Yanlış bir yol girildiği (olmayan bir yol) kullanıcıyı uyaracak pencerenin çıkıp çıkmamasını ayarlayan özelliğidir. Şayet açılan pencereye kullanıcı Yes derse klasör oluşacaktır.
Şimdi yukarıdaki kodları ekleyip buton kontrolüne tıklayınız. Olmayan bir klasör ismi belirtiniz. Uyarı penceresiyle karşılacaksınız. (tabii ki hata yapmadı iseniz) Pencereyi yes düğmesiyle kapatınız, klasörün oluştuğunu göreceksiniz.
ExtractFileDir(Dosya_Yolu);
Parametre ile girilen dosya yolunun bir üst klasörünün ismini döndüren fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Dosya : AnsiString;
begin
Dosya := ExtractFileDir(‘C:\WinNt\Deneme.txt’);
Caption := Dosya; // C:\WinNt yazar
end;
İç içe kullanabileceğimiz fonksiyonlarda var. Bunlardan en çok kullanılan çalışan exe uygulamasının yolunu almaktır. Aşağıda ki işlemde Ornekler klasöründe Project1.exe uygulamasını inceleyiniz.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractFileDir(Application.ExeName); // Mesela C:\Program Files\Ornekler
end;
ExtractFileDrive(Yol);
Parametreyle belirtilen yolun ait olduğu ana root (c,d,e,f, vs.) adını döndüren fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption:= ExtractFileDrive(‘C:\WinNt\Deneme.txt’); // C yazar
end;
ExtractFileExt(Dosya_Yolu);
Parametre olarak girilen dosyanın uzantısını bulmak için kullanılan bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractFileExt(‘C:\WinNt\Deneme.txt’); // .Txt yazar
end;
ExtractFileName(Dosya_Yolu);
Parametre olarak girilen dosya yolundan dosyanın ismini söküp alabilen bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractFileName(‘C:\WinNt\Deneme.txt’); // Deneme yazar
end;
ExtractFilePath(Dosya_Yolu);
Parametre olarak girilen dosya yolunun bulunduğu bir üst klasörün ismini döndüren fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractFilePath(‘C:\WinNt\Deneme.txt’); // C:\WinNt yazar
end;
ExtractShortPathName(Dosya_Yolu);
Parametre ile belirtilen dosya yolunu, dosya ismi sekiz (uzantısı hariç) karakteri geçmeyecek şekilde gösteren bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractShortPathName(‘C:\WinNt\Deneme123456789.txt ’);
end;
WinExec(Dosya_Yolu , Seçenek);
Parametre ile girilen dosya yolundaki exe uzantılı dosyayı çalıştırmak için kullanılan (C’ de yazılmıştır) bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
WinExec(‘C:\Avantaj\Ver6.1\Avantaj.Exe’ , SW_SHOW); // Avantaj uygulamasını çalıştır
end;
Burada kullanılan birinci parametre katar tipinde bir değişken PChar tarafından tutulabilmektedir. Şayet edit kutusunda yazmış olduğunuz dosya yolundaki exe uygulamasını çalıştırmak isterseniz aşağıdaki gibi bir kodlama kullanmalısınız.
Procedure TForm1.Button1Click(Sender; Object);
var
Dosya : PChar;
begin
Dosya := PChar(Edit1.Text); // Katarı AnsiStringe çevir
WinExec(Dosya , SW_SHOW);
end;
Fonksiyonda kullanılan ikinci parametre (girilmesi zorunludur) exe dosyasının çalışma şeklini belirlemek için kullanılmaktadır. Program ekranı kaplasın mı, taskbar da mı açılsın vs. seçeneklerini bu parametreyle belirleyebilirsiniz. Aşağıda ikinci parametre yerine kullanabileceğiniz tüm seçenekler verilmiştir.
SW_HIDE=0;
SW_SHOW=5;
SW_SHOWNORMAL=1;
SW_MINIMIZE=6;
SW_NORMAL=1;
SW_SHOWMINNOACTIVATE=7;
SW_SHOWMINIMIZED=2;
SW_SHOWNA=8;
SW_SHOWMAXIMIZED=3;
SW_RESTORE=9;
SW_MAXIMIZE=3;
SW_SHOWDEFAULT=10;
SW_SHOWNOACTIVATE=4;
SW_MAX=10;
bireyerden buldum we sizin için test ettım çalısıor:hhman:
Chdir(Klasör_Yolu);
Aktif dizini değiştirmek için kullanılan bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Chdir(‘C:\WinNt\System32’); // Aktif dizini değiştir
end;
Yukarıda ki gibi bir kod sayesinde aktif dizin C:\WinNt\System32 olmaktadır. Bu aşamadan sonra dosyanızı sadece ismini belirterek çalıştırmanız (System32 içerisindeki) mümkün olacaktır.
CloseFile(Dosya_Yolu);
Dosyayı kapatmak için kullanılan bir prosedürdür. Aşağıdaki gibi bir kodlamayla dosyadaki ilk satırı okuyup formunuzun başlığında yazdırabilirsiniz.
Procedure TForm1.Button1Click(Sender; Object);
var
Yol : TextFile;
S : String;
begin
S := ‘Alp Oğuzhan MERTOL’;
AssignFile(Yol, ‘C:\WinNt\ALP.txt’);
Reset(Yol);
ReadLn(Yol , S); // Dosyadan oku
Caption := S; // Başlıkta yaz
CloseFile(Yol); // Dosyayı kapat
end;
CreateDir(Klasör_Yolu);
Klasör oluşturmak için kullanılan bir fonksiyondur. Şayet belirtilen yerde klasörü başarıyla oluşturulursa geriye true değerini, oluşturmazsa da false değerini döndürecektir.
Procedure TForm1.Button1Click(Sender; Object);
begin
If CreateDir(‘C:\WinNt\Hackhell’) Then
Caption := ‘Klasör Oluşturuldu’
else
Caption:= ‘Klasör Oluşturulamadı’;
end;
Bu tip örneklerde var olan bir klasörü kontrol ederek kod yazarsanız daha doğru sonuç almanız mümkün olacaktır. Tabii Uses’ e FileCtrl eklemeyi unutmayalım.
Procedure TForm1.Button1Click(Sender; Object);
begin
If Not DirectoryExists(‘C:\Temp’) Then // Klasör yoksa
If Not CreateDir(‘C:\Temp’) Then // Oluştur
Caption := ‘Klasör Oluşturulamadı’;
end;
Örnekte de dikkat edildiği üzere C:\Temp klasörü yoksa bir altında ki satırı işleyecektir. Alt satırında ise mesaj klasör oluşturulmadığında vericektir. Klasör oluşturulduğunda mesaj vermeyecektir.
DeleteFile(Dosya_Yolu);
Parametre ile belirtilen yoldaki dosyayı silmek için kullanılan bir fonksiyondur. Şayet silme işlemi başarılı bir şekilde gerçekleştiyse true değerini, aksi takdirde de false değerini döndürecektir.
Procedure TForm1.Button1Click(Sender; Object);
begin
If DeleteFile(‘C:\WinNt\Alp.Txt’) Then // Dosya Silindi ise
Caption := ‘Dosya Silindi’
else
Caption := ‘Dosya Silinmedi’;
end;
DirectoryExists(Klasör_Yolu):
Parametre ile belirtilen yolda klasörün var olup olmadığını kontrol eden fonksiyondur. Fonksiyondan true değerinin dönmesi, belirtilen yolda o klasörün var olduğu anlamını taşımaktadır.
Procedure TForm1.Button1Click(Sender; Object);
begin
If DirectoryExists(‘C:\WinNt\Hackhell’) Then
Caption := ‘Klasör var’
else
Caption := ‘Klasör yok’;
end;
DiskFree(Sürücü_Numarası);
Parametre ile belirtilen sürücü içerisindeki boş alanı öğrenmek için kullanabileceğiniz bir fonksiyondur. Sürücü numaraları ve değerleri aşağıda verilmiştir.
Numara
Adı
1
A
2
B
3
C
4
D
5
E
6
F
Procedure TForm1.Button1Click(Sender; Object);
var
Bos_Alan : Integer;
begin
Bos_Alan := DiskFree(3); // C Sürücüsünde ne kadar boş yer var
Caption := IntToStr(Bos_Alan);
end;
DiskSize(Sürücü_Numarası);
Parametre ile belirtilen sürücüdeki boş bellek miktarını hesaplayan fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Kapasite : Integer;
begin
Kapasite := DiskSize(3); // C Sürücüsünün toplam kapasitesi
Sonuc := DateTimeToStr(Tarih); // Aktif tarih ve saati yaz
Caption:= IntToStr(Kapasite);
end;
FileAge(Dosya_Yolu);
Dosyanın oluşturma tarihini hesaplayabilen bir fonksiyondur. Aşağıdaki şekilde bir kodlamayla tüm dosyaların oluşturulma tarihlerini öğrenebilirsiniz. Fonksiyondan geriye dönen değer tam sayı tipinde olacağı için FileDateToDateTime tip dönüştürme fonksiyonu sayesinde tarihsel bir değişkene aktarılabilir.
Procedure TForm1.Button1Click(Sender; Object);
var
Zaman : TDateTime;
Goster : AnsiString;
begin
Zaman:= FileDateToDateTime(FileAge('C:\Deneme.txt'));
Goster := DateTimeToStr(Zaman);
Caption:= Goster ;
end;
FileDateToDateTime(Dosya_Tarihi);
FileAge fonksiyonundan geriye dönen değeri DateTime tipine dönüştürmek için kullanılan bir fonksiyondur. Yukarıda ki örneği inceleyebilirsiniz.
FileExists(Dosya_Yolu);
Belirtilen yolda dosyanın var olup olmadığını kontrol eden bir fonkiyondur. Şayet dosya belirtilen yerde varsa geriye true değeri, yoksa false değeri dönecektir.
Procedure TForm1.Button1Click(Sender; Object);
var
begin
If FileExists(‘C:\WinNt\Alp.txt’) Then // Dosya varsa
Caption := ‘Dosya var’
else
Caption := ‘Dosya Yok’;
end;
FileGetAttr(Dosya_Yolu);
Dosyaya ait özellikleri öğrenebilmek için kullanılan bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Yol : AnsiString;
Sayi : Integer;
begin
Yol := ‘C:\WinNt\Alp.txt’;
Sayi := FileGetAttr(Yol);
If (Sayi and faHidden)<>0 Then Caption := Gizli;
If (Sayi and faSysFile)<>0 Then Caption := Caption+’ ’+Sistem;
If (Sayi and faReadOnly)<>0 Then Caption := Caption+’ ’+Salt Okunur;
If (Sayi and faDirectory)<>0 Then Caption := Caption+’ ’+Klasör;
If (Sayi and faArchive)<>0 Then Caption := Caption+’ ’+Arşiv;
If (Sayi and faVolumeId)<>0 Then Caption := Caption+’ ’+Etiket;
end;
FileIsReadOnly(Dosya_Yolu);
Parametre ile belirtilen yoldaki dosyanın ReadOnly (salt okunur) olup olmadığını bildiren bir fonksiyondur. Bilhassa içerisinde değişiklik yapılıp yapılamayacağı durumunun önemli olduğu durumlarda çok işinize yarayacak bir fonksiyondur. Fonksiyondan, şayet dosya ReadOnly ise true, aksi durumda false değeri dönecektir.
Procedure TForm1.Button1Click(Sender; Object);
begin
If FileIsReadOnly(‘C:\WinNt\Alp.txt’) Then
Caption := ‘Değişiklik yapamazsınız’
else
Caption := ‘Değişiklik yapabilirsiniz’;
end;
FileSearch(Dosya_Adı , Aranacak_Klasör);
Birinci parametre ile belirleyeceğiniz dosyayı, ikinci parametre ile belirleyeceğiniz klasörlerin içerisinde arar. Eğer dosyayı bulursa, bulduğu dosyanın yoluyla beraber ismini döndürecektir. Şayet dosyayı bu klasörlerde bulamazsa geriye boş string değeri dönecektir.
Procedure TForm1.Button1Click(Sender; Object);
var
Yol : AnsiString;
begin
Yol := FileSearch(‘Notepad’ , ‘C:\WinNt ;C:\WinNt\System32’);
If Yol= 0 Then // Dosya yoksa
Caption := ‘Dosya Bulunamadı’
else
Caption := Yol; // C:\WinNt\Notepad.exe yazar
end;
Yukarıdaki örnekte Notepad.Exe isimli dosya C:\WinNt ve C:\WinNt\System32 klasörlerinin içerisinde aranmaktadır.
FileSetAttr(Dosya_Yolu , Özellik);
Birinci parametre ile belirlenen dosyaya ikinci parametre ile belirlenen özelliği atamak için kullanılan bir fonksiyondur. Aşağıdaki şekilde bir dosyaya hidden özelliği kazandırabilirsiniz.
Procedure TForm1.Button1Click(Sender; Object);
begin
FileSetAttr(‘C:\WinNt\Alp.txt’ , faHidden); // Hidden özelliği kazandır
end;
Özellik
Açıklama
faHidden
Gizli dosya yapar
faReadOnly
Salt okunur yapar
faSysFile
Sistem dosyası özelliği verir
faVolumeId
Etiket özelliği kazandırır
faDirectory
Klasör
faArchive
Arşiv özelliği verir
Şayet birden fazla özellik aynı anda atanacak ise o zaman kodunuzu aşağıdaki şekilde değiştirmelisiniz.
Procedure TForm1.Button1Click(Sender; Object);
begin
FileSetAttr(‘C:\WinNt\Alp.txt’ , faHidden+faReadOnly); // Hidden ve ReadOnly özelliği kazandır
end;
FindFirst(Dosya_Yolu , Özellik , Ad);
Belirtilen klasörün içerisinde joker karakterler ile belirtilen dosyaları arar, ilk bulduğu dosyayı geriye döndürür. Bulduğu dosyanın isim, özellik vs. leri TSearchRec tipli üçüncü parametre olarak belirlenen değişkene aktarılır.
Procedure TForm1.Button1Click(Sender; Object);
var
Dosya : TSearchRec;
begin
FindFirst(‘C:\WinNt\*.txt’ , faAnyFile , Dosya);
Caption := Dosya.Name;
end;
Yukarıdaki örnekte C:\WinNt klasörünün içerisindeki txt dosyalarından ilk bulduğu dosya isimli değişkene aktarılmaktadır. İkinci parametre ile aranılacak dosyaya ait özellikler belirlenebilir, sadece bu özelliğe uyan ilk dosya bulunabilir. Burada kullanılan faAnyFile seçeneği özellikleri dikkate almadan işlem yap demektir.
findNext(Dosya);
Tek dosya değilde ( tüm txt uzantılı dosyalar veya vs. vs. ) tüm dosyalar listelenecek ise yani aynı isme ve özelliğe sahip diğer dosyaların da bulunması gerekiyorsa bu durumlarda kullanacağınız fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Dosya : TSearchRec;
begin
If FindNext(‘C:\WinNt\*.txt’ , faAnyFile , Dosya)=0 Then
Begin
Repeat;
ListBox1.Items.Add(Dosya.Name);
Until FindNext(Dosya)<>0; // Varsa sonrakini bul
FindClose(Dosya); //Kapat
end;
end;
ForceDirectories(Klasör_Yolu);
Tek seferde iç içe birden fazla klasör oluşturmak için kullanılan fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
Begin
ForceDirectories(‘C:\Klasör1\Klasör2\Klasör3’); // İç içe oluştur
end;
GetCurrentDir;
Parametresiz kullanılan bu fonksiyon sayesinde aktif çalışılan klasörün yolu öğrenebilir.
Procedure TForm1.Button1Click(Sender; Object);
Begin
Caption := GetCurrentDir; // Aktif klasörü yolu ile yaz
end;
GetDir(Sürücü_Numarası , Aktif_Klasör);
Birinci parametre ile verilen sürücü numarasındaki aktif klasörü öğrenmek için kullanılan bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Klasor : AnsiString;
begin
GetDir(3 , Klasor); // C Sürücüsündeki aktif klasörü ver
Caption := Klasor;
end;
RemoveDir(Klasör_Yolu);
Parametre ile belirtilen yoldaki klasörü silme için kullanılan bir fonksiyondur. Dikkat edeceğiniz husus silinecek olan klasörün içinin boş olması gerektiğidir.
Procedure TForm1.Button1Click(Sender; Object);
begin
RemoveDir(‘C:\Klasör1’); // Klasörü sil
end;
Bu tür işlemlerde öncelikle klasörün var olup olmadığını kontrol ettirirseniz, çok daha sağlıklı sonuçlar alırsınız.
Procedure TForm1.Button1Click(Sender; Object);
begin
If DirectoryExists(‘C:\Klasör1’) Then // Klasör varsa
RemoveDir(‘C:\Klasör1’); // Klasörü sil
end;
RenameFile(Dosya_Yolu , Yeni_İsim);
Birinci parametre ile verilen dosya ismini ikinci parametreyle belirtilen yere, belirtilen isimde kaydetmek için kullanılan fonksiyondur. Dilerseniz aynı yolu göstererek bulunduğu path içerisinde sadece dosyanın ismini değiştirmenizde mümkündür.
Procedure TForm1.Button1Click(Sender; Object);
begin
RenameFile(‘C:\Deneme.txt’ , ‘C:\Avantaj.txt’);
end;
SelectDirectory(Klasör_Adı , Seçenekler , Help);
Bu fonksiyon sayesinde, Select Directory penceresi açtırılıp kullanıcının dizin seçmesi veya yaratması sağlanabilir. Tabii Uses satırına FileCtrl eklemeyi unutmayalım.
Procedure TForm1.Button1Click(Sender; Object);
var
Yol : String;
begin
Yol := ‘C:\Program Files’;
If SelectDirectory(Yol , [sdAllowCreate , sdPerformCreate , sdPrompt] , 1000 ) Then
Caption := Yol;
end;
Yukarıdaki kodu yazıp programı çalıştırırsanız, aşağıdaki pencerenin açılmasını sağlarsınız.
Bu Fonksiyonda birinci parametre Directory Name kısmında varsyılan olarak açılacağı yolu belirleyebilirsiniz. İkinci parametre için seçenekleri teker teker inceleyelim.
sdAllowCreate : Bu parametre sayesinde Directory Name edit kutusunun gözüküp kullanıcının yeni bir klasör oluşturabilmesini sağlayabilirsiniz.
sdPerformCreate : Kullanıcının yeni bir klasör oluşturabilmesini sağlar.
sdPrompt :
Yanlış bir yol girildiği (olmayan bir yol) kullanıcıyı uyaracak pencerenin çıkıp çıkmamasını ayarlayan özelliğidir. Şayet açılan pencereye kullanıcı Yes derse klasör oluşacaktır.
Şimdi yukarıdaki kodları ekleyip buton kontrolüne tıklayınız. Olmayan bir klasör ismi belirtiniz. Uyarı penceresiyle karşılacaksınız. (tabii ki hata yapmadı iseniz) Pencereyi yes düğmesiyle kapatınız, klasörün oluştuğunu göreceksiniz.
ExtractFileDir(Dosya_Yolu);
Parametre ile girilen dosya yolunun bir üst klasörünün ismini döndüren fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Dosya : AnsiString;
begin
Dosya := ExtractFileDir(‘C:\WinNt\Deneme.txt’);
Caption := Dosya; // C:\WinNt yazar
end;
İç içe kullanabileceğimiz fonksiyonlarda var. Bunlardan en çok kullanılan çalışan exe uygulamasının yolunu almaktır. Aşağıda ki işlemde Ornekler klasöründe Project1.exe uygulamasını inceleyiniz.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractFileDir(Application.ExeName); // Mesela C:\Program Files\Ornekler
end;
ExtractFileDrive(Yol);
Parametreyle belirtilen yolun ait olduğu ana root (c,d,e,f, vs.) adını döndüren fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption:= ExtractFileDrive(‘C:\WinNt\Deneme.txt’); // C yazar
end;
ExtractFileExt(Dosya_Yolu);
Parametre olarak girilen dosyanın uzantısını bulmak için kullanılan bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractFileExt(‘C:\WinNt\Deneme.txt’); // .Txt yazar
end;
ExtractFileName(Dosya_Yolu);
Parametre olarak girilen dosya yolundan dosyanın ismini söküp alabilen bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractFileName(‘C:\WinNt\Deneme.txt’); // Deneme yazar
end;
ExtractFilePath(Dosya_Yolu);
Parametre olarak girilen dosya yolunun bulunduğu bir üst klasörün ismini döndüren fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractFilePath(‘C:\WinNt\Deneme.txt’); // C:\WinNt yazar
end;
ExtractShortPathName(Dosya_Yolu);
Parametre ile belirtilen dosya yolunu, dosya ismi sekiz (uzantısı hariç) karakteri geçmeyecek şekilde gösteren bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
Caption := ExtractShortPathName(‘C:\WinNt\Deneme123456789.txt ’);
end;
WinExec(Dosya_Yolu , Seçenek);
Parametre ile girilen dosya yolundaki exe uzantılı dosyayı çalıştırmak için kullanılan (C’ de yazılmıştır) bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
begin
WinExec(‘C:\Avantaj\Ver6.1\Avantaj.Exe’ , SW_SHOW); // Avantaj uygulamasını çalıştır
end;
Burada kullanılan birinci parametre katar tipinde bir değişken PChar tarafından tutulabilmektedir. Şayet edit kutusunda yazmış olduğunuz dosya yolundaki exe uygulamasını çalıştırmak isterseniz aşağıdaki gibi bir kodlama kullanmalısınız.
Procedure TForm1.Button1Click(Sender; Object);
var
Dosya : PChar;
begin
Dosya := PChar(Edit1.Text); // Katarı AnsiStringe çevir
WinExec(Dosya , SW_SHOW);
end;
Fonksiyonda kullanılan ikinci parametre (girilmesi zorunludur) exe dosyasının çalışma şeklini belirlemek için kullanılmaktadır. Program ekranı kaplasın mı, taskbar da mı açılsın vs. seçeneklerini bu parametreyle belirleyebilirsiniz. Aşağıda ikinci parametre yerine kullanabileceğiniz tüm seçenekler verilmiştir.
SW_HIDE=0;
SW_SHOW=5;
SW_SHOWNORMAL=1;
SW_MINIMIZE=6;
SW_NORMAL=1;
SW_SHOWMINNOACTIVATE=7;
SW_SHOWMINIMIZED=2;
SW_SHOWNA=8;
SW_SHOWMAXIMIZED=3;
SW_RESTORE=9;
SW_MAXIMIZE=3;
SW_SHOWDEFAULT=10;
SW_SHOWNOACTIVATE=4;
SW_MAX=10;
bireyerden buldum we sizin için test ettım çalısıor:hhman: