Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Screen shot ins gleiche verzeichnis wie exe speichern! (https://www.delphipraxis.net/146415-screen-shot-ins-gleiche-verzeichnis-wie-exe-speichern.html)

skinzone 19. Jan 2010 14:36


Screen shot ins gleiche verzeichnis wie exe speichern!
 
Hallo,
wie kann ich nen screenshot ins verzeichnis speichern in der die exe liegt?
Wie man screens erstellt weiß ich, aber nicht wie man es macht das das Programm erkennt wo es liegt und genau dort den screen shot rein speichert!!
mfg

Uwe Raabe 19. Jan 2010 14:43

Re: Screen shot ins gleiche verzeichnis wie exe speichern!
 
Mal abgesehen davon, daß ich das für keine gute Idee halte: Application.Exename oder auch ParamStr(0) geben dir den vollständigen Pfad und Dateinamen der EXE.

s.h.a.r.k 19. Jan 2010 14:45

Re: Screen shot ins gleiche verzeichnis wie exe speichern!
 
Das geht ganz einfach über diese Zeile:
Delphi-Quellcode:
dir := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName));
Beachte aber, dass du nicht unbedingt Schreibrechte ist dem Verzeichnis hast. Wenn du das File nur temporär benötigst so lege es halt in das Temp-Verzeichnis, oder wenn es dauerhaft da sein muss in das Anwendungsverzeichnis eines jeden Users.

himitsu 19. Jan 2010 14:53

Re: Screen shot ins gleiche verzeichnis wie exe speichern!
 
Da zwischen Pfad und Dateiname immer ein PathDelimiter liegt und ExtractFilePath nur den Dateinamen entfernt,
ist IncludeTrailingPathDelimiter überflüssig.
(diese ExtractFilePath+IncludeTrailingPathDelimiter-Kombination kann unter Umständen sogar schädlich wirken ... z.B. wenn kein Pfad in dem String vorhanden ist)

s.h.a.r.k 19. Jan 2010 15:02

Re: Screen shot ins gleiche verzeichnis wie exe speichern!
 
Würde die Methode ExtractFilePath() sich aber mal ändern, oder eine andere Version verwendet werden, so bin ich auf der sicheren Seite. Handelt es sich um keinen gültigen Pfad, sondern um einen beliebigen String, so prüfe ich eh auf dessen Gültigkeit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 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