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

TStringList problem

[es] :: Pascal / Delphi / Kylix :: TStringList problem

[ Pregleda: 1768 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.rs.



+1 Profil

icon TStringList problem27.09.2009. u 20:09 - pre 177 meseci
Mozda previse trazin od TStringList, ali sledeci kod ne radi dobro:
Code:

procedure ZapamtiSve;
var
  i : integer;
  CData : ^tCvorData;
  Ime : string[255];
  Tekstovi : TStringList;
begin
  if MainForm.TreeView1.Items[0].Text = 'Project' then exit;

  Tekstovi := TStringList.Create;
  
  Ime := MainForm.TreeView1.Items[0].Text;
  for i := 0 to MainForm.TreeView1.Items.Count-1 do
  begin
    CData := MainForm.TreeView1.Items[i].Data;
    Tekstovi.Append(CData^.tekst);
  end;
  Tekstovi.SaveToFile(Ime+'.txt'); //ovde je Tekstovi[0] i Tekstovi[1] OK

  Tekstovi.LoadFromFile(Ime+'.txt'); //posle ovog Tekstovi[0] je samo prvi red, a Tekstovi[1] prazan string

end;
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
93.86.158.*



+62 Profil

icon Re: TStringList problem28.09.2009. u 10:04 - pre 177 meseci
A da li si proverio koliko Tekstovi imaju stringova/linija posle ucitavanja iz fajla? Drugim recima, da li si siguran da nema i trece linije? ;)

Evo o cemu se radi. Kad se ucitava sadrzaj iz fajla, to se radi koriscenjem stream-a i (protected) metodom SetTextStr(). Ovo je isto kao da u programu pozovemo npr.

Code:
Tekstovi.Text := S; // S je string sadrzaj iz fajla 


Poenta je da, ako u nekoj liniji imate karakter delimiter (#13 ili #10, ili oba zajedno), metoda automatski cepa tu liniju na dve. Sto dalje znaci, da vise uzastopnih delimitera znaci vise uzastopnih praznih linija. Treba proveriti...

Rajko
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: TStringList problem

[ Pregleda: 1768 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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