Frage

Bedenken Sie:

char [] chararray = txt1.Text;

Wie wir das gleiche tun in Visual Basic 6.0?

War es hilfreich?

Lösung

Das hängt davon ab, was Sie schließlich tun wollen.

Sie können zum Beispiel tun dies in VB6:

Dim b() As Byte
b = Text1.Text

Auf diese Weise die b Array der Größe verändert werden wird die Unicode-Daten von "string" zu halten - aber dann jedes Zeichen wird über zwei Bytes aufgeteilt werden, die wahrscheinlich nicht das, was Sie wollen. Dieser Trick funktioniert nur mit Byte.


Sie können auch das tun:

Dim b() As Byte
b = StrConv(Text1.Text, vbFromUnicode)

wird jeder Buchstabe nun ein Byte besetzen, aber die erweiterten Zeichen verschwunden sein. Dies nur tun, wenn die aktuelle System-Codepage der erforderlichen Zeichen enthält.


Sie können die Zeichen kopieren manuell auf ein Array:

Dim s() As String, i As Long
ReDim s(1 To Len(Text1.Text))

For i = 1 To UBound(s)
  s(i) = Mid$(Text1.Text, i, 1)
Next

oder Sie können sogar ein Array überhaupt vermeiden zu schaffen, becase Mid dient auch als Indexer Operator, der ein Zeichen an Stelle ändert, ohne das Kopieren oder etwas Zuweisung:

Dim s As String
s = Text1.Text

Mid$(s, 3, 1) = "!"

Andere Tipps

Sie können das gleiche in VB6 nicht tun, da es keinen Zeichendatentyp hat.

Sie können die Zeichenfolge in ein Array von Strings aufgeteilt, die jeweils ein einzelnes Zeichen:

Dim chararray(Len(txt1.Text) - 1) As String
For i = 1 to Len(txt1.Text)
  chararray(i - 1) = Mid(txt1.Text, i, 1)
Next

Edit:

Um eine Zeichenfolge durchqueren und Zeichen ersetzen, können Sie einfach Schleife über Länge es und verwenden Sie die String-Funktion, es zu manipulieren:

' Copy the value of the proeprty to a local variable
Dim text as String = txt1.Text
' Loop over the length of the string
For i = 1 to Len(text)
  ' Check the value of a character
  If Mid(text, i, 1) = " " Then
    ' Replace a character
    Mid(textx, i, 1) = "*"
  End If
Next

VB6 hat einen String Typ sodass dieser Code einfach wird:

Dim x As String
x = Text1.Text

Sie können diesen Text an Ort und Stelle bearbeiten und einzelne Zeichen manipulieren, um die VB6-String-Funktionen.

In den seltenen Fällen, in denen Sie wirklich ein Array der caracter Codes benötigen, müssen Sie eine Byte Array deklarieren (VB hat keine char Typ), dann weisen Sie einfach die Zeichenfolge in das Array oder die Verwendung StrConv zu Unicode behandeln Codepunkte unterschiedlich, wie durch @GSerg.

String To Array :

Public Function str2Array(xString As String) As String()
Dim tmpArray() As String
Dim tmpchar As String

' /* For Each Character In The String */
For I = 1 To Len(xString)

    ' /* Retrieve The Character */
    tmpchar = Mid(xString, I, 1)
    ' /* Push It Into The Temporary Array */
    spush tmpArray, tmpchar
Next I

' /* Return The Array To The Calling Procedure */
str2Array = tmpArray
End Function

Sie können den UNICODE-Wert jedes Zeichen der Zeichenfolge auf diese Weise erhalten:

Dim chararray (1 bis Len (txt1.Text)) As Long

Für i = 1 bis Len (txt1.Text)   chararray (i) = AscW (Mid (Text1.Text, i, 1)) Weiter

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top