Varbinary

08/05/2008 - 00:31 von Matthias Kahlert | Report spam
Habadere zusammen...

ich hab nen Text in ner Variablen vom Typ VARBINARY ( TYPE()="Q" )

Gibts ne Chance, diesen "Text" in einen "normalen" anzeigbaren und
verarbeitbaren String zu verwandeln?

TRANSFORM() half nicht... CAST() auch nicht... eine Ausgabe per
MESSAGEBOX() zeigt nur Hex-Zeichen an... Manuelle Umrechnung klappt
zwar, ich dachte nur, vielleicht gibts da was einfacheres...

Momentan mach ich es einfach mit:

IF TYPE("lcErg") == "Q" THEN
lcErg2 = ""
FOR lnI = 1 TO LEN(lcErg)
lcErg2 = lcErg2 + CHR(ASC(SUBSTR(lcErg,lnI,1)))
ENDFOR
lcErg = lcErg2
ENDIF

Was eleganteres wàr mir lieber ;-)

Matthias
 

Lesen sie die antworten

#1 Jürgen Wondzinski
08/05/2008 - 01:22 | Warnen spam
Hallo Matthias

Warum so kompliziert?

create cursor test (Feld1 Q(20))
insert into test values ("abcdef")
? Feld1 && 0h616263646566

D.h. Ein VARBINARY zeigt dir den Hexwert des Inhaltes an, tut aber intern
normal arbeiten:

? LEFT(Feld1,2) && 0h6162
? Feld1 + "123" && 0h616263646566313233

Und wenn du das Feld vom Typ Q auf String wandelst:

? CAST(Feld1 AS C(20))

kommt auch visuell wieder das Richtige raus.



Jürgen Wondzinski

Microsoft Visual FoxPro Technologieberater
Microsoft Most Valuable Professional seit 1996
"*´¨)
¸.•´¸.•*´¨) ¸.•*¨)
(¸.•´. (¸.•` *
.•`.Visual FoxPro: It's magic !
(¸.•``••*

Ähnliche fragen