Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi kleines problemchen mit filenames (https://www.delphipraxis.net/103672-kleines-problemchen-mit-filenames.html)

kriegtsnichaufdiereihe 19. Nov 2007 21:16


kleines problemchen mit filenames
 
moin,
ich hab da ein kleines problem mit dem filename von einem song, den ich gerne zu einem programm hinzufügen möchte (bei delphi 7 personal)...also das mit dem song selber funktioniert, aber ich hätte das programm gerne so, dass es auch auf anderen pcs funktioniert. denn wenn man das mit dem filename einfach so stehen lässt, kommt ja die fehlermeldung, dass er die datei unter dem angegebenen verzeichnis nicht finden kann. ich habe es schon mit fileexist probiert, aber ich kann ja nicht für jedes laufwerk und jeden ordner das alles nochmal hinschreiben...mal abgesehen davon, dass es sowieso nicht funktioniert hat :roll: ... dann hab ich auch noch weitergesucht und filesearch gefunden, aber da hab ich überhaupt keine ahnung wie das geht...
also letztendlich soll das ganze in etwa so aussehen: das programm und der song sollen zusammen in einem ordner sein und von einem speicherstick aus auf verschiedenen pcs ausführbar sein.

wär echt nett von euch, wenn ihr mir da weiterhelfen könntet (und wenn es eben geht, möglichst detailiert...ich hab erst seit einem halben jahr informatik...^^)

vielen dank schon mal im vorraus,

mfg steffen

Der_Unwissende 19. Nov 2007 21:32

Re: kleines problemchen mit filenames
 
Hi und erstmal herzlich willkommen in der DP :dp:

Das was Du brauchst sind relative Pfade. Um die zu ermitteln kannst Du einfach den Pfad zur .exe ermitteln, die gestartet wurde. Am einfachsten geht das, wenn Du mit die Funktion ParamStr(0) aufrufst. Die gibt Dir den absoluten Pfad (Laufwerk, Ordner, Name der Exe) Deiner Applikation zurück. Da Dich hier nur der Pfad interessiert kannst Du auf diesen String noch die Funktion ExtractFilePath (enthält dann schon den abschließenden Backslash) aus der Unit SysUtils anwenden.

Mit
Delphi-Quellcode:
var pfadZurExe: String;
begin
  pfadZurExe := ExtractFilePath(ParamStr(0));
...
end;
erhälst Du dann den Pfad zur Exe. Zu der Datei, die Du laden möchtest brauchst Du jetzt nur noch den relativen Pfad zu ergänzen. Liegt z.B. die Datei "A.mp3" im gleichen Ordner, dann nimmst Du
Delphi-Quellcode:
var pfadZurExe: String;
begin
  pfadZurExe := ExtractFilePath(ParamStr(0)) + 'A.mp3';
  // bei Unterordnern entsprechend
  pfadZurExe := ExtractFilePath(ParamStr(0)) + 'Subfolder\Subsubfolder\A.mp3';
Gruß Der Unwissende

Blackheart 19. Nov 2007 21:34

Re: kleines problemchen mit filenames
 
Filename!?

kriegtsnichaufdiereihe 19. Nov 2007 21:36

Re: kleines problemchen mit filenames
 
wow danke...ich werd das gleich mal ausprobieren...^^

@ blackheart: ja sorry, ich wusste nich wie das beschreiben sollte...;)

Der_Unwissende 19. Nov 2007 21:39

Re: kleines problemchen mit filenames
 
Ahso,
mal noch eine kleine Bitte. Um es den Leuten in der DP leichter zu machen Dir zu helfen wäre es sehr nett, wenn Du etwas auf die Rechtschreibung achten würdest. Trotz Reformen ist Groß- und Kleinschreibung doch noch recht beliebt und einfach besser lesbar :wink:

kriegtsnichaufdiereihe 19. Nov 2007 21:41

Re: kleines problemchen mit filenames
 
Oh okay, tut mir Leid. Wird nicht wieder vorkommen! ^^

LG Steffen

kriegtsnichaufdiereihe 19. Nov 2007 21:57

Re: kleines problemchen mit filenames
 
Juhu es klappt!!! Wow, vielen Dank der Unwissende! Du hast mir echt sehr geholfen!...Danke! :hello: :thumb:

LG Steffen


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 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-2025 by Thomas Breitkreuz