Hallo Quick_silver,
du kannst ja mit Selection feststellen, welche Zellen markiert sind und dann z.B. über das Cell-array direkt auf die entsprechenden Zellen zugreifen. Die Ergebnisse könntest du in eine Textdatei speichern:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j : Integer;
save : TextFile;
begin
{ Zum Test füllen }
for i := StringGrid1.Selection.Left to StringGrid1.Selection.Right do
for j := StringGrid1.Selection.Top to StringGrid1.Selection.Bottom do
StringGrid1.Cells[i,j]:= IntToStr(i)+'*'+IntToStr(j);
{ Selektion speichern }
AssignFile(save, 'C:\tmp\save_cells.txt');
Rewrite(save);
writeln(save, StringGrid1.Selection.Left);
writeln(save, StringGrid1.Selection.Right);
writeln(save, StringGrid1.Selection.Top);
writeln(save, StringGrid1.Selection.Bottom);
for i := StringGrid1.Selection.Left to StringGrid1.Selection.Right do
for j := StringGrid1.Selection.Top to StringGrid1.Selection.Bottom do
writeln(save, StringGrid1.Cells[i,j]);
CloseFile(save);
end;
Hier ein Beispielergebnis der Speicherung:
Code:
2
4
1
3
2*1
2*2
2*3
3*1
3*2
3*3
4*1
4*2
4*3
Der Code überprüft zur Zeit noch nicht, ob überhaupt eine Selektion stattgefunden hat.