Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 19.07.2005, 11:34 Titel: |
|
|
Ja natürlich, da der STRING anscheinend kein CHR$(0) transportieren kann, aber das letzte Arrayelement lautet sowieso 0. Dadurch ist das Array schon "nullterminiert", wodurch du CHR$(0) am Ende nicht mehr mitgeben musst. Wenn du CHR$(0) inmitten des Strings benutzen willst, würde ich dir raten CHR$(219) oder sowas zu schreiben und dann in der Umwandelsub dieses hier zu machen:
If BArray(i&) = 219 Then BArray(i&)=0 _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
licer
Anmeldungsdatum: 17.05.2005 Beiträge: 51
|
Verfasst am: 19.07.2005, 11:40 Titel: |
|
|
Ich hab eine Lösung:
Code: |
sub StringToByteArray(MyString As String, ByteArray() As Byte)
Redim BArray(LEN(MyString)) As Byte
For i& = 1 TO LEN(MyString)
if (MID$(MyString, i&,1)) <> "|" then
BArray(i&-1) = ASC(MID$(MyString, i&,1))
else BArray(i&-1) = 0
end if
NEXT i&
Redim ByteArray(LEN(MyString)) As Byte
FOR i& = 0 TO UBOUND(BArray)
ByteArray(i&) = BArray(i&)
Next i&
Erase BArray
End sub
|
Neu ist dieser Teil
Code: |
if (MID$(MyString, i&,1)) <> "|" then
BArray(i&-1) = ASC(MID$(MyString, i&,1))
else BArray(i&-1) = 0
end if
|
Somit kann der String jetzt wie folgt geschrieben werden:
Code: |
stringtobytearray "Text File(*.txt)|*.txt|All Files(*.*)|*.*||",ByteArray
|
Hab also einfach mein eigenes Trennzeichen definiert.
Danke für die Hilfe allein wäre ich da nie drauf gekommen. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
licer
Anmeldungsdatum: 17.05.2005 Beiträge: 51
|
Verfasst am: 19.07.2005, 11:45 Titel: |
|
|
Jap das war ja der sinn der sache.
Den Array dann einfach mit @ByteArray(0) (Also erstes zeichen) übergeben und alles funktioniert wunderbar. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
licer
Anmeldungsdatum: 17.05.2005 Beiträge: 51
|
Verfasst am: 19.07.2005, 11:52 Titel: |
|
|
Da ich auch noch probleme mit meiner Listbox hatte hab ich das ganze da auch mal ausprobiert. Es funktioniert allerdings muss die das @ weggelassen werden also so:
Code: |
dim test as string
test = "Hallo|"
stringtobytearray test,ByteArray()
sendmessage hbtn(1), LB_ADDSTRING, null, Bytearray(0)
|
Kann man sich eigentlich irgendwo melden wenn man Bugs in Freebasic enddeckt hat? Denn ich finde null strings sollte man schon einfacher definieren können und das könnte man ja mal für die nächste Freebasic versin vormerken. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
licer
Anmeldungsdatum: 17.05.2005 Beiträge: 51
|
Verfasst am: 19.07.2005, 12:16 Titel: |
|
|
Ok habs jetzt mal ins Freebasic.net forum gepostet.
Ich hoffe mein Englisch war verständlich genug *g* |
|
Nach oben |
|
|
PeterHarder
Anmeldungsdatum: 27.03.2005 Beiträge: 45 Wohnort: Deutschland
|
Verfasst am: 20.07.2005, 01:06 Titel: |
|
|
Mit der neuen Version 0.14 (unstable testing) soll es angeblich möglich sein, auch Chr$(0) zu speichern. Ob nun nur mit ZSTRING oder auch mit STRING weiß ich allerdings nicht, am besten mal "changelog.txt" der 0.14 durchschnüffeln. Ich selber hab' die neueste Version 0.14 noch nicht, hab' die Info nur im englischsprachigen Forum aufgeschnappt.
Liebe Grüße
Peter _________________ Deutsche Mailingliste für freeBASIC: de.groups.yahoo.com/group/free-basic.
Zum Anmelden einfach eine leere E-Mail an free-basic-subscribe@yahoogroups.de senden. |
|
Nach oben |
|
|
|