Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi bild speichern unter (https://www.delphipraxis.net/59158-bild-speichern-unter.html)

f4r 18. Dez 2005 14:25


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:
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;
hilft mir jemand bitte :(

gruss

dahead 18. Dez 2005 14:31

Re: bild speichern unter
 
das stichwort, nach dem du suchen solltest, lautet GetShellFolder.

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.

f4r 18. Dez 2005 14:33

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

dahead 18. Dez 2005 14:37

Re: bild speichern unter
 
Zitat:

Zitat von f4r
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

siehe meinen link oben (das edit).

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.

f4r 18. Dez 2005 15:02

Re: bild speichern unter
 
typ text

f4r 18. Dez 2005 15:05

Re: bild speichern unter
 
versteh kein wort von dem link das wer daher erstmal wo wenn ichs normal hinkrich :D

dahead 18. Dez 2005 15:07

Re: bild speichern unter
 
Zitat:

Zitat von f4r
versteh kein wort von dem link das wer daher erstmal wo wenn ichs normal hinkrich :D

du fügst folgende units zu deinem programm:
Delphi-Quellcode:
uses
  { ... },
  ActiveX, // IMalloc
  ShellAPI, // SHGetSpecialFolderLocation() und SHGetPathFromIDList()
  ShlObj;  // CSIDL_-Konstanten
dann bindest du diese funktion ein:

Delphi-Quellcode:
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;
und rufst sie so auf:

Delphi-Quellcode:
SD.InitialDir := GetSpecialFolder(Application.Handle, CSIDL_DESKTOPDIRECTORY);
...
edit: das "Application.Handle, " vergessen.

Ratte 18. Dez 2005 15:11

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.

dahead 18. Dez 2005 15:13

Re: bild speichern unter
 
Zitat:

Zitat von Ratte
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.

sollte egtl. nichts ausmachen, ist aber wirklich unnötig.

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)).

f4r 18. Dez 2005 15:36

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 00:42 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