TStringList - parsiranje...

TStringList - parsiranje...

offline
  • l0s7 
  • Novi MyCity građanin
  • Pridružio: 04 Feb 2009
  • Poruke: 11

Nisam bas siguran da sam postavio pravilan naslov...

  Lista := TStringList.Create;   Lista.LoadFromFile('temp.txt');   while i < Lista.count do   begin     s := Lista[i];     AB := copy(s, 1, pos('QWE', s) -1)    //if AB = copy(s, 1, pos('QWE', s) -1) then Lista[i]:= AB; ?     inc(i);   end;

Trebam da procitam svaki string iz temp.txt, ako sadrzi npr NekaRecQWE
da upise samo NekaRec, ovo QWE se odbacuje.
Kako da postavim uslov da kada linija sadrzi QWE snimi u toj istoj liniji rezultat iz AB?

Hvala unapred!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Opet nisi inicijalizovao varijablu I pre petlje Smile

Lista := TStringList.Create;   Lista.LoadFromFile('temp.txt');     i := 0;   while i < Lista.count do   begin     if pos('QWE', lista[i]) > 0 then     lista[i] := copy(lista[i], 1, pos('QWE', lista[i]) -1);     inc(i);   end;

Inace, ukoliko ti je unapred poznato koliko krugova petlja treba da se izvrsi, onda je mozda zgodnije koristiti FOR petlju.
WHILE je zgodna ukoliko ti je potrebno da uslov petlje menjas u toku izvrsavanja same petlje.

Lista := TStringList.Create;   Lista.LoadFromFile('temp.txt');     for i := 0 to Lista.count -1 do   begin     if pos('QWE', lista[i]) > 0 then     lista[i] := copy(lista[i], 1, pos('QWE', lista[i]) -1);   end;

Imas jos jednu potencijalnu gresku - fajl 'temp.txt' trazis po relativnoj putanji koja se inace izracunava u odnosu na sadrzaj varijable CurrentDir.
Po startovanju programa, CurrentDir pokazuje na folder u kojem je tvoj program, ali ce se menjati ukoliko tvoj program pristupa razlicitim folderima na kompu.



offline
  • l0s7 
  • Novi MyCity građanin
  • Pridružio: 04 Feb 2009
  • Poruke: 11

Ne dozvoljava mi da pisem u TStringList kada mi je
lista.Sorted := true;
a kada izbacim ili stavim (sorted)posle izvrsavanja tog koda, onda duplira svaku liniju
cak i kada stavim
lista.Duplicates := dupIgnore





-k, hvala

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Ako ti ne dozvoljava upis, onda smestis sadrzaj linije u varijablu, izbacis ono sto ne treba da ima, obrises liniju iz StringList, pa je onda dodas ispravljenu sa Sortirana_Lista.Add(linija);

Ko je trenutno na forumu
 

Ukupno su 3885 korisnika na forumu :: 63 registrovanih, 9 sakrivenih i 3813 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 9191vs, A.R.Chafee.Jr., aramis s, Asparagus, avijacija, boban977, bojank, boromir, Bosnjo, BrcakRS, BtR-45, Bubimir, BWG, Chainsaw, Citalac, Clouseau, Djokkinen, djuradj, Dovla 1980, dragoljub11987, dusanobr, Giskard, Glavonja049, goxin, ikan, Jovan.D, Kamov, kaput21, Karaula, Kobrim, krkalon, Major Tankosić, mauglibn, MB120mm, mercedesamg, Metanoja, milimoj, milos.cbr, Nele79, niksa517, operniki, Orc, Panter, pein, Piicoki, Qvazimodo, raso76, Ray1973, ruma, sickmouse, strelac07, Tribal, Tumansky, VBoss, Vlada78, Volfero, Vrač, vuk77, vukan0799, Zastava, ZetaMan, zlizo, zombicar153