lefsaker Skrevet 8. desember 2008 Del Skrevet 8. desember 2008 (endret) Holder på med en konverterer mellom ascii - binært og omvendt. Konverteringen skjer i sanntid, ved å bruke tekstfeltet.textchanged Har googlet meg fram til en funksjon som konvertererer fra binært til ascii, men sliter litt med at den rett og slett... ja.. konverterer i sanntid. Problemet er at programmet kræsjer om jeg ikke plotter inn 8 karakterer om gangen. Som jo er forståelig. Hvordan kan jeg få den til å ikke konvertere dersom antall karakterer i tekstfeltet ikke går opp i 8? Funksjonen: Public Function BinaryToText(ByVal BinaryText As String) As String Dim Characters As String = Regex.Replace(BinaryText, "[^01]", "") Dim ByteArray((Characters.Length / 8) - 1) As Byte For Index As Integer = 0 To ByteArray.Length - 1 ByteArray(Index) = Convert.ToByte(Characters.Substring(Index * 8, 8), 2) Next Return ASCIIEncoding.ASCII.GetString(ByteArray) End Function Endret 8. desember 2008 av lefsaker Lenke til kommentar
duckers Skrevet 8. desember 2008 Del Skrevet 8. desember 2008 Du kan legger en IF rundt der du kaller funksjonen som sjekker om tallet er delelig på 8 før du kaller funksjonen. Altså: if (cint(tekstfelt.lenght / 8) - (tekstfelt.lenght/8)) = 0 then BinaryToText(tekstfelt) end if Eventuelt legge den samme testen inn i funksjonen din (Altså en ifsetning rundt som forhindrer at funksjonen kjører med mindre strengen er delelig på 8) Håper det var forståelig Lenke til kommentar
GeirGrusom Skrevet 8. desember 2008 Del Skrevet 8. desember 2008 (endret) If textfelt.Text.Length Mod 8 = 0 Then BinarytoText(textfelt.Text) End If Modulus operatøren mod gir tilbake rest etter en deleoperasjon. Hvis denne er null vil tallet være delelig på åtte. Det er også mulig å bruke bitoperasjoner If (tekstfelt.Text.Length And 7) = 0 Then BinaryToText(tekstfelt.Text) End If I denne sammenhegnen sjekker vi om de tre første bitene er satt til null, så lenge de er det, er tallet delelig på åtte. Endret 8. desember 2008 av GeirGrusom Lenke til kommentar
lefsaker Skrevet 9. desember 2008 Forfatter Del Skrevet 9. desember 2008 Nice Takker Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå