![]() |
Bild laden und wieder speichern
Hi,
mein Problem ist Folgendes: Ich schreibe derzeit ein kleines Programm, in dem meine DVDs aufgelistet werden. Für jeden Film habe ich auch ein Cover(im jpg-Format). Ich habe mich anfangs noch damit zufrieden gegeben, dass ich die Cover in den entsprechenden Ordner kopieren musste, damit alles funzt. Nun würde ich aber gern über eine SavePictureDialog-Komponente ein Cover von der Festplatte laden und in das Verzeichnis des Programms speichern. Ich probiere hier schon alles mögliche. Problem ist, dass man, wenn man F1 drückt, auch wissen sollte, was man sucht. Und da scheitert es.
Delphi-Quellcode:
Die Fehlermeldung besagt, dass der Pfad nicht gefunden werden kann. Seltsamerweise wird versucht in den Ordner zu speichern, von dem ich lade(z.B. Eigene Bilder).
Cover:=TStringList.Create;
path := ExtractFilePath(ParamStr(0)); pathPic:=path + 'Data\' + EditEingabe.Text + '.jpg'; with OpenPictureDialog1 do if Execute then begin Cover.LoadFromFile(FileName); Cover.SaveToFile(PathPic); end; Wäre super, wenn mir jemand eine kleine Denkstütze geben könnte. |
Re: Bild laden und wieder speichern
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
ich habe mal schnell ein kleines Beispiel geschrieben, siehe Anhang, die Datei wird nach dem Auswählen einfach in einen Unterordner des Programm kopiert und zur Kontrolle im Programm angezeigt... Gruß Pfoto |
Re: Bild laden und wieder speichern
Danke für dein beispiel. Aber leider funzt es nicht!
Ich hab mir das, was meiner Meinung nach für mich wichtig ist, übernommen und überarbeitet. Fazit: Es geht nicht. Es wird versucht eine Titel.txt in eigene Bilder zu öffnen, die natürlich nicht da ist. In eigene Bilder will ich das Cover wählen, dass kopiert werden soll. Und es will mir nicht einfallen, wieso das so ist. Titel.txt kann garnicht an dieser Stelle erscheinen.
Delphi-Quellcode:
pathPic:=path + 'Data\' + EditEingabe.Text + '.jpg';
if OpenPictureDialog1.Execute then CopyFile(PChar(OpenPictureDialog1.FileName), PChar(PathPic), false); |
Re: Bild laden und wieder speichern
Hallo nochmal,
was genau hat an meinem Beispiel nicht funktioniert? bei mir gings nämlich ohne Probleme. Denn wenn Du es bei Dir zum Laufen bekämest, könntest Du ja darauf aufbauend es nach Deinen Vorstellungen verändern. Warum da dauernd etwas von "Titel.txt" erscheint, kann ich leider auch nicht nachvollziehen - vor allem weil man ja standardmäßig nur Bildateien im Pic-Dialog auswählen kann. Gruß Pfoto |
Re: Bild laden und wieder speichern
Der Fehler aus deinem Beispiel:
Unbekannter Bezeichner 'ChangeFilePath'! Muss ich da noch eine bestimmte Unit vereinbaren? Und der Titel.Txt-Fehler wird vom Debugger an folgender Position angegeben:
Delphi-Quellcode:
Und das ergibt nunmal keinen Sinn, da der Fehler nur bei OpenPictureDialog1 erscheint!
pathPic:=path + 'Data\' + EditEingabe.Text + '.jpg';
if OpenPictureDialog1.Execute then if CopyFile(PChar(OpenPictureDialog1.FileName), PChar(PathPic), false) then Showmessage('Datei wurde kopiert'); Kategorie:=TStringList.Create; Quali:=TStringList.Create; Titel:=TStringList.Create; Beschreibung:=TStringList.Create; pathG:=path + 'Genre\' + ComboBoxKategorie.Text + '.txt'; pathQ:=path + 'Quali\' + ComboBoxQuali.Text + '.txt'; pathB:=path + 'Data\' + EditEingabe.Text + '.txt'; pathT:=path + 'Titel.Txt'; Titel.LoadFromFile(pathT); Quali.LoadFromFile(pathQ); //Hier kommt die Fehlermeldung! Kategorie.LoadFromFile(pathG); Titel.Add(EditEingabe.Text); Titel.SaveToFile(PathT); Quali.Add(EditEingabe.Text); Quali.SaveToFile(PathQ); Kategorie.Add(EditEingabe.Text); Kategorie.SaveToFile(PathG); Beschreibung.AddStrings(MemoBeschreibung.Lines); Beschreibung.SaveToFile(PathB); |
Re: Bild laden und wieder speichern
Sorry für den Doppelpost, aber:
Es hat geklappt :bounce1: Ich musste das Kopieren der Bild-Datei über einen anderen Button realisieren, weil das sonst immer in dieser seltsamen Fehlermeldung endete. Naja, so ist besser als nix. Danke nochmal für die Hilfe Pfoto :thumb: Edit: Jetzt geht es wieder nicht. Diesmal kommt nichtmal eine Fehlermeldung. |
Re: Bild laden und wieder speichern
Wollte nur bescheid geben, dass ich es hinbekommen habe. Der Code zum Kopieren der Bilddateien war vollkommen richtig.
Der Fehler war:
Delphi-Quellcode:
Habe das in:
path:=ExtractFilePath(ParamStr(0));
Delphi-Quellcode:
geändert und siehe da, es geht :bounce1:
Path:=ExtractFilePath(Application.ExeName);
Danke nochmal für die Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz