Starten einer HTML Datei über RunProgram("Index.html&am

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Starten einer HTML Datei über RunProgram("Index.html&am

Beitrag von Tsuki-Namida »

Hallo,
Ich habe hier ein Generieren einer html Datei. es werden von einem html quelltext mit platzhaltern die platzhalter ersetzt und soll gestartet werden mit [RunProgram]
es klappt ja alles soweit, aber das Aufrufen der html will nicht :(
aber ich weiss, dass es geht, habe ich nämlich schonmal gemacht, also eine html Datei zu öffnen. hier ist die ganze Procedure:

Code: Alles auswählen

Procedure Chat(Nick.s,Server.s,Port.s,Chanel.s)
  If ReadFile(0,"chat.wr3") And CreateFile(1,"Chat\SimpleApplet.html")
    While Eof(0) = 0
      T$ = ReadString(0)
      If FindString(T$,"{Server}",0)
        WriteStringN(1,ReplaceString(T$,"{Server}",Server.s))
      ElseIf FindString(T$,"{Port}",0)
        WriteStringN(1,ReplaceString(T$,"{Port}",Port.s))
      ElseIf FindString(T$,"{Channel}",0)
        WriteStringN(1,ReplaceString(T$,"{Channel}",Chanel.s))
      ElseIf FindString(T$,"{Nick}",0)
        WriteStringN(1,ReplaceString(T$,"{Nick}",Nick.s))
      Else
        WriteStringN(1,T$)
      EndIf
    Wend
    CloseFile(0):CloseFile(1)
    RunProgram("Chat\SimpleApplet.html","","")
  EndIf
EndProcedure
Bild
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

bei Runprogramm sollte der komplette Pfad stehen .. oder verzichte auf das Unterverzeichnis
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

okay danke...

es liegt zwar nicht daran das ich den path angeben muss bzw. den exe path nicht suchen muss sondern es wird im Compiler Ordner die html gesucht...
Bild
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Nur solange Du das in der IDE laufen lässt. Kompiliert sucht das Programm im Programmordner.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

meiner erfahrung nach wird im projektordner nach den daten gesucht....(?)

also, wenn ich den source in "...\mygame" speicher, (muss kein unterverzeichnis des PB-ordners sein)
und mein sprite als "...\mygame\Data\sprite.bmp"
und dann per LoadSprite(Nr,"Data\sprite.bmp") lade, funktioniert das,
auch wenn ich aus der IDE heraus starte.

(ok, natürlich sollte man gegen irrtümer sichern und direkt vor dem laden ein GetExePath ausführen)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

naja ich hatte nur nicht daran gedacht das beim runprogramm automatisch der exe path genommen wird deshalb hatte ich ja nach gefragt :)
Bild
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 »

Wenn in der IDE kompiliert wird, wird durch den PB-Compiler der aktuelle
Pfad (CurrentDirectory) zum gespeichertem Source gesetzt, falls dieser
gespeichert wurde.

Man sollte immer den absoluten Pfad ermitteln und seine relativen Pfade
umwandeln in absolute. Damit ist man auf der sicheren Seite, GetExePath
hab ich ja bereits mehrmals gepostet.

Beim aufruf der eigenen Exe geschieht dies ja nicht immer per Doppelklick,
so das CurrentDirectory nicht unbedingt auf die eigene Exe verweist.
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
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Kaeru Gaman hat geschrieben:meiner erfahrung nach wird im projektordner nach den daten gesucht....(?)

also, wenn ich den source in "...\mygame" speicher, (muss kein unterverzeichnis des PB-ordners sein)
und mein sprite als "...\mygame\Data\sprite.bmp"
und dann per LoadSprite(Nr,"Data\sprite.bmp") lade, funktioniert das,
auch wenn ich aus der IDE heraus starte.

(ok, natürlich sollte man gegen irrtümer sichern und direkt vor dem laden ein GetExePath ausführen)
Es geht nicht nur um Daten sondern um eine halbgare Angabe für Runprogram()
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Es geht nicht nur um Daten sondern um eine halbgare Angabe für Runprogram()

jain

...da in diesem spezialfall der parameter für RunProgram ein on-the-fly erstelltes file in einem relativ-pfad ist, kommt es aufs selbe raus.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Also ich rufe Html-Seiten wie folgt auf:

Code: Alles auswählen

url$ = "file:///C:/Chat/SimpleApplet.html"
RunProgram("RunDll32.exe", "Url.dll,FileProtocolHandler "+url$, "")
Vielleicht hilfst ja.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Antworten