Quickbasics Mid$ als Funktion nur für Ascii, Unicode ???
Verfasst: 05.08.2014 21:34
Funktioniert nur für Ascii , also in Compileroptionen Unicode aus
Was muß man ändern, damit das auch mit Unicode funktioniert ?
Begreif das leider nicht so ganz !
Was muß man ändern, damit das auch mit Unicode funktioniert ?
Begreif das leider nicht so ganz !
Code: Alles auswählen
; siehe http://de.wikibooks.org/wiki/Quick_Basic:_Mid
; Beispiel Quickbasic
;
; zeichenkette$ = "Das ist eine schwer zu verstehende Sache"
; MID$(zeichenkette$, 14, 6) = "leicht"
; Ausgabe: "Das ist eine leicht zu verstehende Sache"
DeclareModule StringBefehle
; Alle Elemente in diesem Abschnitt sind für den Zugriff von außerhalb verfügbar
EnableExplicit
Declare.i Midstrg(*p_ori, abposi, neu$, anzChar)
Macro MIDSTRING(a,b,c,d=#PB_All)
Midstrg(@a,b,c,d)
EndMacro
EndDeclareModule
Module StringBefehle
EnableExplicit
Structure MID_CHAR
StructureUnion
s.s {1}[0]
c.c [0]
EndStructureUnion
EndStructure
Procedure.i Midstrg(*p_ori, abposi, neu$, anzChar)
Protected j, neulg = Len(neu$)
If anzChar = 0
ProcedureReturn
ElseIf anzChar = #PB_All
anzChar = neulg
ElseIf anzChar > neulg
neu$ = LSet(neu$, anzChar)
EndIf
Protected *ori.MID_CHAR = *p_ori + abposi - 1
Protected *neu.MID_CHAR = @neu$
For j = 0 To anzChar - 1
If *ori\c[j] > 0
*ori\s[j] = *neu\s[j]
EndIf
Next
EndProcedure
EndModule
UseModule StringBefehle
Define a$ = "Das ist eine schwer zu verstehende Sache"
MIDSTRING(a$, 14, "leicht")
Debug a$