AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bild laden und wieder speichern

Ein Thema von Frischling · begonnen am 20. Apr 2007 · letzter Beitrag vom 22. Apr 2007
Antwort Antwort
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#1

Bild laden und wieder speichern

  Alt 20. Apr 2007, 16:26
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:
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;
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).

Wäre super, wenn mir jemand eine kleine Denkstütze geben könnte.
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Bild laden und wieder speichern

  Alt 20. Apr 2007, 16:43
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
Angehängte Dateien
Dateityp: zip openpicturesdialog_173.zip (34,2 KB, 14x aufgerufen)
Jürgen Höfs
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Bild laden und wieder speichern

  Alt 20. Apr 2007, 17:31
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);
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Bild laden und wieder speichern

  Alt 20. Apr 2007, 17:40
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
Jürgen Höfs
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Bild laden und wieder speichern

  Alt 20. Apr 2007, 17:47
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:
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);
Und das ergibt nunmal keinen Sinn, da der Fehler nur bei OpenPictureDialog1 erscheint!
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Bild laden und wieder speichern

  Alt 20. Apr 2007, 19:59
Sorry für den Doppelpost, aber:

Es hat geklappt

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



Edit:
Jetzt geht es wieder nicht. Diesmal kommt nichtmal eine Fehlermeldung.
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Bild laden und wieder speichern

  Alt 22. Apr 2007, 18:57
Wollte nur bescheid geben, dass ich es hinbekommen habe. Der Code zum Kopieren der Bilddateien war vollkommen richtig.
Der Fehler war:

path:=ExtractFilePath(ParamStr(0)); Habe das in:

Path:=ExtractFilePath(Application.ExeName); geändert und siehe da, es geht


Danke nochmal für die Hilfe!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:59 Uhr.
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