Arkadaşlar Merhaba; ComboBox1 içerisinde 4 Adet alanım var;
RAPOR_KODU5
ACIK1
ACIK2
ACIK3
ComboBox1 de hangi alanı seçersek programa her girdiğinde seçmiş olduğu alanın gelmesini nasıl sağlarım?
Mesela ;
ACIK2 seçildi her programa girdiğinde ACIK2 gelecek.
veya
RAPOR_KODU5 seçti programdan çıkıp girdiğinde RAPOR_KODU5 gelecek.
ComboBox1 İçeriğini Kaydetmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: ComboBox1 İçeriğini Kaydetmek
Uygulamadan çıkarken son seçimi bir ini dosyasına ya da windowsun register'sine kaydedebilirsiniz. Uygulama açılırken de bu değerleri okuyup ilgili nesneleri atayabilirsiniz. Bunu dinamik bir şekilde yapabilirsiniz. Örneğin nesnelerin tag özelliğini kullanıp, tag değeri 1 olanların hepsinin saklanmasını veri yüklemesini sağlamak mümkün.
Kod: Tümünü seç
procedure TMyForm.FormShow(Sender: TObject);
var
line: string;
exfile: TextFile;
i:integer;
begin
try
if FileExists(ExtractFilePath(Application.ExeName)+'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;
end;
CloseFile(exfile);
end;
except
CloseFile(exfile);
DeleteFile('Ayarlar');
end;
end;
procedure TMyForm.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');
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));
end;
CloseFile(exfile);
end;
end;