Einzelnen Beitrag anzeigen

needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Bilder per Drag & Drop sortieren

  Alt 18. Mär 2011, 10:32
Jetzt funktionierts,
lese einfach die Sortiernummer der jeweiligen ID(Tag) aus, suche in der DB, ersetze die Sortiernummern
und lade die Bilder erneut in das Grid.

Danke nochmal.

Delphi-Quellcode:
procedure TForm1.MyDragDrop
  (Sender, Source: TObject; X, Y: Integer);
var
  tImg: TImage;
  Picx, Picy, Sort_Sender, Sort_Source: integer;
begin
  // Tags der Bilder
  Picx := (Sender as TImage).Tag; //1
  Picy := (Source as TImage).Tag; //5
  // Sortiernummern der Bilder
  qryBilder.Locate('ID', Picx, []);
  Sort_Sender := qryBilder.FieldByName('SORT').AsInteger;
  qryBilder.Locate('ID', Picy, []);
  Sort_Source := qryBilder.FieldByName('SORT').AsInteger;
  tImg := TImage.Create(Self);
  tImg.AutoSize := false;
  tImg.Stretch := true;
  tImg.Picture.Assign((Sender as TImage).Picture); // Ziel-Bild zwischenspeichern
  if Source is TImage then
    try
      (Sender as TImage).Picture.Assign((Source as TImage).Picture);
      (Source as TImage).Picture.Assign(tImg.Picture); // Zwischengespeichertes Bild einfügen
      // Sortiernummern der jeweiligen ID(Tag) in die DB eintragen
      qryBilder.Locate('ID', Picx, []);
      qryBilder.Edit;
      qryBilder.FieldByName('SORT').AsInteger := Sort_Source;
      qryBilder.Locate('ID', Picy, []);
      qryBilder.Edit;
      qryBilder.FieldByName('SORT').AsInteger := Sort_Sender;
      qryBilder.Post;
    finally
      tImg.Free;
    end;
  LoadPics(PosDSet.FieldByName('ID').AsInteger);
end;
  Mit Zitat antworten Zitat