![]() |
bild speichern unter
:-D hi leute
hab schon gesucht aber mich gewundert warum das net gefunden hab :gruebel: also hier die frage möchte über ein label ein bild das scho geladem wurden ist speichern, dabei soll der user sich den pfad mittels eines normales windows dialoges aussuchen können der dialog soll von vorne herein aber auf desktop stehen wie geht das ? das was ich bisjetzt hab :
Delphi-Quellcode:
hilft mir jemand bitte :(
procedure TPicshowForm.Label7Click(Sender: TObject);
begin SaveDialog1.FileName:=''+Label3.caption+''; With SaveDialog1 do if execute then begin TextPfad:=FileName; AssignFile(TextDatei,TextPfad); Rewrite(Textdatei); CloseFile(TextDatei); end; end; gruss |
Re: bild speichern unter
das stichwort, nach dem du suchen solltest, lautet
![]() Damit erfährst du den Pfad des Desktops (CSIDL) und übergibst ihn via SD.InitialDir := xxx an den SaveDialog. Frage: Warum speicherst du dein Bild nicht einfach via Image1.Picture.SaveToFile(...)? Edit: Link hinzugefügt. |
Re: bild speichern unter
der user soll ja bestimmen wo die datei hin sollen
was anfangs vorgegeben ist welche datei gespeichert werden soll und das der dialog von anfang auf desktop stehen soll gruss |
Re: bild speichern unter
Zitat:
was ich mit der frage meinte war deine AssignFile, Rewrite usw. Konstruktion. Ich wage zu bezweifeln, dass die funktioniert (von welchem typ ist denn Textdatei?). edit: ein "n" für "den" ergänzt. |
Re: bild speichern unter
typ text
|
Re: bild speichern unter
versteh kein wort von dem link das wer daher erstmal wo wenn ichs normal hinkrich :D
|
Re: bild speichern unter
Zitat:
Delphi-Quellcode:
dann bindest du diese funktion ein:
uses
{ ... }, ActiveX, // IMalloc ShellAPI, // SHGetSpecialFolderLocation() und SHGetPathFromIDList() ShlObj; // CSIDL_-Konstanten
Delphi-Quellcode:
und rufst sie so auf:
function GetSpecialFolder(hWindow: HWND; Folder: Integer): String;
var pMalloc: IMalloc; pidl: PItemIDList; Path: PChar; begin // get IMalloc interface pointer if (SHGetMalloc(pMalloc) <> S_OK) then begin MessageBox(hWindow, 'Couldn''t get pointer to IMalloc interface.', 'SHGetMalloc(pMalloc)', 16); Exit; end; // retrieve path SHGetSpecialFolderLocation(hWindow, Folder, pidl); GetMem(Path, MAX_PATH); SHGetPathFromIDList(pidl, Path); Result := Path; FreeMem(Path); // free memory allocated by SHGetSpecialFolderLocation pMalloc.Free(pidl); end;
Delphi-Quellcode:
edit: das "Application.Handle, " vergessen.
SD.InitialDir := GetSpecialFolder(Application.Handle, CSIDL_DESKTOPDIRECTORY);
... |
Re: bild speichern unter
Mist, wollte ich auch gerade erklären.
@f4r:Was soll eingentlich das ''+ und +'' beim Dateinamen? Das ist doch wohl überflüssig, wenn nicht sogar eine Fehlerquelle. |
Re: bild speichern unter
Zitat:
du solltest deinen dateinamen in einer variablen ablegen und nicht via label.caption darauf zugreifen. das ist amateurhaft bringt fehler mit sich (wenn du bspw. mal vergisst das label zu aktualisieren (also dessen caption)). |
Re: bild speichern unter
das hab ich gemacht weil das label sowieso schon da war und die vollständige quelle beinhalet da es ja ne cd w ird
gruss f4r p.s. ich bin noch weniger als ein amateur :D also nehme ich das mal als kompliment :D edit habs mal ohne die plusse versucht ! net möglich ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:49 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 by Thomas Breitkreuz