von string to byte?

B

Benedikt

hi!
ist das überhaupt möglich?
also z.B ich hab

dim x(5) as string
und
dim y(5) as byte

angenommen x(3) = "144"
kann ich den nicht einfach sagen y(3) = x(3)???

also falls ihr euch wundert wieso ich euch immer so kram frage...
öhm das ist weil ich vorhabe eine Datei im textformat über ne tcp/ip verbindung zu übertragen.
ich habe es geschafft ne datei binär einzulesen, und dieses dann in ein textfeld einzufügen,wo die einzelnen indexe je durch ein | getrennt sind. also das sieht dann ungefähr so aus:

77|90|144|0|3|0|0|0|4|0|0|0|255|255|0|0|184|0|0|0|0|0|0|0|64|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|184|0|0|0|14|31|186|14|0|180|9|205|33|184|1|76|205|33|84|104|105|115|32|112|114|111|103|114|97|109|32|99|97|110|110|111|116|32|98|101|32|114|117|110|32|105|110|32|68|79|83|32|109|111|100|101|46|13|13|10|36|0|0|0|0|0|0|0|143|138|249|219|203|235|151|136|203|235|151|136|203|235|151|136|72|247|153|136|202|235|151|136|162|244|158|136|202|235|151|136|34|244|154|136|202|235|151|136|82|105|99|104|203|235|151|136|0|0|0|0|0|0|0|0|80|69|0|0|76|1|3|0|95|122|70|62|0|0|0|0|0|0|0|0|224|0|15|1|11|1|6|0|0|16|0|0|0|32|0|0|0|0|0|0|40|17|0|0|0|16|0|0|0|32|0|0|0|0|64|0|0|16|0|0|0|16|0|0|4|0|0|0|1|0|0|0|4|0|0|0|0|0|0|0|0|64|0|0|0|16|0|0|178|71|0|0|2|0|0|0|0|0|16|0|0|16|0|0|0|0|16|0|0|16|0|0|0|0|0|

dann hab ich es nun fertiggebracht (oder besser gesagt ihr habt es getan, alllles durch eure hilfe natürlich ;) ),
wenn ich diesen text dann übertragen habe ihn wieder in eine variable as string einzufügen.
dann habe ich die selbe variable wie beim einlsesn as byte nun as string. Und drum frage ich, wie ich das von string nach byte bekomm
vielen dank,
benedikt
 
Wenn VB die Typenumwandlung nicht schon gleich vornimmt, kannst du ihn mit CByte dazu zwingen :)

y(1) = CByte(x(1))

mfg Grimreaper
 
hmm CByte funktioniert bei mir irrgendwie nicht.. oda mach ich was falsch?

PHP:
Private Sub Command2_Click()
dim v1() as string
dim v2() as byte

v1() = Split("aaa|bbb|ccc", "|")

Dim i As Integer

For i = 0 To UBound(v1)
v2(i) = CByte(v1(i))
Next i
End Sub

Dann kommt immer "Run-time Error 13; Type mismatch"
:-(

was mach ich den falsch?
vielen dank,
Benedikt
 
Eigentlich dürfte es doch da keine Probleme geben!
Wenn du die einzelnen Zahlen sauber ausliest, und diese nicht größer als 255 werden, kannst du die Strings einfach in das ByteArray eintragen!
 
jo, jetzt geht alles,
ich hab 1. aaa|bbb|ccc anstadt zahlen genommen und 2. redim 2.Variable(grösseDer1.) vergessen

vielen dank,
Benedikt
 
Hallo,
ich bin neu hier und habe genau das gleiche vor wie Benedikt. Zum einüben habe ich ein Programm geschrieben, das den Binär-Code einer Datei anzeigt und wieder speichern soll, aber beim Speichern wird dann der angezeigte Code und nicht die eigentlichen Werte gespeichert.

Textdatei.txt:
abcdefghijklmnopqurstuvwxyz0123456789

Anzeige im Texfeld:
979899100101102103104106105107108109110111112113117114115116117118119120121122484950515253545556570

neue gespeicherte Textdatei2.txt
979899100101102103104106105107108109110111112113117114115116117118119120121122484950515253545556570

Kann mir irgendjemand sagen wie der richtige Code aussehen muss, mit dem man die Datei öffnet, über TCP/IP verschickt und wieder richtig speichert.

Danke im Voraus
 

Neue Beiträge

Zurück