Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Bildpfad eines TImages abspeichern (https://www.delphipraxis.net/194004-bildpfad-eines-timages-abspeichern.html)

Luca Haas 5. Okt 2017 07:54

Datenbank: MSSQL • Version: ? • Zugriff über: TADO Query

Bildpfad eines TImages abspeichern
 
Hi Leute,
ich versuche aktuell den Pfad eines Bildes in einer Datenbank abzuspeichern.

Allerdings habe ich das Problem, dass ich alles nur als "TPicture" und nicht als richtigen Pfad speichere

Delphi-Quellcode:
// Bild einfügen
procedure TForm1.Image1DblClick(Sender: TObject);
begin
  Image1.Stretch := true;
  if OpenPictureDialog1.Execute then
  begin
    Image1.Picture.LoadFromFile(OpenPictureDialog1.filename);
    KST_LagerbewertungQuery.Edit;
    Image1.Picture.SaveToFile(KST_LagerbewertungQuery.FieldByName('Bildpfad').AsString);
    KST_LagerbewertungQuery.Post;
  end;
end;
Das ist die entsprechende Stelle im Code, hoffe jemand kann mir weiterhelfen
MfG Luca

TiGü 5. Okt 2017 08:08

AW: Bildpfad eines TImages abspeichern
 
Die Lösung ist total simpel, aber es würde für dich als Auszubildenden keinen Lerneffekt geben, wenn wir dir die fertige Lösung hinknallen.

Bitte kommentiere deinen Quelltext mal Zeile für Zeile: WAS und WARUM machst du in der jeweiligen Zeile.
Anhand dessen können wir dir Schritt für Schritt helfen. :idea:

Luca Haas 5. Okt 2017 08:14

AW: Bildpfad eines TImages abspeichern
 
Delphi-Quellcode:
procedure TForm1.Image1DblClick(Sender: TObject);
begin
  Image1.Stretch := true; // Bildgröße anpassen
  if OpenPictureDialog1.Execute then //Abfrage ob OpenPictureDialog ausgeführt wurde
  begin
    Image1.Picture.LoadFromFile(OpenPictureDialog1.filename); //laden des Bildes aus dem OpenPictureDialog
    KST_LagerbewertungQuery.Edit; //Query Bearbeitung Beginnen
    Image1.Picture.SaveToFile(KST_LagerbewertungQuery.FieldByName('Bildpfad').AsString); //Bildpfad abspeichenr ?! :?:
    KST_LagerbewertungQuery.Post; //Query Bearbeitung beenden
  end;
end;

TiGü 5. Okt 2017 08:16

AW: Bildpfad eines TImages abspeichern
 
Ok, jetzt bitte die folgende Zeile mithilfe einer Zwischenvariablen auflösen:

Delphi-Quellcode:
Image1.Picture.SaveToFile(KST_LagerbewertungQuery.FieldByName('Bildpfad').AsString);

Luca Haas 5. Okt 2017 08:24

AW: Bildpfad eines TImages abspeichern
 
Meinst du sowas wie
Delphi-Quellcode:
 
a := KST_LagerbewertungQuery.FieldByName('Bildpfad').AsString;
Image1.Picture.SavetoFile(a);
Bin mir nicht sicher ob ich weiß was Zwischenvariablen sind

Glados 5. Okt 2017 08:27

AW: Bildpfad eines TImages abspeichern
 
Zitat:

Ok, jetzt bitte die folgende Zeile mithilfe einer Zwischenvariablen auflösen:
Ok, und jetzt gebe deinen Variablen bitte anständige und verständliche Namen ;)

Luca Haas 5. Okt 2017 08:30

AW: Bildpfad eines TImages abspeichern
 
Delphi-Quellcode:
Bild := KST_LagerbewertungQuery.FieldByName('Bildpfad').AsString;
Image1.Picture.SavetoFile(Bild);
Versteh ich grade was falsch, es ist doch egal wie die Variablen heißen, oder nicht ?

Glados 5. Okt 2017 08:35

AW: Bildpfad eines TImages abspeichern
 
Zitat:

es ist doch egal wie die Variablen heißen, oder nicht ?
Nein eben nicht. Es gehört zum guten Ton bzw. zu gutem Code auch verständliche Variablennamen zu verwenden.

Zitat:

Allerdings habe ich das Problem, dass ich alles nur als "TPicture" und nicht als richtigen Pfad speichere
Dazu habe ich eine Frage. Wieso bist du der Meinung du speicherst ein "TPicture" ab? Was ist deiner Meinung nach denn ein TPicture und was kommt tatsächlich auf deiner Festplatte an?

DeddyH 5. Okt 2017 08:38

AW: Bildpfad eines TImages abspeichern
 
Mal eine kleine Korrektur, vielleicht fällt es dann auf:
Zitat:

Delphi-Quellcode:
//laden des Bildes aus dem OpenPictureDialog

-->
Delphi-Quellcode:
//laden des Bildes aus der im OpenPictureDialog ausgewählten Datei (ganzer Pfad)

TiGü 5. Okt 2017 08:38

AW: Bildpfad eines TImages abspeichern
 
Zitat:

Zitat von Luca Haas (Beitrag 1382622)
Delphi-Quellcode:
Bild := KST_LagerbewertungQuery.FieldByName('Bildpfad').AsString;
Image1.Picture.SavetoFile(Bild);
Versteh ich grade was falsch, es ist doch egal wie die Variablen heißen, oder nicht ?

Für den Compiler und dem Computer ist es egal.
Aber nicht für dich, dein zukünftiges ich in zwei Monaten wenn du den Quelltext wieder anschaust und erst recht nicht für deinen Kollegen, der sich deinen Quelltext anschauen muss.

Ok, jetzt erkläre mit deinen eigenen Worten, was genau der Aufruf
Delphi-Quellcode:
Image1.Picture.SavetoFile
bewirkt?
Was genau wird in SaveToFile übergeben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr.
Seite 1 von 5  1 23     Letzte »    

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