[ inherited @ 15.10.2006. 15:36 ] @
U help-u sam nasao neki primer sa ini fajlovima, da ga ne pisem, pretpostavljam da ste ga vecina i
videli. Znaci ima dve procedure SaveSettings i LoadSettings. To funkcionise lepo sa TForm klasom.
U .ini pise:
Code:

[MainForm]
Left=192
Top=118
Width=300
Height=300

E sad, hteo bih na formu postaviti jedan TEdit u koji ce biti nesto upisano, neki text. Na formi bih
obradio event OnClose ili OnDestroy, gde ce se tad u taj ini fajl upisati text iz TEdit, njegovi
property kao i za TForm, a pri ponovnom startu programa, pored tih property -a za TEdit i TForm ucitace
se i poslednja vrednost texta koja je bila pri zatvaranju programa!?!

Hvala na svakoj pomoci, ako se to ne radi sa .ini fajlovima, molim vas, pokazite mi kako bi se to trebalo
profesionalno odraditi.
[ delalt @ 15.10.2006. 22:51 ] @
Pogledaj:
http://delphi.about.com/od/adptips2005/qt/storecontrolpos.htm
[ inherited @ 16.10.2006. 07:02 ] @
Hvala na odgovoru, ali kao sto sam rekao slican primer delphi ima u svom helpu. Ja bih hteo dopuniti ga jos jednom klasom TEdit i da se zapamti vrednost po gasenju programa u TEdit-u, pa da se pri ponovnom pokretanju iz .ini ili .txt ponovo ucita!?!
[ Nemanja Avramović @ 16.10.2006. 07:31 ] @
Nemam delphi ovde, ali mislim da bi ovo radilo:

Code:
uses inifiles;
...
//on form1.show (recimo)
var ini:tinifile;
begin
ini:=tinifile.create(extractfilepath(application.exename)+'data.ini');
edit1.text:=ini.readstring('section','variable','default vrednost'); //ovako ucitaj svaku vrednost, imas readstring, readinteger, ...
ini.free;

//on form1.close (recimo)
var ini:tinifile;
begin
ini:=tinifile.create(extractfilepath(application.exename)+'data.ini');
ini.writestring('section','variable',edit1.text); //ovako zapisi svaku vrednost, imas readstring, readinteger, ...
ini.free;
[ delalt @ 16.10.2006. 08:49 ] @
Citat:
inherited: Hvala na odgovoru, ali kao sto sam rekao slican primer delphi ima u svom helpu. Ja bih hteo dopuniti ga jos jednom klasom TEdit i da se zapamti vrednost po gasenju programa u TEdit-u, pa da se pri ponovnom pokretanju iz .ini ili .txt ponovo ucita!?!

Ako sam dobro shvatio, vrijednosti iz ini fajla bi trebalo ponovo da se prikažu u
TEdit, prilikom starta programa. Ako ini fajl izgledao ovako:
Code:
[MainForm]
Left=192
Top=118
Width=300
Height=300 

onda prilikom prikazivanja forme iščitaš vrijednosti i upišeš u Edit, odvojene tačka-zarezom.
Code:
var: 
  iniFile: TIniFile;
begin
  iniFile := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
  Edit1.Text := '';
  Edit1.Text := (Edit1.Text + iniFile.ReadString('MainForm', 'Left', '') + '; ');
  Edit1.Text := (Edit1.Text + iniFile.ReadString('MainForm', 'Top', '') + '; ');
  Edit1.Text := (Edit1.Text + iniFile.ReadString('MainForm', 'Width', '') + '; ');
  Edit1.Text := (Edit1.Text + iniFile.ReadString('MainForm', 'Height', '')); 
  FreeAndNil(iniFile) ; 
end; 

U Edit1 će biti prikazano '192; 118; 300; 300'
[ inherited @ 16.10.2006. 14:12 ] @
Nemanja, za sad mi je to to sto treba.
delat, ne vrednosti iz .ini fajla, nego vrednost iz TEdit da se upise u .ini fajl,
a po pokretanju programa da se ucita. Npr., ako u TEdit je 100, pri OnClose treba da se upise
u .ini fajl da u TEdit se nalazi vrednost = 100, a na TForm OnCreate da se ponovo iz .ini ucita
100 u TEdit, razumes?
[ Srdjan_exe @ 23.10.2006. 13:59 ] @
Evo ti deo iz jednog mog programcica, mozda pomogne.

CODE:

procedure TForm1.Button4Click(Sender: TObject);
begin

ini:= TIniFile.Create(extractfilepath(application.exename)+ 'kursevi.ini');

ini.WriteString('sectionKURS', 'variableDINAR_KURS', JvValidateEdit3.Text);
ini.WriteString('sectionKURS', 'variableKUNA_KURS', JvValidateEdit4.Text);
ini.WriteString('sectionKURS', 'variableMARKA_KURS', JvValidateEdit5.Text);

ini.Free;

end;

procedure TForm1.Button5Click(Sender: TObject);
begin

ini:= TIniFile.Create(extractfilepath(application.exename)+ 'kursevi.ini');

DinarStr:= ini.ReadString('sectionKURS', 'variableDINAR_KURS', '');
KunaStr:= ini.ReadString('sectionKURS', 'variableKUNA_KURS', '');
MarkaStr:= ini.ReadString('sectionKURS', 'variableMARKA_KURS', '');

JvValidateEdit3.Text:= DinarStr;
JvValidateEdit4.Text:= KunaStr;
JvValidateEdit5.Text:= MarkaStr;

ini.Free;

end;
[ Srdjan_exe @ 23.10.2006. 14:01 ] @
Dakle prva procedura upisuje u ini a druga cita iz njega.