Hallo Alex,
die Zeilennummern sind ja Bestandteil deiner Beispieldaten, also werden sie auch mit ausgegeben. Wenn du das unterdrücken möchtest, dann vielleicht so:
Delphi-Quellcode:
procedure SaveGrid(sg: TStringGrid; s: TStream; so: TSaveOptions = []);
var
iLow, iHigh, i, n: Integer;
ss: TStringStream;
bSaveCols, bExcludeFixed: Boolean;
sl: TStrings;
begin
ss := TStringStream.Create('
');
sl := TStringList.Create;
with sg
do
begin
bSaveCols := soSaveCols
in so;
bExcludeFixed := soExcludeFixed
in so;
if bSaveCols
then
begin
iLow := IfThen(bExcludeFixed, FixedCols);
iHigh := Pred(ColCount);
end else
begin
iLow := IfThen(bExcludeFixed, FixedRows);
iHigh := Pred(RowCount);
end;
for i := iLow
to iHigh
do
begin
ss.Size := 0;
if bSaveCols
then
begin
sl.Assign(Cols[i]);
n := FixedRows;
end else
begin
sl.Assign(Rows[i]);
n := FixedCols;
end;
if bExcludeFixed
then
while n > 0
do
begin
sl.Delete(0);
Dec(n);
end;
ss.WriteString(sl.CommaText + sLineBreak);
ss.Position := 0;
s.CopyFrom(ss, ss.Size);
end;
end;
sl.Free;
ss.Free;
end;
Getippt und nicht getestet.
Freundliche Grüße