hej jag har följande! det finns något liknande i filarean där man ska skicka binärdata över nätverk med winsock och sedan ÅTERSTÄLLA till binär... Vad menar du egentligen med binärdata? Hej Du kan konvertera en sträng till en bytarray: [Edit] Insåg för sent att jag bara upprepade vad som tidigare sagts i tråden så jag försökte radera inlägget men det fick jag inte. Sorry :-) Märkligt, av 5 inlägg är det EN som har gjort en ansträngning att svara på min fråga... >Märkligt, av 5 inlägg är det EN som har gjort en ansträngning att svara på min fråga... Japp, jag har använt det som du skrev ovan: Om du skriver ut den "binära textsträngen", vad får du då? Nu använder jag inte den "binära textsträngen längre", har gjort om programmet så att den ska försvinna istället. MEn jag stöter på ett annat konstigt problem med följande kod: Man måste naturligtvis fråga, även om du troligtvis har kollat - är filen på mer än 100 tecken? ändring: i Put raden ska andra parametern vara tom och inte Len(sTemp) Det verkar ändå som att den inte är tom, bara det att man inte ser något i den... den har fortfarande en storlek på 3,4 Kb... Du måste ha alokerat strängen innan du kan hämta information med Get: Tack för hjälpen, problemet är äntligen löst! Någon som vet vilken av FileLen() och LOF() som är snabbast?konvertera String till Binary
Dim sTemp as String
sTemp = "En himla massa text"
'här vill jag konvertera strängen till binär data
'finns det ngt enkelt sätt att göra detta på?
Tack på förhand
JohanSv: konvertera String till Binary
Sv: konvertera String till Binary
Vill du omvandla det till en ny sträng bestående av 1:or och 0:or?
Eller en array med siffror?
För det är redan i binärt format. Text är aldrig i nåt annat format.
Tal kan du skriva både binärt och som text, (3 resp. "3" i vb), men text kan bara kodas i olika teckentabeller.
Fick bara lite behov av att rätta någon...
/Niklas JanssonSv: konvertera String till Binary
>Vad menar du egentligen med binärdata?
Ja det undrar jag också,har hört det flera ggr här i forumet
att det skrivs om sk binärdata.Binära data är som sagt 1:or och 0:or
Tror inte det är detta du vill ha.
Binary betyder tal med Basen 2 dvs 1 eller 0
/SvenSv: konvertera String till Binary
<code>
Dim Text As String
Dim Data() As Byte
Text = "En himla massa text"
Data = Text
</code>
Eftersom strängar är Unicode i vb tar varje tecken upp två Byte.
Vill du ha Ansii värden istället skriver du:
<code>
Dim Text As String
Dim Data() As Byte
Text = "En himla massa text"
Data = StrConv(Text, vbFromUnicode)
End Sub
</code>Sv: konvertera String till Binary
/Per HultqvistSv: konvertera String till Binary
På ett ställe i mitt program skriver jag ner till en fil binärt. På ett annat ställe i programmet ska jag öppna den filen igen och jämföra en del av den texten med en sträng. Bättre än så kan jag inte förklara mitt problem.
JoppeSv: konvertera String till Binary
Eftersom det inte går att förstå din ursprungsfråga (pga det jag skrev) så är det svårt att svara på den.
>På ett ställe i mitt program skriver jag ner till en fil binärt.
Typ "open ... as binary"? Ok.
Vad skriver du ner? En sträng?
>På ett annat ställe i programmet ska jag öppna den filen igen
Samma sak som ovan? Ok.
>och jämföra en del av den texten med en sträng.
Jaha... och vari ligger problemet?
Du hämtar väl strängen precis som du skriver den och sedan är det ju bara att jämföra dem?
/Nilkas JanssonSv: konvertera String till Binary
Open fileNAme as binary for reading as #hFile
Hmm, det är just själva jämförelsen som inte verkar fungera, jag jämför den nämligen med en vanlig sträng:
sTemp = "massa text"
och den ska jämföras med en binär textsträng som jag hämtat från min binära fil.
Sorry om jag verkar vara lite otrevlig, är stressad så in i bänken, tror jag ska försöka mig på en helt annan lösning på mitt problem istället. Tacksam för alla som har skrivit!
/ JohanSv: konvertera String till Binary
/NJSv: konvertera String till Binary
Open fileName For Binary Access Read As #hFile
Get #hFile, , FileBuffer
Close #hFile
If Not FileBuffer = "" Then
sTemp = Right(FileBuffer, Len(FileBuffer) - 100)
End If
Open fileName For Binary Access Write As #hFile
Put #hFile, Len(sTemp), sTemp
Close #hFile
Jag ska alltså ta bort de första 100 tkn från filen men när jag öppnar filen efter att programmet körts så är filen tom. Konstigt?
/ JSv: konvertera String till Binary
/NJSv: konvertera String till Binary
/ JSv: konvertera String till Binary
Sv: konvertera String till Binary
<code>
Dim hFile As Long
Dim sTemp As String
Dim FileName As String
Dim FileBuffer As String
hFile = FreeFile()
'FileName = "C:\Test.txt"
Open FileName For Binary Access Read As #hFile
FileBuffer = String(LOF(hFile), 0)
Get #hFile, , FileBuffer
Close #hFile
If Len(FileBuffer) Then
sTemp = Mid(FileBuffer, 101)
Open FileName For Binary Access Write As #hFile
Put #hFile, , sTemp
Close #hFile
End If
</code>Sv: konvertera String till Binary
Dim XceedZip1 As New XceedZip, XceedZip2 As New XceedZip
Dim ResultCode As xcdError
Dim fileName As String, ZipFileName As String
Dim FileBuffer As String
Dim FileSize As Long
Dim hFile As Integer
Dim sTemp As String
fileName = "SRF2514_030108.srf"
'ZipFileName = App.Path & "\SRF2514_030108.zip"
FileSize = FileLen(App.Path & "\" & fileName)
FileBuffer = String(FileSize, " ")
hFile = FreeFile
Open App.Path & "\" & fileName For Binary Access Read As #hFile
Get #hFile, , FileBuffer
Close #hFile
If Not FileBuffer = "" Then
sTemp = Right(FileBuffer, Len(FileBuffer) - 101)
End If
Open App.Path & "\" & fileName For Binary Access Write As #hFile
Put #hFile, , sTemp
Close #hFile
Nu funkar det perfekt!
/ JSv: konvertera String till Binary
Öppnar FileLen filen och läser storleken? Borde det inte då vara bättre att använda LOF() för at läsa storleken efter som EOF använder en redan öppnad fil?