Re: bild speichern unter
Zitat:
irgendwann verlierst du dann den überblick was jetzt egtl. label3 war. oder aber du verschreibst dich aus versehen und speicherst label4 ab. dann klappt was nicht, und den fehler findest du höchstwahrscheinlich auch nicht so schnell. daher solltest du deine labels (und alle anderen komponenten) sinnvoll benennen (z.B. LBLFilename o.ä.). wenn du in einigen monaten das projekt nochmal überarbeiten wilslt, hast du dann viel weniger arbeit und einarbeitungszeit. ist nur ein tipp. edit: hat es jetzt egtl. geklappt? |
Re: bild speichern unter
wolt grad posten :D
ja die dialogbox geht auf so wie es soll auch mit desktop und aber ich krich nix gespeichert wie mach ich dem jetzt klar das er das bild C:\beispielordner\beispiel.jpg mit dem namen 'Bild beipsiel.jpg) speichern soll nach auswahl vom user des ziefverzeichnisses ? |
Re: bild speichern unter
so würde ich das bei einem image machen:
Delphi-Quellcode:
oder automatisch:
var
SD: TSaveDialog; begin SD := TSaveDialog.Create(Self); with SD do begin Filter := 'Jpeg Files (*.jpg)|*.jpg'; Title := 'Save Image to...'; InitialDir := GetSpecialFolder(Application.Handle, CSIDL_DESKTOPDIRECTORY); if Execute then begin Image1.Picture.SaveToFile(Filename); end; end; SD.Free; end;
Delphi-Quellcode:
oder so:
Image1.Picture.SaveToFile(IncludeTrailingPathDelimiter(GetSpecialFolder(Application.Handle, CSIDL_DESKTOPDIRECTORY)) + 'beispiel.jpg');
Delphi-Quellcode:
Das IncludeTrailingPathDelimiter ergänzt das Verzeichnis um einen abschließenden Backslash.
var
SD: TSaveDialog; begin SD := TSaveDialog.Create(Self); with SD do begin Filter := 'Jpeg Files (*.jpg)|*.jpg'; Title := 'Save Image to...'; InitialDir := GetSpecialFolder(Application.Handle, CSIDL_DESKTOPDIRECTORY); // Initalisierungs Verzeichnis ist Desktop if Execute then begin Image1.Picture.SaveToFile(IncludeTrailingPathDelimiter(ExtractFileDir(Filename)) + 'beispiel.jpg'); // speichert im vom User ausgewählten Verzeichnis ab. end; end; SD.Free; end; Edit: also wäre die dritte lösung für dich am geeignetsten. aber wenn du den benutzer nur zur auswahl eines verzeichnisses (und nicht zur nennung eines dateinamens) ermächtigen willst, solltest du dir mal den Befehl "SelectDirectory" ansehen. Da gibt es fertige Komponenten wie die Jedis (Name weiß ich gerade nicht, irgendwas mit BrowseFolder oder so) oder die standalone Komponente TBrowseForFolder (http://endimus.com). |
Re: bild speichern unter
Liste der Anhänge anzeigen (Anzahl: 1)
klappen tuts trotzdem krich ich n fehlerrueckmeldung (angehängt)
was ichgern noch haette ist ein bestätigung das gespeichert wurde :D wenn das geht ! gruss f4r |
Re: bild speichern unter
welche variante benutzt du?
lass dir mal vor dem savetofile den dateinamen (also den kompletten, den du auch an savetofile übergibst) in einer showmessage anzeigen. evtl. ist der backslash doppelt oder so. edit: zur überprüfung ob gespeichert wurde kannst du den dateinamen auf vorhandensein nach dem savetofile mit fileexists prüfen (gibt true zurück, wenn datei existiert) und du solltest natürlich darauf achten, dass vorher keine exceptions aufgetreten sind. |
Re: bild speichern unter
Liste der Anhänge anzeigen (Anzahl: 1)
noch zwei fragen
1. wie kann ich bestimmen was in dem edit feld von savedialog drinsteht wo man den namen normalerweise einträgt ? 2. wie kann ich den string dieses edit feldes "rausholen" im anhang nochmal was gemeint ziel beim öffnen des dialoges soll bild + InttoStr(x) drinnstehen das soll der user ggf. verändern und dann abgespeichert werden also irgendwie hier muesste es dann doch verädenrt werden: Image1.Picture.SaveToFile(IncludeTrailingPathDelim iter(ExtractFileDir(Filename)) + 'beispiel.jpg'); // speichert im vom User ausgewählten Verzeichnis ab. |
Re: bild speichern unter
Zitat:
2. wie genau geht das mit fileexists was sind exceptions (engl ? ausnahmen ?) macht aber keien sinn ? gruss |
Re: bild speichern unter
Delphi-Quellcode:
Müsste das gewünschte sein.
var
SD: TSaveDialog; begin SD := TSaveDialog.Create(Self); with SD do begin Filename := 'Bild' + inttosr(x); // <-- eingefügt Filter := 'Jpeg Files (*.jpg)|*.jpg'; Title := 'Save Image to...'; InitialDir := GetSpecialFolder(Application.Handle, CSIDL_DESKTOPDIRECTORY); // Initalisierungs Verzeichnis ist Desktop if Execute then begin Image1.Picture.SaveToFile(Filename); // <-- geändert end; end; SD.Free; end; mfg, Ratte |
Re: bild speichern unter
zu deinem ersten post:
du kannst nach dem Execute des SaveDialogs folgendes ergänzen:
Delphi-Quellcode:
was meinst du mit "rausholen"? löschen oder verwenden?
if Execute then
begin ... EdtFilename.Text := Filename; ... end; löschen geht mit EdtFilename.Text := ''; zum anderen post: sehe gerade, ratte hat was gepostet. |
Re: bild speichern unter
es funktioniert alles sowieichs will ich krich aber immer noch die fehlermeldung
kansnt du mir außerdem nochmal das mit dem fileexist erklären ? gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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