Seite 1 von 1

Webgadget mit ?????????

Verfasst: 21.03.2018 12:21
von Velindos
Hallo Leute,
wenn ich die Page ins WebGadget lade, sehe ich unter
Quellencode das mit "????????????????" angehängt werden.

Code: Alles auswählen

; Page ins WEBGADGET
SetGadgetItemText(#WebGadget, #PB_Web_HtmlCode, PeekS(?HELP_GERMAN,-1,#PB_Unicode))
DataSection
HELP_GERMAN:
IncludeBinary "D:\[Pure@API]\[DESKTOP]\[BLACK_UP]\HELP\HELP_GERMAN.html": Data.b 0
EndDataSection
Obwohl ich im Betrachter nichts davon sehe!

Jeman einen TIP?

Gruss ... Velindos!

Re: Webgadget mit ?????????

Verfasst: 21.03.2018 12:26
von RSBasic
Deine HTML-Datei ist wahrscheinlich im UTF-8 gespeichert. Deshalb musst du auch mit #PB_UTF8 peeken.
Mit folgender Zeile geht es:

Code: Alles auswählen

SetGadgetItemText(#WebGadget, #PB_Web_HtmlCode, PeekS(?HELP_GERMAN, -1, #PB_UTF8))
Wenn es auch nicht klappt, dann versuch es mit #PB_Ascii, je nachdem in welcher Kodierung deine HTML-Datei gespeichert wurde.
Das kannst du sowohl in Notepad als auch in einem anderen Textbearbeitungsprogramm wie Notepad++ ermitteln.

Re: Webgadget mit ?????????

Verfasst: 21.03.2018 13:14
von Velindos
Hallo,
Danke für den Tip!

Hab die Sache als #PB_Unicode gespeichert! Nun geändert auf #PB_Ascii und es klappt!

Code: Alles auswählen

If CreateFile(0,HtmlExporter$)
  ; CLEAR
  HTML_Seite = ""
  ; BUSY
  ; WebGadgetBusy(#iPage_Browser)
  ; iPage
  HTML_Seite = GetGadgetItemText(#iPage_Browser, #PB_Web_HtmlCode)
  ; BLOB
  ; WriteStringFormat(0, #PB_Unicode)
  ; Geändert
  WriteStringFormat(0, #PB_Ascii)
  ; STRING
  ; WriteStringFormat(0, #PB_Unicode)
  ; Geändert
  WriteStringFormat(0, #PB_Ascii)
  ; Close
  CloseFile(0)
EndIf
Was mir nicht klar ist, warum es auf #PB_Unicode zu den "?" gekommen ist?

Gruss ... Velindos!

Re: Webgadget mit ?????????

Verfasst: 21.03.2018 14:08
von RSBasic
Du kannst die Rückgabe von PeekS() ausgeben lassen, dann siehst du die richtigen Zeichen. Es sind nicht "???", sondern andere Zeichen.
"???" wird nur im WebGadget dargestellt, weil der Internet Explorer diese Zeichen nicht darstellen kann.

Re: Webgadget mit ?????????

Verfasst: 21.03.2018 14:37
von ¯\_(ツ)_/¯
@rs: Wie ermittelt man den in notepad ob utf8 oder unicode oder ascii ist? In meiner Status Bar
sehe ich nur Zeile und Spalte.

Re: Webgadget mit ?????????

Verfasst: 21.03.2018 14:40
von RSBasic
Du kannst nach dem Öffnen der Datei auf "Speichern unter" klicken, dann siehst du unten rechts im Dialog, mit welchem Zeichensatz die Datei kodiert ist.

Re: Webgadget mit ?????????

Verfasst: 21.03.2018 20:49
von freak
Velindos hat geschrieben:Was mir nicht klar ist, warum es auf #PB_Unicode zu den "?" gekommen ist?
Weil du die DataSection mit "Data.b 0" terminiert hast. Unicode Strings müssen aber mit 2 Nullbyte terminiert werden. "Data.w 0" wäre also nötig gewesen. Desshalb hat das PeekS über das Ende hinaus gelesen.

Re: Webgadget mit ?????????

Verfasst: 21.03.2018 20:52
von NicTheQuick
[Klugscheißmodus]
Data.u 0
Denn u steht für Unicode, auch wenn Words genau so breit sind. <)
[/Klugscheißmodus]