Witam,
mam problem z funkcją COPY.
Otóż mam w bazie w jednym rekordzie wpisane dane po przecinku, i chcę je wyodrębnić do osobnych rekordów
np Ala, Ma, Kota do
Ala
Ma
Kota
procedure Tslownik_podczas_pracy.Button3Click(Sender: TObject);
begin
SetLength(Tab, 80);
poczatek:=1;
numer:=0;
while not(DBGrid1.DataSource.DataSet.Eof) do
begin
DBGrid1.SelectedRows.CurrentRowSelected := True;
memo3.Clear;
if not(DBGrid1.DataSource.DataSet.Fields[1].IsNull) then
begin
Memo3.Lines.Add(DBGrid1.Fields[1].ASString);
//
sText := Memo3.Lines.Text; // caly text
koniec := Length(sText); // dlugosc calego tekstu
for I := 0 to koniec do
begin
przecinek:=(Pos(',',sText)); // podaje pozycje pierwszego przecinka
if not(przecinek=0) then //jezeli przecinek jest
begin
Delete(sText,przecinek,1); // usuwam przecinek
Tab[numer]:=copy(sText,poczatek,przecinek); // od poczatku do przecinka kopiuje wyraz do tablicy
poczatek:=przecinek+1; // nowy poczatek po przecinku
numer:=numer+1;
end;
// jezeli ostatni wyraz to go kopiujemy do Tablicy
if(i=koniec) then
begin
Tab[numer]:=copy(stext,poczatek,koniec);
end;
end;
poczatek:=1;
numer:=0;
end;
DBGrid1.SelectedRows.CurrentRowSelected := False;
DBGrid1.DataSource.DataSet.next;
end;
end;
Pierwszy wyraz zwraca poprawnie: Ala
Drugi wyraz nie wiem czemu zwraca: Ma Kota
Ostatni wyraz zwraca poprawnie Kota
Może to jakieś przeoczenie albo źle to robię ale męczę się i nie mogę sobie poradzić.
Proszę o pomoc.