Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Zielverzeichnis von Bildern, Sounds und .inis (https://www.delphipraxis.net/131703-zielverzeichnis-von-bildern-sounds-und-inis.html)

Die-Kackhummel 29. Mär 2009 13:40


Zielverzeichnis von Bildern, Sounds und .inis
 
Moinsen,

zur Zeit programmiere ich ein Sudoku-Programm, dabei verwende ich als externe Dateien einmal eine .ini, einige .wav Sounds und ein paar .bmps.

Jetzt soll er im Programm auf die Angabe eines direkten Verzeichnisses verzichten (wie D:/programme/delphi/einstellungen.ini) und die datei im selben ordner wie das programm suchen, sodass man das programm auf allen rechnern ausführen kann. Ich hab hin und her probiert, mit * oder einfach den Dateinamen als Verzeichnis eintrage, hat allerdings nichts davon funktioniert.

Kann mir da einer kurz weiterhelfen?

Vielen Dank! (Verwende Delphi7 unter Vista)

Meflin 29. Mär 2009 13:52

Re: Zielverzeichnis von Bildern, Sounds und .inis
 
Du musst den Programmpfad ermitteln (bspws mit ExtractFilePath(Application.ExeName)) und diesen vor deine Dateinamen setzen.

Beachte aber, dass das Programm (speziell unter Vista) in einigen Verzeichnissen (um nicht zu sagen in fast allen) keine Schreibrechte hat! D.H. die ini im Verzeichnis Programme kannste schonmal knicken ;)

Satty67 29. Mär 2009 13:55

Re: Zielverzeichnis von Bildern, Sounds und .inis
 
Meflin war schneller, aber mal getippt wird es nicht weggeworfen ;)

Die Frage wird hier (gefühlt) ziemlich oft behandelt...
Delphi-Quellcode:
// Pfad der ausgeführten Exe-Datei
ExtractFilePath(Application.ExeFile);

// Ini-Dateiname wie Exe-Datei nur .ini als Extension
ChangeFileExt(Application.ExeFile,'.ini');
Für die Konfigurations-Datei sollte man einen eleganteren Weg gehen (gerade bei Vista).

Suchbegriff AppData sollte etwas finden.

DeathsShadow 29. Mär 2009 14:40

Re: Zielverzeichnis von Bildern, Sounds und .inis
 
Hi!

auch wenn deine Frage schon beatwortet ist, habe ich noch eine Idee für dich. Wenn du viele Bilder und Dateien hast, kannst du diese in einer dll speichern. Damit hast du nich so viel Gedöns in deinem Ordner.

__________________
Lg Florian

Luckie 29. Mär 2009 16:15

Re: Zielverzeichnis von Bildern, Sounds und .inis
 
Zitat:

Zitat von Meflin
Beachte aber, dass das Programm (speziell unter Vista) in einigen Verzeichnissen (um nicht zu sagen in fast allen) keine Schreibrechte hat! D.H. die ini im Verzeichnis Programme kannste schonmal knicken ;)

Warum wird hier immer der Mythos verbreitet, dass unter Vista ein Programm nicht in sein eigenes Verzeichnis schreiben könnte? Mit den nötigen Rechten kann es dies ohne weiteres tun. Und dies ist nichts neues unter Vista. Diesen Mechanismus gibt es schon seit Windows NT.

Ein Programm welches im Kontext eines normalen Benutzers gestartet wird, hat überall da Schreibrechte, wo auch der Benutzer Schreibrechte hat. Da ein normaler Benutzer in der Regel keine Schreibrechte in Systemverzeichnissen hat, hat auch das Programm natürlich dort auch keine Schreibrechte. Systemverzeichnisse unter Windows sind unteranderem das Wurzelverzeichnis der Windows Installation, das Windows- und alle seine Unterverzeichnisse und das Verzeichnis, in das von Windows standardmäßig Programme installiert werden. Hingegen Schreibrechte hat ein Programm im Profilordner des Benutzers. Da wären zum Beispiel der Ordner "Eigene Dateien" und seine Unterordner.

Die Aussage, dass ein Programm nicht in sein eigenes Verzeichnis schreiben könnte, stimmt also nur dann, wenn es ordnungsgemäß in das Programme-Verzeichnis installiert wird.

Meflin 29. Mär 2009 16:17

Re: Zielverzeichnis von Bildern, Sounds und .inis
 
Zitat:

Zitat von Luckie
Warum wird hier immer nur der Mythos vrbreitet, dass unter Vista ein programm nicht in sein eigenes Verzeichnis schreiben könnte? Mit den nötigen Rechten kann es dies ohne weiteres tun. Und dies ist nichts neues unter Vista. Diesen Mechanismus gibt es schon seit Windows NT.

Bla bla bla. Du weißt genausoguit wie ich, dass die gängige Praxis bis Vista einfach anders aussieht. De Facto, ist es also (man beachte auch das Beiwort) speziell unter Vista so. Habe ich irgendwo geschrieben, das wäre vorher anders?

Edit: Und ein Proramm gehört eher nicht in die Eigenen Dateien. Sondenr eben in den Ornder Programme. Und da hat es eben keine Schreibrechte :roll:

Luckie 29. Mär 2009 16:29

Re: Zielverzeichnis von Bildern, Sounds und .inis
 
Zitat:

Zitat von Meflin
Habe ich irgendwo geschrieben, das wäre vorher anders?

Hast du eben nicht. Du hast nur die pauschale Aussage getroffen, dass ein Programm nicht in sein Programmverzeichnis schreiben könne. Und genau das wollte ich richtig stellen.

Zitat:

Edit: Und ein Proramm gehört eher nicht in die Eigenen Dateien. Sondenr eben in den Ornder Programme. Und da hat es eben keine Schreibrechte :roll:
Kommt ganz drauf an was das für ein Programm ist. Programme, die ich nur für den Eigengebrauch schreibe, die liegen bei mir meist irgendwo, zum Beispiel im Entwicklerorder oder so. Und dort haben sie eben Schreibrechte. Da meist nur ich der Nutzer bin, lege ich Konfigurationsdateien auch dort ab.

Meflin 29. Mär 2009 17:00

Re: Zielverzeichnis von Bildern, Sounds und .inis
 
Zitat:

Zitat von Luckie
Hast du eben nicht. Du hast nur die pauschale Aussage getroffen, dass ein Programm nicht in sein Programmverzeichnis schreiben könne. Und genau das wollte ich richtig stellen.

Hab ich nicht :P

Zitat:

Zitat von Meflin
D.H. die ini im Verzeichnis Programme kannste schonmal knicken ;)


Matze 29. Mär 2009 17:05

Re: Zielverzeichnis von Bildern, Sounds und .inis
 
Wenn auf die Ini nur lesend zugegriffen werden muss, dann kann die getrost ins Anwendungsverzeichnis. Da könnte man wieder wunderbar eine der zig Diskussionen führen, die wir hier schon hatten.
Und ich denke Meflin weiß genau - wie viele Mitglieder hier - wo man welche Verzeichnisrechte hat. Das sind Windows-Grundlagen und nichts Besonderes. Einmal erwähnen reicht meiner Meinung nach aus und damit ist das Thema "Schreibrechte im Programmverzeichnis" erledigt. Denn das hilft dem Themenersteller auch nicht weiter.

Meflin 29. Mär 2009 17:11

Re: Zielverzeichnis von Bildern, Sounds und .inis
 
Zitat:

Zitat von Matze
Wenn auf die Ini nur lesend zugegriffen werden muss, dann kann die getrost ins Anwendungsverzeichnis.

Da hast du natürlich völlig Recht, und sorry, wenn ich da jetzt nochmal im fast-OT frauf eingehe :duck: :mrgreen: , aber eine ini, auf die nur lesend zugegriffen wird ist... nunja, gelinde gesagt, überflüssig ;)


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