Selam arkadaşlar;
Bir proje üzerinde çalışmaktayım.Veritabanı kullanmadan gerçekleştirmek istiyorum.
Maskedit1 Maskedit2 Maskedit3 gibi elemanlarını deneme.txt dosyasına alt alta yazdıracam.Programı açıp kapandığı anda maskedit1 maskedit2 maskedit3 te deneme.txt ye kaydettirilenler sırayla gelecek. tekrar kapanıp açılınca eğer değişiklik yapılmışsa dahi deneme.txt teki bilgiler maskeditlere yazacak. bunu listbox ile yapıyorum. ama program ilk açılınca listbox ı sanırım boş gördüüğü için hata veriyor.acaba memo mu kullanmalıyım? şimdiden teşekkürler.
txt dosyasına hem kaydettirme hemde içeriğini alma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- r_korkmaz44
- Üye
- Mesajlar: 63
- Kayıt: 11 Ara 2005 01:00
Re: txt dosyasına hem kaydettirme hemde içeriğini alma
direk dosyadan okuyun bence, memo kullanamanıza gerek yok. isterseniz şöyle bir şey yapın. Kaydedilmesini istediğiniz text nesnelerinin tag değerini 1, maskeditleri 2, groupboxları 3, ... gibi numaralandırın. sonra formun closequery olayına şöyle bir genel kayıt fonksiyonu yazın:
Formun onshow olayında:
Kolay gelsin.
Kod: Tümünü seç
procedure Tfr_anaform.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
var
exfile: TextFile;
i:integer;
begin
if (MessageDlg('Parametreleri kaydetmek istiyor musunuz?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
begin
AssignFile(exfile,ExtractFilePath(Application.ExeName) + 'Ayarlar.txt');
Rewrite(exfile);
for i:=0 to ComponentCount-1 do
begin
if Components[i].Tag = 1 then
Writeln(exfile,TEdit(Components[i]).Text)
else if Components[i].Tag = 2 then
Writeln(exfile,inttostr(TRadioGroup(Components[i]).ItemIndex))
else if Components[i].Tag = 3 then
Writeln(exfile,BoolToStr(TCheckBox(Components[i]).Checked,true))
else if Components[i].Tag = 4 then
Writeln(exfile,TMaskEdit(Components[i]).Text);
end;
CloseFile(exfile);
end;
end;
Kod: Tümünü seç
procedure Tfr_anaform.FormShow(Sender: TObject);
var
line: string;
exfile: TextFile;
i:integer;
begin
try
if FileExists('Ayarlar') then
begin
AssignFile(exfile, ExtractFilePath(Application.ExeName) + 'Ayarlar');
Reset(exfile);
for i:=0 to ComponentCount-1 do
begin
if Components[i].Tag = 1 then
begin
readln(exfile,line);
TEdit(Components[i]).Text := line;
end
else if Components[i].Tag = 2 then
begin
Readln(exfile,line);
TRadioGroup(Components[i]).ItemIndex := strtoint(line);
end
else if Components[i].Tag = 3 then
begin
Readln(exfile,line);
TCheckBox(Components[i]).Checked := StrToBool(line);
end
else if Components[i].Tag = 4 then
begin
Readln(exfile,line);
TMaskEdit(Components[i]).Text := line;
end;
end;
CloseFile(exfile);
end;
except
CloseFile(exfile);
DeleteFile('Ayarlar');
end;
end;
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: txt dosyasına hem kaydettirme hemde içeriğini alma
Ayrınca TIniFile sınıfını incelemenizi öneririm.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .