Autor Beitrag
n@no
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Di 24.12.02 17:39 
hi,
ich hab mir nen kleines spiel gemacht mit verschiedenen hintergrundbildern. das funzt auch auf dem rechner hier ganz gut, weil ich im dem befehl "loadfromfile" die pfad drin stehen hab,
aber wenn ich das spiel jetzt auf nen aneren rechner unter nen anderes verzeichnis kopier stimmt der pfad nicht mehr, und nix geht mehr.
gibt es da nicht ne andere methode, so das er die bilder findet egal in welchem verzeichnis die sind??
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 24.12.02 18:48 
"egal in welchen Verzeichnis" wird schwer. Ich würde die Bilder in einem Unterprdner des Programmverzeichnisse ablegen.

PramStr(0) liefert dir dann immer den Pfad zu deinem Programm inklusive des Dateinames deiner Exe.
n@no Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mi 25.12.02 15:39 
hm, hast du da auch ein beispiel für?? wiel ich find da nix zu in der delphi hilfe.

aber da fällt mir grad was ein..
wenn ich schreibe

Image1.Picture.LoadFromFile('c:\temp\test.BMP');

ist klar das das bild unter c:/temp/ liegt, aber wenn ich schreibe


Image1.Picture.LoadFromFile('test.BMP');

wird dann in dem verzeichnis gesucht wo die .exe ausgeführt wurde?? oder geht das so ohne pfad angabe gar nicht?
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Mi 25.12.02 15:56 
Hi,

so kannste den Pfad vom Programm noch herrausbekommen :
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject); 
var 
  sExePath: string; 
begin 
  sExePath := ExtractFilePath(Application.ExeName) 
    ShowMessage(sExePath); 
end;
n@no Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mi 25.12.02 19:41 
@bis11

kann ich dann auch anstatt dem

ShowMessage(sExePath);

diese zeile schreiben??
->
Image1.Picture.LoadFromFile('sExePath\bild.jpg')
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Mi 25.12.02 20:02 
So wird das nichts. Schreibe doch einfach mal das was bei LoadFromFile in den Klammern steht in die Klammer von ShowMessage rein. Und überprüfe mal, ob da das gleiche rauskommt wie bei meinem Beispiel.
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: Mi 25.12.02 20:06 
Naja, fast.
Die Variable sExePath muss natürlich ausserhalb der ' ' stehen.
Also Image1.Picture.LoadFromFile(sExePath+'\bild.jpg');
Wobei ich im Moment nicht weis, ob Dir ExtractFilePath den Pfad mit oder ohne \ am Ende gibt. Aber das siehste ja dann.

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
General Mengsk
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 28.12.02 18:07 
n@no hat folgendes geschrieben:
Image1.Picture.LoadFromFile('test.BMP');

wird dann in dem verzeichnis gesucht wo die .exe ausgeführt wurde??

Ja, lokale Pfade sind kein Problem. Könntest z.B. auch nen Unterordner Bilder machen und dann mit
Image1.Picture.LoadFromFile('Bilder\test.BMP'); das Bild laden. Pfad suchen wäre reine Aufwandverschwendung ;)
Tom
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 29.12.02 09:47 
General Mengsk hat folgendes geschrieben:
Pfad suchen wäre reine Aufwandverschwendung ;)

Solche Programme funktionieren - je nach Aufrufmethode - dann leider nicht mehr. Zudem ist der Aufwand den Pfad korrekt zu setzten schließlich minimal.

Aber bekanntlich ist jeder seines eigen Glückes Schmied.

Gruß Tom