[ joeya1k @ 31.03.2008. 17:15 ] @
Hocu preko memo-a iz datoteke svaku liniju redom da ubacujem u string da bi ih obradio.
Nesto ovako:
linija:string;
memo.Lines.LoadFromFile(Dat);
for i:=1 to brLinija do
begin
linija:= i-ta linija iz datoteke
end;

Probao sam sa memo.Lines.Strings, Text ali nece...
Hvala unapred.


[ nikomak @ 31.03.2008. 17:43 ] @

Code:

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  S: String;
begin
 Memo1.Lines.LoadFromFile('c:\nekifajl.txt');
 for I := 0 to Memo1.Lines.Count - 1 do
  begin
   S := Memo1.Lines[i];
   Obradi(S);
  end;
end;


A zasto preko memo-a da obradjujes fajl ?
Pogledaj u Help-u TFileStream klasu.


[ joeya1k @ 31.03.2008. 18:17 ] @
Hvala na odgovoru.
Video sam da moze ovako preko memo-a i izgledalo mi je jednostavno pa sam probao.

Ovako kao sto si napisao sam vec probao i ocekivao sam da radi ali problem je sl.
U txt fajlu imam 3 linije teksta i svaka je duzine 10 karaktera. Rezultat za Memo1.Lines.Count bude 6, a S bude prvih 5 karaktera od prve linije. I tako redom...
Dok sam pravio to ovih dana primetio sam da mi je S bio duzine 7 karaktera, pa je onda lepo citao, sad cita po 5... nije mi jasno sta se dogadja.

Ako ima neke veze, ovo je stavljeno da se odradi na TForm1.FormCreate. Verzija Delphija je iz CodeGear RADStudio 2007.
[ reiser @ 31.03.2008. 19:13 ] @
Jesi probao da iskljucis WordWrap za taj memo ? ;\

Anyways, samo komplikujes stvari:

Code:

var
  SFile : TextFile;
begin
  AssignFile(SFile, 'fajl.txt');
  Reset(SFile);
    While not EOF(SFile) Do
    Begin
      ReadLn(SFile, FLine);
      // obradjujes FLine...
    End;
  CloseFile(SFile);


A mozes i preko TFileStream kao sto je Nikola rekao.
[ viking13 @ 31.03.2008. 20:10 ] @
A možeš da koristiš i TStringList.

Kad već koristiš D2007, najlakše je ovako.

Code:

procedure TForm1.FormCreate(Sender: TObject);
var
  s: string;
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    sl.LoadFromFile('fajl.txt');
    for s in sl do
    begin
      // obradi s
    end;
    sl.SaveToFile('fajl.txt');
  finally
    sl.Free;
  end;
end;
[ joeya1k @ 31.03.2008. 21:26 ] @
Radi :) U pitanju je bio WordWrap, cim sam stavio na false, sve radi kako treba.
Probacu i ostale predloge, hvala svima na pomoci.