ASCII String in Structure

Für allgemeine Fragen zur Programmierung mit PureBasic.
Cläusel
Beiträge: 25
Registriert: 14.08.2010 21:26
Computerausstattung: PB5.73 Win10 64bit
Wohnort: Oberland

ASCII String in Structure

Beitrag von Cläusel »

Ahoi.
Brauch da mal nen Schlagwort für die Suche, damit ich weiß wonach überhaupt.
Hab mal ein paar Tools die im ASCII Modus problemlos funktionierten,
mit PB5.70, also Unicode, bearbeitet.
Das macht natürlich Probleme, wenn die *.dll Ascii Strings an die übergebene Struktur zurück gibt.
An welchen Stelle kann ich den Ascii Rückgabestring bei "currentChannelInfo\name" auf Unicode konvertieren, das ich den
String in der Anwendung weiter korrekt verwenden kann?
Oder vorher schon irgendwie mit .p.ascii ? Aber wie verwende ich das in einer Struktur?
Bin wahrscheinlich komplett auf dem Holzweg.

Beste Grüße =o)

Code: Alles auswählen

Structure CHANNELINFO
id.u
type.u 
name.s{128} 
EndStructure

Define currentChannelInfo.CHANNELINFO
Define currentChannelHandle.i = 798722 ;what ever

If OpenLibrary(0,"MYDLL.dll")
     Define Result.i = CallFunction(0,"GetChannelInfo",currentChannelHandle, @currentChannelInfo)
     Debug currentChannelInfo\name ;<<< Hier nur Chinesische Zeichen da ja Ascii von der *. dll zurückgegeben wird, PB aber Unicode darstellt.
     CloseLibrary(0)
EndIf
Benutzeravatar
mk-soft
Beiträge: 3700
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: ASCII String in Structure

Beitrag von mk-soft »

abc...

Code: Alles auswählen

Structure CHANNELINFO
  id.u
  type.u 
  name.b[128] ; Array of byte range 0..127
EndStructure

Define currentChannelInfo.CHANNELINFO
Define currentChannelHandle.i = 798722 ;what ever

Macro getASCII(text)
  PeekS(text, -1 , #PB_Ascii)
EndMacro

If OpenLibrary(0,"MYDLL.dll")
  Define Result.i = CallFunction(0,"GetChannelInfo",currentChannelHandle, @currentChannelInfo)
  Debug currentChannelInfo\name ;<<< Hier nur Chinesische Zeichen da ja Ascii von der *. dll zurückgegeben wird, PB aber Unicode darstellt.
  Debug getASCII(Debug currentChannelInfo\name)
  Debug PeekS(currentChannelInfo\name, -1 , #PB_Ascii)
  CloseLibrary(0)
EndIf
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Cläusel
Beiträge: 25
Registriert: 14.08.2010 21:26
Computerausstattung: PB5.73 Win10 64bit
Wohnort: Oberland

Re: ASCII String in Structure

Beitrag von Cläusel »

Ach Gott ja... :roll:
Betriebsblind.. bin völlig falschen Überlegungen nachgegangen...

Ich werde die Struktur mit String belassen und nach dem dll Aufruf mal eben
mit PeekS und PokeS nach Unicode ummodeln....

Vielen Dank !!!!

:allright:
Antworten