Installationsprogramm

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
obbba
Beiträge: 53
Registriert: 06.02.2006 17:33

Installationsprogramm

Beitrag von obbba »

Ich hab ein Spiel geschrieben und will, dass es auch bei meinen Freunden läuft.
Nur muss ich ja, um eine Datei zu laden den Pfad angeben.

Also hab ich ein Installationsprogramm geschrieben, wo man einen Pfad angeben muss und dann werden von einer Diskette die Dateien in den jeweiligen Ordner reingeschrieben und es wird eine Datei auf der Diskette erstellt, mit einer Liste, was alles geladen werden soll.

Wenn das Spiel gestartet wird, läd es also zuerst die Liste und dann das, was in der Liste drinnen steht.

Nur brauch ich halt dazu immer die Diskette. Geht das auch einfacher?
Kann das Programm zum Beispiel erkennen, wo es gespeichert ist?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Das könntest Du folgendermassen lösen:

Code: Alles auswählen

Procedure.s ExePath()
  Prg.s = Space(#MAX_PATH)
  GetModuleFileName_(GetModuleHandle_(0), @Prg, #MAX_PATH)
  Prg = GetPathPart(Prg)
  If (FindString(Prg,"\PureBasic\Compilers\", 1))
    Prg.s = Space(#MAX_PATH)
    GetCurrentDirectory_(#MAX_PATH,@Prg)
  EndIf
  If Right(Prg, 1) <> "\" : Prg + "\" : EndIf
  ProcedureReturn Prg
EndProcedure

Bild1.s = ExePath() + "Bild1.bmp"
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Installationssysteme

Beitrag von Vermilion »

Also ich kenne da eine Alternative, NSIS (Nullsoft Scripting Installation System)(http://nsis.sourceforge.net/Main_Page).

Da kann man seine Sachen in solche Installer reinpacken, wie sie im Internet bei herunterladbaren Programmen sind. Richtig toller Installer...
Man muss skripten, aber laut Quelle ist das durch die Hilfe einfach zu erlernen :allright:
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
obbba
Beiträge: 53
Registriert: 06.02.2006 17:33

Beitrag von obbba »

Ich probiers mal.
Danke.

Ich will es mal selber machen. So zum üben.
Zuletzt geändert von obbba am 28.04.2006 15:02, insgesamt 1-mal geändert.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Das macht eine Installatation, die meist unnötig ist, aber das Programm
findet doch seine Bilder nicht dadurch :mrgreen:
Für Einsteiger wäre sowies Inno-Setup besser geeignet, bessere Tools und
einfachere Skripte.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Wenn Inno-Setup, dann mit IS-Tool.
Zuletzt geändert von vonTurnundTaxis am 08.05.2006 15:19, insgesamt 1-mal geändert.
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@Obbba

dein kernproblem ist, dass du wohl beim laden von bildern den kompletten pfad der datei angibst, das ist ebenso umständlich wie überflüssig.

wenn das programm ausschließlich läuft, wie z.b. ein kleines spielchen, dann ist der pfad in dem sich die exe befindet automatisch der aktuelle pfad, also mit

Code: Alles auswählen

LoadSprite(0, "Bild.bmp")
wird das bild geladen, das im selben verzeichnis wie die .exe ist.
genauso kannst du auf unterordner zugreifen, also

Code: Alles auswählen

LoadSprite(0, "Bilder\Bild.bmp")
sucht im verzeichnis der .exe das verzeichnis "bilder" und darin das Bild.

wenn das programm abwechselnd mit anderen programmen läuft, was win-anwendungen ja meistens tun, kann das aktuelle verzeichnis natürlich wechseln, dann benutzt du die Procedure, die ts gepostet hat, um das verzeichnis in dem sich die .exe befindet herauszufinden.

mit installern ist das ganze zwar auch möglich, aber für kleine projekte zu umständlich.
ein einfaches .zip, was man dahin entpacken kann wohin man will erfreut sich größerer beliebtheit... ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Kaeru Gaman hat geschrieben: wenn das programm ausschließlich läuft, wie z.b. ein kleines spielchen, dann ist der pfad in dem sich die exe befindet automatisch der aktuelle pfad,
Aber nur wenn es per Doppelclick oder mit einer Vernüpfung, in der "Ausführen in" eingetragen wurde, gestartet wird! Ansonsten lieber meinen
obigen Code verwenden, bzw. besser immer, der aktuelle Pfad kann auch
nachträglich von anderen Programmen geändert werden! Man darf nicht
unterstellen, das nur dieses eine Programm gerade läuft!
Zuletzt geändert von ts-soft am 04.05.2006 20:20, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ja, ok, ts, wo du recht hast, hast du nunmal recht... ;)

...aber nie, nie, niemals und unter keinen umständen absolute pfade verwenden.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Kann man eigentlich irgentwie auf dass Standard Installations Programm zugreifen. Dass heiß glaub ich Install-Witzard oder shield.
Antworten