Autor Beitrag
Black Force
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Fr 02.05.08 20:50 
Hallo,

Ich habe eine kleine Probe von einem Spiel in Delphi geschrieben. Man ist ein Mann und muss einfach einen
Gegner erschlagen. Nun wollte ich es auf einem anderen Computer ausprobieren, aber der konnte
das Programm einfach nicht ausführen. Könnte ich es hier reinstellen und ihr probiert es einfach
aus?
Die Figuren und Sounds sind geklaut, aber das ist nur vorläufig als Probe.
Ich wollte es nur andere mal ausprobieren lassen, vielleicht liegts nur an meinem PC.


Moderiert von user profile iconNarses: Topic aus Multimedia / Grafik verschoben am So 04.05.2008 um 22:59
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: So 04.05.08 20:26 
OK,

hier ist das Programm. Probiert es einfach bei euch aus.
Wenns klappt, dann liegts an meinem PC. Ich weiß das Programm
ist bekloppt. Aber das ist ja bloß mein erstes (Spiel?)
Einloggen, um Attachments anzusehen!
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: So 04.05.08 20:36 
Hallo,

es wäre vielleicht sinnvoll, wenn du die Audiodatei auch noch mit in den Anhang stellst. Ohne die können wir das Projekt sicher nicht starten ;)

Grüße,
Yogu
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 04.05.08 21:01 
Du solltest mit relativen anstatt mit absoluten Pfaden arbeiten oder Bilder und Musik in eine Ressource packen ansonsten wird es auf anderen PC's nicht funktionieren.
Dazu solltest du hier im DF genug finden ParamStr

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: So 04.05.08 21:10 
Soll ich jetzt alles was im Programm gebraucht wird komprimieren und schicken?
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 04.05.08 21:28 
ja :idea:
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 04.05.08 21:35 
user profile iconj.klugmann hat folgendes geschrieben:
ja :idea:

Nein. :wink:
@Black Force Du solltest dir Paramstr oder Resource näher anschauen um in deinem Prog die fehler auszumärzen.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 05.05.08 14:24 
Musik / Sounds von Spielen in Ressourcen speichern? Das ist keine gute Idee. Wenn dein Spiel mal größer wird, müsstest du sehr viele Megabyte in die Ressourcendatei packen. Das würde dann erstens lange zum erstellen des Projektes dauern und zweitens auch nicht handlich sein. Erstelle lieber Unterordner, die du dann mitlieferst.

Stell dir mal vor, du würdest Need for Speed Most Wanted in einer EXE-Datei haben...
passiv
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 270

WIN XP Professional
Delphi 7 Enterprise, Java (Eclipse), Python 2.5, Django 1.1
BeitragVerfasst: Mo 05.05.08 14:37 
Enclopedia Britannica macht das offenbar so: 3GB exe. wenn die Firewall an ist ungefähr 1 Std. Ladezeit ^^

_________________
Die Probleme, die es in der Welt gibt, sind nicht mit der gleichen Denkweise zu lösen, die sie erzeugt hat.
Albert Einstein
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 05.05.08 14:45 
user profile iconpassiv hat folgendes geschrieben:
Enclopedia Britannica macht das offenbar so: 3GB exe. wenn die Firewall an ist ungefähr 1 Std. Ladezeit ^^

Genau das mein ich :)
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Di 06.05.08 12:21 
Ich weiß jetzt wo mein Problem liegt.
Wenn ich meine Dateien bei 'Programme' speicher, dann
sucht das Programm immer bei 'Programme', auch wenn es
auf einem anderen PC ist.
Was soll ich jetzt machen?
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Di 06.05.08 12:40 
Relative Pfade nehmen. Den Ort der Exe bekommst du mit Application.Filename oder so ähnlich.
Von diesem Pfad den Dateinamen entfernen und den relativen Pfad der benötigten Dateien anhängen.
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Di 06.05.08 12:51 
Meinst du ich soll den Benutzer erst den Pfad eingeben lassen?
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 06.05.08 13:21 
user profile iconBlack Force hat folgendes geschrieben:
Meinst du ich soll den Benutzer erst den Pfad eingeben lassen?


Den muss der Nutzer nicht eingeben, sondern der steht in Application.Exename
Fabian E.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 554

Windows 7 Ultimate
Visual Studio 2008 Pro, Visual Studion 2010 Ultimate
BeitragVerfasst: Di 06.05.08 14:12 
Also deinen aktuellen Pfad findest du mit ExtractFilePath(ParamStr(0)); herraus.
Da kannst du dann noch deine Unterordner dranhängen.

gruß
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Di 06.05.08 14:55 
Danke.
Kann ich das dann einfach einer Variablen zuweisen?
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 06.05.08 14:57 
user profile iconBlack Force hat folgendes geschrieben:
Kann ich das dann einfach einer Variablen zuweisen?

Das kannst du machen, da kommt nämlich ein ganz normaler String raus.

Am besten erstellst du dir Konstanten für die Pfade und Dateien, die du dann, verknüpft mit dem Anwendungspfad, entweder in Variablen speicherst oder einfach jedes mal neu berechnest.
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Di 06.05.08 15:15 
Ist ParamStr(0) auch eine Variable?
Kann man stattdessen auch ParamStr(1) oder ParamStr(2) schreiben?
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 06.05.08 15:20 
Jein.
ParamStr gibt die Parameter, mit denen das Programm aufgerufen wurde, zurück. Und an Stelle 0 steht halt immer der Pfad + Dateiname.

Aber was hindert dich daran, es einfach auszuprobieren, was da drin steht? Lass die ParamStr(1) in einer ShowMessage anzeigen.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 06.05.08 15:23 
user profile iconBlack Force hat folgendes geschrieben:
Ist ParamStr(0) auch eine Variable?

Nein, ParamStr ist eine Funktion. Sie gibt einen Wert zurück - den ersten Parameter.

user profile iconBlack Force hat folgendes geschrieben:
Kann man stattdessen auch ParamStr(1) oder ParamStr(2) schreiben?

Das kann man, aber dann bekommt man die "echten" Parameter der Anwendung. Das ist zum Beispiel, wenn du eine Datei auf die EXE-Datei ziehst oder einen Dateityp mit deiner Anwendung verknüpfst. Dann liefert die Funktion den Dateinamen zurück. ParamStr(0) ist immer vorhanden und gibt den Anwendungsnamen zurück.

Du kannst statt ParamStr(0) auch Application.ExeName schreiben.