Einzelnen Beitrag anzeigen

Kernel32.DLL
(Gast)

n/a Beiträge
 
#2

Re: StringGrid Zelle markieren

  Alt 22. Dez 2004, 13:22
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
  Mit Zitat antworten Zitat