Seite 1 von 2

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

Verfasst: 25.04.2007 13:01
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

Verfasst: 25.04.2007 13:38
von bobobo
bei Runprogramm sollte der komplette Pfad stehen .. oder verzichte auf das Unterverzeichnis

Verfasst: 25.04.2007 13:48
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...

Verfasst: 25.04.2007 17:28
von bobobo
Nur solange Du das in der IDE laufen lässt. Kompiliert sucht das Programm im Programmordner.

Verfasst: 25.04.2007 17:39
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)

Verfasst: 25.04.2007 17:41
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 :)

Verfasst: 25.04.2007 17:45
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.

Verfasst: 25.04.2007 17:45
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()

Verfasst: 25.04.2007 17:56
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.

Verfasst: 25.04.2007 20:00
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.