Ich hab' zufällig grad' sowas in meinem Programm eingebaut:
Delphi-Quellcode:
var
i, j: Integer;
s: string;
begin
{ if firstentry = true then
begin
listbox1.items.add('Englisch :: Deutsch');
firstentry := false;
end;}
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin
if (j>0) then s:=s+' :: ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s); //Oder wo du den String sonst haben willst
//listboxadded := true;
//StatusBar1.Panels[4].text := 'Einträge: ' + inttostr(listbox1.Items.count - 1);
s:= '';
end;
Das, was für dich uninteressant ist, habe ich mal ausgeklammmert. Zu beachten wäre noch, dass es sich hier um ein
DBGrid handelt, daher muss noch eine Anpassung an ein
StringGrid vorgenommen werden.(Ich hoffe mal, das ist möglich. Ich bin mir nicht hundertpro sicher, müsste aber eigentlich). Übrigens muss bei dieser Lösung der User auf das StringGrid klicken (mit rechts) und dann bei einem PopUp-Menü auf kopieren. So hab' ich den Code bei mir eingebaut.
Folgender Code kopiert einen String in die Zwischenablage:
(die
Unit "ClipBrd" muss mit eingebunden werden)
procedure Clipboard.SetTextBuf(Buffer: PChar);
Steht übrigens auch in der
OH...
Keep on coding
Daniel