Here are three code snippets, two of them are working, one not
1. Working
tbl.First;
while not tbl.EOF do begins := '';
for i := 0 to tbl.Fields.Count-1 do begin
if i > 0 then
s := s + ';';
s := s + tbl.Fields.Fields.AsString;
end;
tbl.Next;
sl.Add(s);
end;
2. Working
tbl.First;
while not tbl.EOF do begin
s := '';
for i := 0 to tbl.Fields.Count-1 do begin
if i > 0 then
s := s + ';';
sn := tbl.Fields.Fields.Fieldname;
s := s + tbl.FieldByName(sn).AsString;
end;
tbl.Next;
sl.Add(s);
end;
while not tbl.EOF do begin
s := '';
for i := 0 to tbl.Fields.Count-1 do begin
if i > 0 then
s := s + ';';
sn := tbl.Fields.Fields.Fieldname;
s := s + tbl.FieldByName(sn).AsString;
end;
tbl.Next;
sl.Add(s);
end;
3. Not working, s is an empty string
tbl.First;
while not tbl.EOF do begin
s := '';
for i := 0 to tbl.Fields.Count-1 do begin
if i > 0 then
s := s + ';';
sn := tbl.Fields.Fields.Fieldname;
s := s + tbl.FieldValues[sn];
end;
tbl.Next;
sl.Add(s);
end;
while not tbl.EOF do begin
s := '';
for i := 0 to tbl.Fields.Count-1 do begin
if i > 0 then
s := s + ';';
sn := tbl.Fields.Fields.Fieldname;
s := s + tbl.FieldValues[sn];
end;
tbl.Next;
sl.Add(s);
end;