Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Bild in andere Datenbank kopieren (https://www.delphipraxis.net/166354-bild-andere-datenbank-kopieren.html)

blondervolker 9. Feb 2012 09:35

Datenbank: ADO Access • Version: 4 • Zugriff über: Delphi

Bild in andere Datenbank kopieren
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hab mal wieder die A...Karte.

Hab ein Bild von einer Datenbank 1 und Text in die andere Datenbank 2 kopiert.Das geht wunderbar.

Aber habe ich in einem Datensatz in der Datenbank1 kein Bild,bekomme ich eine Fehlermeldung:--->>> Das Format wird in der Zwischenablage nicht unterstützt.

Was habe ich falsch gemacht? :oops:

Code:
Delphi-Quellcode:
procedure TForm1.bernahmederDatenindieJobdatenbank1Click(Sender: TObject);
begin
Form17.Show;
Form17.ADOTable1.Insert;
Clipboard.Assign(DBImage1.Picture);
Form17.DBImage1.PasteFromClipboard;
Clipboard.Clear;//Bild1
DBEdit10.SelectAll;
DBEdit10.CopyToClipboard;
Form17.DBEdit10.PasteFromClipboard;
Clipboard.Clear; //Telefon

Form17.ADOTable1.Post;
end;

Sharky 9. Feb 2012 09:41

AW: Bild in andere Datenbank kopieren
 
Warum machst Du das denn mit copy/paste?
Das finde ich mehr als unsauber. Lese die Daten aus der einen Datenbank, speichere sie in einem passenden Objekt, und speichere sie dann in der anderen Datenbank.

Je nach dem kannst Du das zwichenspeichern auch weglassen.

blondervolker 9. Feb 2012 09:58

AW: Bild in andere Datenbank kopieren
 
Mag unsauber sein.Aber wie kann ich es anders machen mit zwischenspeichern? Hab ich noch nicht gemacht.Weiß nicht wie es geht.:oops:

Perlsau 9. Feb 2012 10:06

AW: Bild in andere Datenbank kopieren
 
Zitat:

Zitat von blondervolker (Beitrag 1150046)
Das Format wird in der Zwischenablage nicht unterstützt.
Was habe ich falsch gemacht? :oops:

Genau das, was die Fehlermeldung dir sagt: Du hast versucht, in die Zwischenablage ein Format hineinzukopieren, das diese nicht unterstützt.

Das Clipboard ist dem Anwender vorbehalten und sollte nicht dazu mißbraucht werden, Daten hin- und herzuschaufeln. Den Text des Quell-Edits kannst du in eine String-Variable kopieren und dem Ziel-Edit zuweisen. Das Bild des Quell-Bitmaps kopierst du in eine lokale Bitmap-Variable und weist dieses dem Ziel-Bitmap zu.

Sir Rufo 9. Feb 2012 17:11

AW: Bild in andere Datenbank kopieren
 
:shock: Von welchem Baum muss man denn naschen um auf so eine Idee zu kommen?

Delphi-Quellcode:
procedure TForm1.bernahmederDatenindieJobdatenbank1Click(Sender: TObject);
begin
  Form17.Show;
  Form17.ADOTable1.Insert;
 
  Form17.DBImage.Picture.Assign( DBImage1.Picture );
  Form17.DBEdit10.Value := DBEdit10.Value;

  Form17.ADOTable1.Post;
end;
Wenn da kein Bild ist, dann braucht man ja auch kein Bild zu übergeben, bzw. dann schmeißt das Zuweisen (Assign) eben eine Exception.
Also sollte man vor dem Zuweisen prüfen, ob es was zum Zuweisen gibt.

Hört sich komisch an? - Ist aber so! :mrgreen:

blondervolker 9. Feb 2012 18:41

AW: Bild in andere Datenbank kopieren
 
Ja in meinem Hinterstübchen hatte ich die Jdee...Aber ich erde es gleich
mal probieren.:-D

Danke

blondervolker 10. Feb 2012 13:02

AW: Bild in andere Datenbank kopieren
 
Guten Taaaccchhhhh,:-D

aber wo soll ich denn diese Exeption einfügen?
Habe kein Plan,weil ich bisher noch nie eine eingebaut habe...:oops:

:oops:

Sir Rufo 10. Feb 2012 18:26

AW: Bild in andere Datenbank kopieren
 
Zitat:

Zitat von blondervolker (Beitrag 1150313)
aber wo soll ich denn diese Exeption einfügen?

Wieso willst du denn jetzt eine Exception einbauen? Reicht dir nicht die, die da schon kommt?

DeddyH 10. Feb 2012 18:27

AW: Bild in andere Datenbank kopieren
 
Doppelt hält eben besser :mrgreen:

NickelM 22. Feb 2012 03:21

AW: Bild in andere Datenbank kopieren
 
Versuch es mal mit Picture.Graphic auf nil zuprüfen . Soviel ich weis sollte es Überprüfen, ob ein Image zugewiessen wurde. In Graphic steckt die abgeleiteten Klasse von den Bildern. z.b TPingImage für Pngs, TJpegImage für Jpgs, und auch TBitmap was auch von Graphic abstammt.
Habe es getestet mit Bitmaps und Pngs. Sollte funkten.

Delphi-Quellcode:
procedure TForm1.bernahmederDatenindieJobdatenbank1Click(Sender: TObject);
begin
  Form17.Show;
  Form17.ADOTable1.Insert;
 
  if DBImage1.Picture.Graphic <> nil then //Wenn nicht zugewiessen also kein Bild
  Form17.DBImage.Picture.Assign( DBImage1.Picture );
  Form17.DBEdit10.Value := DBEdit10.Value;

  Form17.ADOTable1.Post;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz