ini v drugi formi

Odpiranje, tiskanje, pisanje v datoteke in drugo.
Odgovori
G16
Prispevkov: 462
Pridružen: 11.02.2005 21:54:48

ini v drugi formi

Odgovor Napisal/-a G16 » 15.02.2006 19:50:35

Živjo!
Ko odtipkam tole mi ne dela

Koda: Izberi vse

 
procedure TForm1.FormDestroy(Sender: TObject);
var
  MyIni: TIniFile;
  S: string;
begin
  S := ParamStr(0);
  S := ExtractFilePath(S);
  S := S + 'barva.ini';
  MyIni := TiniFile.Create(S);
  MyIni.WriteInteger('Barva','Ozadje',nast.ColorGrid1.BackgroundIndex);
  MyIni.WriteInteger('Barva','Panel',nast.ColorGrid1.ForegroundIndex);
  MyIni.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  MyIni: TIniFile;
  S: string;
begin
nast.Show;
   S := ParamStr(0);
  S := ExtractFilePath(S);
  S := S + 'barva.ini';
  MyIni := TiniFile.Create(S);
  nast.ColorGrid1.BackgroundIndex := MyIni.ReadInteger('Barva','Ozadje',0);
  nast.ColorGrid1.ForegroundIndex := MyIni.ReadInteger('Barva','Panel',15);
  MyIni.Free;

 
Ne dela.
A ko odtipkam tole:

Koda: Izberi vse

 
procedure TForm1.FormDestroy(Sender: TObject);
var
  MyIni: TIniFile;
  S: string;
begin
  S := ParamStr(0);
  S := ExtractFilePath(S);
  S := S + 'barva.ini';
  MyIni := TiniFile.Create(S);
  MyIni.WriteInteger('Barva','Ozadje',ColorGrid1.BackgroundIndex);
  MyIni.WriteInteger('Barva','Panel',ColorGrid1.ForegroundIndex);
  MyIni.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  MyIni: TIniFile;
  S: string;
begin
nast.Show;
   S := ParamStr(0);
  S := ExtractFilePath(S);
  S := S + 'barva.ini';
  MyIni := TiniFile.Create(S);
 ColorGrid1.BackgroundIndex := MyIni.ReadInteger('Barva','Ozadje',0);
  ColorGrid1.ForegroundIndex := MyIni.ReadInteger('Barva','Panel',15);
  MyIni.Free;

 
pa dela( ko imam ColorGrid1 v Form1)...
Kako bi naredil da bi imel ColorGrid1 v drugi formi, (ki se na začetku ne odpre Form:nast),
potem kar javi napako. Kako bi naredil, da bi nekako zaznal drug forum, ko bi odprl Form1, in s tem odpravil
napako?
Pa še eno vprašanje:

Koda: Izberi vse

   MyIni.WriteInteger('Player','Name',Edit5.text);
  Edit5.text := MyIni.ReadInteger ('Player','Name',0);
 
Kako bi naredil, da kar bi pisalo v Edit5 se bi shranilo v ini datoteko pod [Player] Name=negdo.
Za odgovore se vam že v naprej zahvaljujem.:)
Napisal G16 (nekdanji G11,G14,G15°) Uporabljam: Delphi7 Ent.
http://delphi4u.awardspace.com/
Čas teče naprej...

Silver_War
Prispevkov: 664
Pridružen: 01.06.2004 14:50:41

ini v drugi formi

Odgovor Napisal/-a Silver_War » 16.02.2006 10:31:13

Če hočeš naložit nastavitve za ColorGrid, ki se ti nahaja na drugi formi, ki ni kreirana takoj po zagonu programa, potem naloži nastavitve v OnCreate eventu tiste forme. Isto tako jih tudi lahko shranjuješ. To se pravi, da vsaka forma bere in shranjuje samo svoje nastavitve.
Pa še eno vprašanje:

Koda: Izberi vse

MyIni.WriteInteger('Player','Name',Edit5.text);
  Edit5.text := MyIni.ReadInteger ('Player','Name',0);


Kako bi naredil, da kar bi pisalo v Edit5 se bi shranilo v ini datoteko pod [Player] Name=negdo.
Dej še enkrat malo poglej kodo, in boš videl, da s tvojo kodo shranjuješ vrednos integer, a ti hočeš shraniti vrednost stringa. Za to pa nemesto WriteInteger ter ReadInteger uporabiš WriteString ter ReadString;

Koda: Izberi vse

 MyIni.WriteString('Player','Name',Edit5.text);
  Edit5.text := MyIni.ReadString('Player','Name',0); 

Odgovori