Hallo,
könnte mir bitte jemand sagen, ob und wie man Strings auf eine bestimmte Länge kürzen kann. Z.B.: ungekürzter String=„hallo da“ und der gekürzter String=„hallo“!!! Ich wäre sehr dankbar für diesen Tipp!!! Vielen Dank im Vorraus!!!
hallo
guck dir die funktionen
left, mid und split an.
gruss
Mit left, mid habe ich es schon probiert, aber es funktionierte nicht so ganz!!! Ich versuch´s jetzt nochmal mit split.
Vielen Dank!!!
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Zur Egänzung von Guiseppe:
Right und Len.
Was genau sollte denn gehen und geht nicht?
Grüsse Peter
Was genau sollte denn gehen und geht nicht?
Grüsse Peter
Naja,
wenn ich jetzt wiedermal den String=„hallo da“ habe, sollte er auf „hallo“ kürzbar sein aber nicht auf z.B.:„hal“. Ich versuche Gerade einen Passwortgenerator zu schreiben, weise ein paar Zufallszahlen den entsprechenden ANSI-Wert zu und will dieses Passwort auf die Länge der eingegeben Stellen (numerischer Wert aus einer Textbox) bringen. Wenn der User jetzt angibt, 1 Stelle zu wollen, bringt mir das 3 Stellen , bei 2 Stellen bringt mir das immer 2 Stellen , bei 3 Stellen bringt mir das 1 Stelle , ab 4 Stellen wird im Label (in dem das PW ausgegeben werden soll) gar nichts angezeigt!!!
Hi
Also ich sehe das Problem nicht
Private Sub Command1\_Click()
Const lngLength As Long = 5
Const MyString As String = "Hallo da"
Dim NewMyString As String
NewMyString = Left(MyString, lngLength)
MsgBox NewMyString
End Sub
gruss
Giuseppe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi
Also ich sehe das Problem nicht
Private Sub Command1_Click()
Const lngLength As Long = 5
Const MyString As String = „Hallo da“Dim NewMyString As String
NewMyString = Left(MyString, lngLength)
MsgBox NewMyString
End Sub
gruss
Giuseppe
Ich habe hier mal den Quellcode:
Option Explicit
Dim digit&
Dim pw$
Dim pwz&
Dim pwgb&
Dim pwkb&
Dim pws$
Private Sub Command1_Click()
digit = Text1.Text
pwz = Int((57 - 48 + 1) * Rnd + 48)
pwgb = Int((90 - 65 + 1) * Rnd + 65)
pwkb = Int((122 - 97 + 1) * Rnd + 97)
pw = Chr$(pwkb) + Chr$(pwgb) + Chr$(pwz)
Mid$(pw, digit, Len(pw) - digit) = pws
Label1.Caption = pws
End Sub
Das mit dem Left hat auch nich geklappt, da kam immer so´ne Fehlermeldung von wegen Mehrfachdeklaration im aktivem Gültigkeitsbereich.
Könnte mir jemand den obigen Quelltext so modifizieren, dass es funktioniert??? Wenn ja, dann bitte mit Kommentaren! Vielen Dank im Voraus!!!
wie wärs so: text1.text enthält die länge.
Private Sub Command1\_Click()
Dim m\_strPW As String
Dim m\_intCount As Integer
For m\_intCount = 1 To Text1.Text
Randomize
m\_strPW = m\_strPW & Chr(Int(Rnd() \* 58) + 65)
Next
Label1.Caption = m\_strPW
End Sub
Hallo frolic,
Mid$(pw, digit, Len(pw) - digit) = pws
Hier gibt es gleich 2 Fehler:
-
Mid$() ist eine Funktione welche ein Resultat zurückliefert und dies muss abgespeichert werden:
pws = Mid$(pw, digit, Len(pw) - digit) -
Die Paramater lauten
MID$(String, Start, Länge)
String = Diejenige Zeichenkette welche bearbeitet werden soll
Start = Ist die Position des ersten Zeichens welches in der Ausgabe enthalten sein soll.
Länge = Wieviele Zeichen ab der in Start angegebenen Position übernommen werden.
Dim MyString
MyString = „AbCdEfG“
’ Wobei „A“, „C“, „E“ und „G“ DBCS sind und „b“, „d“
’ und „f“ SBCS sind.
MyNewString = Mid(MyString, 3, 4)
’ Liefert "„CdEf“
MyNewString = MidB(MyString, 3, 4)
’ Liefert "„bC“
MyNewString = MidMbcs(MyString, 3, 4)
’ Liefert „bCd“
MID$() ist die allgemeine Funktion:
LEFT$(MyString,3) entspricht MID$(MyString,1,3)
RIGHT$(MyString,3) entspricht MID$(MyString,LEN(MyString)-3,3)
MfG Peter(TOO)
DANKE!!! Ich hoffe es funktioniert jetzt (kann es leider nicht ausprobieren, da ich momentan nicht die Möglichkeit habe, an meinen PC zu gelangen) Vielen Dank nochmal!!!