Code:
var
my_list:TStringList;
i:int;
begin
my_list:=TStringList.Create; // ne secam dali je bas ovako, odavno nisam radio u delphi
my_list.LoadFromFile('c:\moj_delimited_fajl.txt');
for k:=0 to my_list.Count-1 do
begin
//insertuj novi slog u dataset
my_dataset.insert;
//counter za broj kolone pocinje sa nulom
p:=0;
while(Length(my_list[k])>0) do
begin
if(Pos(my_list[k],'|')>0)
begin
// kopiraj slova koja su ispred prvog znaka | i zadatu kolonu dataseta
my_dataset.Params.Params[p].AsString:=Copy(my_list[k],1,Pos(my_list[k],'|')-1);
// postojeci string dobija vrednost istog, bez slova ispred prve instance |
my_list[k]:=Copy(my_list[k],Pos(my_list[k],'|')+1,Length(my_list[k])-Pos(my_list[k],'|')-1) ;
end
else
begin
//kad e radi o zadnjem podatku, onda nemamo | i kopiramo ostatak stringa
my_dataset.Fields.Fields[p].AsString:=my_list[k];
my_list[k]:='';
end;
// predji na sledecu kolonu
inc(p);
end;
my_dataset.post; //postuj podatke u tabelu
end;
end;
Za da ovo radi, moras imati my_dataset, koji ce biti koji bilo objekat nasledjen iz TDataset-a, i imati isti broj kolona, kako sto ima fajl koji parsiras
princip je isti gore navedeni sa nekih malih izmena.
ukoliko ti nesto nije jasno, slobodno pitaj :)
[
Ovu poruku je menjao Riste Pejov dana 03.02.2003. u 10:58 GMT]
People who think they know everything tend to irritate those of us who do.