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;