vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Binär Umwandlung 
Autor: OGGI
Datum: 22.01.10 11:13

Howdy Marcel,

Anbei mal der gesamte Quellcode zur Umwandlung von beliebigen ACSII-Zeichen in Binärcode und zurück.
Benötigt werden 2 Textfelder und 2 Schaltflächen. Deine angegebene Website steigt übrigens bei 4.000 Zeichen aus der Quellcode hier wurde mit 5594 Zeichen getestet

Zunächst die beiden Funktionen Dec2Bin und Bin2Dec:
Private Function Dec2Bin(ByVal Dec As Long, ByVal NumDigitsMin As Long) As _
  String
    On Error GoTo Dec2BinError
 
    Dim i As Long
 
    ' Binären String zusammensetzen
    Do
        If (Dec And 2 ^ i) > 0 Then ' Bit ist zu setzen
            Dec2Bin = "1" & Dec2Bin  ' "1" setzen
            Dec = Dec - 2 ^ i ' Subtrahieren für Abbruchbedingung
        Else
            Dec2Bin = "0" & Dec2Bin ' "0" setzen
        End If
        i = i + 1 ' Nächste Position
    Loop Until Dec = 0 ' Abbruchbedingung prüfen
    ' Falls minimale Länge unterschritten, mit "0" auffüllen
    Dec2Bin = Format$(Dec2Bin, String(NumDigitsMin, "0"))
Dec2BinExit:
 
    Exit Function
Dec2BinError:
    With Err
        .Raise .Number, .Source, .Description, .HelpFile, .HelpContext
    End With
    Resume Dec2BinExit
End Function
Private Function Bin2Dec(ByVal Bin As String) As Long
    On Error GoTo Bin2DecError
 
    Dim i As Long
    Dim lngLen As Long
 
    lngLen = Len(Bin)
    If Right(Bin, 1) = "," Then
        Bin = Left(Bin, lngLen - 1)
        lngLen = lngLen - 1
    End If
 
    ' Binärstring zerlegen
    For i = lngLen To 1 Step -1 ' Wir gehen von rechts nach links vor (LSB 
    ' -> MSB)
        Bin2Dec = Bin2Dec + IIf(Mid$(Bin, i, 1) = "1", 2 ^ (lngLen - i), 0)
    Next i
 
Bin2DecExit:
    Exit Function
Bin2DecError:
    ' Wird (beispielsweise) bei Bereichsüberschreitung des Long-Datentyps 
    ' gefeuert
    With Err
        .Raise .Number, .Source, .Description, .HelpFile, .HelpContext
    End With
    Resume Bin2DecExit
  End Function
und nun noch der Code der beiden Schaltflächen:
Private Sub Command1_Click()
 
    'von ascii nach binär umwandeln
 
    Dim l As Long
    Dim sa As String
    Dim sb As String
    Dim lZahl As Long
 
    Me.MousePointer = 11
 
    sa = Text1.Text
    Text2.Text = ""
 
    For l = 1 To Len(sa)
        lZahl = Asc(Mid(sa, l, 1))  'ein zeichen heraussuchen
        sb = sb & Dec2Bin(lZahl, 8) 'zeichen in 8 bit zahl umwandeln
    Next l
 
    Text2.Text = sb
    Text1.Text = ""
 
    Me.MousePointer = 0
 
End Sub
Private Sub Command2_Click()
 
    'von binär nach ascii umwandeln
 
    Dim l As Long
    Dim sa As String
    Dim sb As String
    Dim sc As String
 
    Me.MousePointer = 11
 
    sa = Text2.Text
    Text1.Text = ""
 
    For l = 1 To Len(sa) Step 8 'schleife in 8ter sprüngen durchlaufen
        sb = Mid(sa, l, 8)  '8 bit zahl heraussuchen
        sb = Bin2Dec(sb)    'funktionsaufruf bin to dec
        sc = sc & Chr(sb)   'ascii-code in zeichen umwandeln
    Next l
 
    Text1.Text = sc
    Text2.Text = ""
 
    Me.MousePointer = 0
 
End Sub
Have Fun
OGGI

Beitrag wurde zuletzt am 22.01.10 um 11:15:17 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Binär Umwandlung3.421Marcel Steiner21.01.10 21:49
Re: Binär Umwandlung2.523Zardoz21.01.10 22:28
Re: Binär Umwandlung2.576Marcel Steiner21.01.10 22:53
Re: Binär Umwandlung2.562Zardoz21.01.10 23:07
Re: Binär Umwandlung2.495Marcel Steiner21.01.10 23:16
Re: Binär Umwandlung2.737Marcel Steiner21.01.10 23:20
Re: Binär Umwandlung2.491Zardoz21.01.10 23:31
Re: Binär Umwandlung2.492Marcel Steiner21.01.10 23:43
Re: Binär Umwandlung2.510Zardoz22.01.10 00:00
Re: Binär Umwandlung2.539Marcel Steiner22.01.10 01:16
Re: Binär Umwandlung2.476Danzi22.01.10 10:19
Re: Binär Umwandlung2.835OGGI22.01.10 11:13
Re: Binär Umwandlung2.509Marcel Steiner22.01.10 13:59

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel