Strings kürzen

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 :smile:

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 :smile:

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:

  1. Mid$() ist eine Funktione welche ein Resultat zurückliefert und dies muss abgespeichert werden:
    pws = Mid$(pw, digit, Len(pw) - digit)

  2. 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!!!