Verfasst: 20.11.2006 15:46
>@and110011
>deine proc vermisst unicode.
Doch, das tut sie jetzt.
es war nur eine winzig kleine Veränderung nötig, überall, wo mit Peeks() gearbeitet wird, das Anhängsel *(1+#PB_Compiler_Unicode) bei Pointern etc. hinzuzufügen. Normalerweise, wird ind er FOR-Schleife mit PeekS() nur drei Zeichen (=drei Bytes) gelesen. Das Anhängsel bewirkt, dass bei eingeschaltetem Unicode die 3 auf eine 6 erweitert wird. Somit ist keine zusätzliche IF-Abfrage nötig.
Damit ist meine proc auch endlich vollendet. (hoffe ich)
Ich persönlich habe noch nie mit Unicode gearbeitet und sehe derzeit auch keinen Grund, warum ich umsteigen sollte, deshalb habe ich leider nicht so die Erfahrung damit... 
>deine proc vermisst unicode.
Doch, das tut sie jetzt.

es war nur eine winzig kleine Veränderung nötig, überall, wo mit Peeks() gearbeitet wird, das Anhängsel *(1+#PB_Compiler_Unicode) bei Pointern etc. hinzuzufügen. Normalerweise, wird ind er FOR-Schleife mit PeekS() nur drei Zeichen (=drei Bytes) gelesen. Das Anhängsel bewirkt, dass bei eingeschaltetem Unicode die 3 auf eine 6 erweitert wird. Somit ist keine zusätzliche IF-Abfrage nötig.
Damit ist meine proc auch endlich vollendet. (hoffe ich)
Code: Alles auswählen
Procedure.s tausendertrennzeichen(zahl.q, separator.s=".")
If zahl > -1000 And zahl < 1000
ProcedureReturn Str(zahl)
EndIf
Protected zahl$=RemoveString(StrQ(zahl), "-"), start.l=Len(zahl$)%3, res.s=PeekS(@zahl$, start), n.l
For n=start To Len(zahl$)-start-1 Step 3
res+separator+PeekS(@zahl$+n*(1+#PB_Compiler_Unicode), 3*(1+#PB_Compiler_Unicode))
Next
If zahl < 0
res="-"+res
EndIf
If start
ProcedureReturn res
Else
ProcedureReturn PeekS(@res+Len(separator)*(1+#PB_Compiler_Unicode))
EndIf
EndProcedure
Debug tausendertrennzeichen(1234567890)
Debug tausendertrennzeichen(123456789)
Debug tausendertrennzeichen(12345678)
Debug tausendertrennzeichen(1234567)
Debug tausendertrennzeichen(123456)
Debug tausendertrennzeichen(12345)
Debug tausendertrennzeichen(1234)
Debug tausendertrennzeichen(123)
Debug tausendertrennzeichen(12)
Debug tausendertrennzeichen(1)
Debug tausendertrennzeichen(0)
Debug tausendertrennzeichen(-1)
Debug tausendertrennzeichen(-12)
Debug tausendertrennzeichen(-123)
Debug tausendertrennzeichen(-1234)
Debug tausendertrennzeichen(-12345)
Debug tausendertrennzeichen(-123456)
Debug tausendertrennzeichen(-1234567)
Debug tausendertrennzeichen(-12345678)
Debug tausendertrennzeichen(-123456789)
Debug tausendertrennzeichen(-1234567890)
