Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Čitanje vrednosti iz INI fajla

[es] :: Pascal / Delphi / Kylix :: Čitanje vrednosti iz INI fajla

[ Pregleda: 2238 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Xabre
Srđan Rajčić
Beograd

Član broj: 13192
Poruke: 34
*.mcsoft.co.yu

Jabber: Srdjan@elitesecurity.org
ICQ: 280236914


Profil

icon Čitanje vrednosti iz INI fajla11.12.2003. u 09:43 - pre 248 meseci
Pre dve nedelje sam počeo da malo učim Delfi, pa mi je potrebna mala pomoć. Napravio sam neki programčić za čitanje baze, i naravno opciju za čuvanje izgleda prozora tj. DBgrid-a. Tak kod sam stavio u klasu i napravio dve funkcije za čitanje vrednosti DBgida tj. width-a i da li je ta kolona vidljiva - i to radi. Međutim problem se javio kod čitanja vrednsti iz ini-ja.
Funkcija koja snima vrednsti u ini izgleda ovako:
----------------------------------------------------
function TmojIni.SnimiIni (nKolona : integer) : integer;
var
i, rez, sir : integer;
saveIni : TIniFile;
begin
saveIni := TIniFile.Create('c:\demo\ispp.ini');
rez := Main.GetVisibleColumnsCount;

for i := 0 to rez - 1 do begin
sir := Main.DBGrid1.Columns.Items.Width;
saveIni.WriteString('Sirina kolone', 'Kolona_' + IntToStr(i), IntToStr(sir));
end;
saveIni.Free;
end;
---------------------------------------------------
A funkcija koja bi trebala da pročita, bar ona zadnja koju sam probao glasi ovako:
------------------------------------------------------
function TmojIni.UcitajIni(nKolona : integer) : integer;
var
i, rez, sir : integer;
openIni : TIniFile;
begin
openIni := TIniFile.Create('c:\demo\ispp,ini');
(*
for i := 0 to rez do begin
openIni.ReadSections(Main.DBGrid1.Columns.Items);
openIni.ReadSection('Kolona_', StrToInt(Main.DBGrid1.Columns.Items));
openIni.ReadSectionValues('Kolona_', Main.DBGrid1.Columns.Items);
end;
openIni.Free;*)
end;
--------------------------------------------------

Ima li neko ideju? :)
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
*.verat.net



+11 Profil

icon Re: Čitanje vrednosti iz INI fajla11.12.2003. u 11:25 - pre 248 meseci
Bice da si omasio sekciju. Koliko vidi u funkciji za upis sekcija se zove "Sirina kolone" a ti su kod ReadSection tražio sekciju sa imenom "Kolona###".

Mislim da ti ReadSection i ReadSections linije uopšte ne trebaju. a ReadSectionValues ti vraca TStringList iz koga dodatno treba da pročitaš stvarna imena kolona i pridružene im vrednosti širina.

Peđa
 
Odgovor na temu

Xabre
Srđan Rajčić
Beograd

Član broj: 13192
Poruke: 34
*.mcsoft.co.yu

Jabber: Srdjan@elitesecurity.org
ICQ: 280236914


Profil

icon Re: Čitanje vrednosti iz INI fajla11.12.2003. u 11:33 - pre 248 meseci
Citat:
broker:
Bice da si omasio sekciju. Koliko vidi u funkciji za upis sekcija se zove "Sirina kolone" a ti su kod ReadSection tražio sekciju sa imenom "Kolona###".

Mislim da ti ReadSection i ReadSections linije uopšte ne trebaju. a ReadSectionValues ti vraca TStringList iz koga dodatno treba da pročitaš stvarna imena kolona i pridružene im vrednosti širina.

Peđa


Da, za omašenu sekciju jesi u pravu. :) Tu funkciju sam stavio čisto da bi bilo malo jasnije šta mi je potrebno, znam da je neispravna :)
Ovde reč o tome, kako da pročitam vrednosti koje su dodeljene Kolona_1, Kolona_2 .... koje se nalaze u sekciji Sirina kolone? Pretpotstavio sam da bi ReadSectionValues trebao da odradi posao, ali mi izbacuje grešku TString i TColumn.
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
*.verat.net



+11 Profil

icon Re: Čitanje vrednosti iz INI fajla11.12.2003. u 12:00 - pre 248 meseci
Pa rekao sam ti. ReadSectionValues vraća TStrings (TStringList) i ne možes to dodeljivati promenljivoj TColumn tipa.

Napravi promenljiv tipa TStringList pa njoj dodeli vrednost koju vrati ReadSectionValues pa onda procitaj podatke o kolonama.

Ja doduše više volim da odradim peške onako kako si počeo sa petljom i sa ReadString.

U tom slučaju u funkciji koja upisuje podatke teba da dodaš komandu da upišeš i broj kolona koje se upisao. U funkciji za čitanje prvo pročitaj broj kolona da bi znao koliko puita treba da se čita petlja a u i petlji čitaj sa

sirina := ReadString ('Sirina kolone', 'Kolona_' + IntToStr(i), '20');


Preporuka je da umesto WriteString i ReadString koristiš WriteInteger i ReadInteger jer je tako prirodnije i nemaš potrebu da dodatno vršiš konverziju tipova. Ja sam ih u primeru koristio samo zato što si tako počeo pa da te ne zbunjujem pošto je princip identičan.

Sve ovo ti lepo piše u help-u.

Da nisi pre Delphija koristio neki BASIC?
 
Odgovor na temu

Xabre
Srđan Rajčić
Beograd

Član broj: 13192
Poruke: 34
*.mcsoft.co.yu

Jabber: Srdjan@elitesecurity.org
ICQ: 280236914


Profil

icon Re: Čitanje vrednosti iz INI fajla11.12.2003. u 12:11 - pre 248 meseci
OK, zanimljive ideje probaću ih da vidim kako bi to išlo.

BASIC? Pa ne baš, ali jesam malo učio C pre Delphija.

 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Čitanje vrednosti iz INI fajla

[ Pregleda: 2238 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.