tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
20
ZUGRIFFE
1627
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Dark Ranger Dark Ranger ist offline Mitglied Brokat
    Registriert seit
    Aug 2005
    Beiträge
    436
    Also! Ich will einen Text in eine Textbox kopieren und dann den Text auseinandernehmen!

    Z.B.: Brauche ich den Text in der ersten Zeile, der Zwischen [ und ] steht! Und dann zum Beispiel noch den Text in der zweiten Zeile von Anfang bis dahin, wo zum ersten mal die Zaheln aufhören!
    Ich kann halt nicht nach dem Text suchen lassen, weil der sich immer wieder verändert, aber diese Merkmale, die ich oben beschrieben haben, ändern sich nicht!

    Und dann sollen die Werte in verschiedene Textboxen aufgeteilt werden!
    Wert1 soll in Textbox1
    Wert2 in Textbox 2 usw.

    Gibt es dafür irgendwelche Befehle? Habt ihr mich überhaupt verstanden?
     

  2. #2
    Registriert seit
    Apr 2004
    Ort
    schweiz
    Beiträge
    618
    Wird dir bestimmt alle Antworten liefern, oder nutze Suchen funktion des Forums

    Such nach Split + String in google, dann bekommste ganz viele Antworten

    mfg
    ziop
     
    ~~Be water my friend~~ by bruce
    ~~Der einfachste Weg, bietet die schwerste Lösungssuche~~ by emkey
    *****************************
    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination

    .:Blödeleienschreiber des 1. offiziellen Sven Uwe Fan-Clubs:.

    -------------------------------------------------------------------------------------

    Mir sche*** egal wer dein Vater ist!! Wenn ich fische geht keiner übers Wasser!

  3. #3
    Dark Ranger Dark Ranger ist offline Mitglied Brokat
    Registriert seit
    Aug 2005
    Beiträge
    436
    Ok!
    Es ist immer gut zu wissen wonach man suchen muss!
     

  4. #4
    Dark Ranger Dark Ranger ist offline Mitglied Brokat
    Registriert seit
    Aug 2005
    Beiträge
    436
    Ich habe Google benutzt und weiß wie ich Split usw. benutze, aber ich habe nicht gefunden, wie man einen Text Zwischen Zwei Zeichen ausliest, kann mir das jemand erklären?
     

  5. #5
    Avatar von dignsag
    dignsag dignsag ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Ort
    Hirsau (BW)
    Beiträge
    261
    Du suchst mit der InStr-Funktion erst nach "[", das liefert dir die Position des [ als Zahl zurück. Schau nach InStr in der Hilfe
    Dann suchst du mit InStr nach "]"
    Und diese beiden Werte benutzt du dann mit der mid-Funktion (Hilfe hilft).

    Allerdings gibt es da noch ein kleines Problem:
    bei mid musst du die länge des Teilstrings angeben, d.h. das der zweite InStr wert dir nicht weiterhelfen wird. Du musst dir die länge zwischen [ und ] errechnen. Dafür nimmst du den 2. InStr wert und ziehst den 1. Instr wert ab.

    Das sieht dann soaus:
    Code :
    1
    2
    3
    
     mid("Hier steht ein [ und ein ]", 1. InStrWert, 2. InStrWert - 1. InStrWert)
     
     Ergebnis: " und ein "

    Die Umsetzung überlass ich mal dir!
     
    Der Weg ist das Ziel!

  6. #6
    Dark Ranger Dark Ranger ist offline Mitglied Brokat
    Registriert seit
    Aug 2005
    Beiträge
    436
    Danke, dass hilft mir sehr weiter!
    Is immer mal wieder schön zu wissen, nach was man suchen muss!
     

  7. #7
    Dark Ranger Dark Ranger ist offline Mitglied Brokat
    Registriert seit
    Aug 2005
    Beiträge
    436
    Geht ganz gut, aber kann ich irgendwie den Code verkürzen?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
    Dim Eingabe As String
    Dim p1 As Integer
    Dim p2 As Integer
    Dim p3 As String
    Dim m1 As Integer
    Dim m2 As Integer
    Dim m3 As String
    Dim k1 As Integer
    Dim k2 As Integer
    Dim k3 As String
    Eingabe = txtEingabe.text
    If InStr(Eingabe, "[") And InStr(Eingabe, "]") Then
    p1 = InStr(Eingabe, "[")
    p2 = InStr(Eingabe, "]")
    p3 = Mid(Eingabe, p1, p2 - p1)
    LblPosition.Caption = "Position " & p3 & "]"
    Else
    LblPosition.Caption = "Keine Angaben"
    End If
    If InStr(Eingabe, "3.Wort") And InStr(Eingabe, "4.Wort") Then
    m1 = InStr(Eingabe, "3.Wort")
    m2 = InStr(Eingabe, "4.Wort")
    m3 = Mid(Eingabe, m1, m2 - m1)
    Lbl3Wort.Caption = m3
    Else
    Lbl3Wort.Caption = "Keine Angaben"
    End If
    If InStr(Eingabe, "4.Wort") And InStr(Eingabe, "5.Wort") Then
    k1 = InStr(Eingabe, "4.Wort")
    k2 = InStr(Eingabe, "5.Wort")
    k3 = Mid(Eingabe, k1, k2 - k1)
    Lbl4Wort.Caption = k3
    Else
    Lbl4Wort.Caption = "Keine Angaben"
    End If

    Es wird halt immer nach ganz bestimmten Wörtern gesucht! Kann mir da einer einen Vorschlag machen, wie ich den Code verkürzen kann, hilft da vielleicht eine Tabelle oder eine Textdatei wo die ganzen wörter nacheinander drinstehen?
    Aber sonst funktioniert der Code perfekt, dank an "dignsag"
     

  8. #8
    Dark Ranger Dark Ranger ist offline Mitglied Brokat
    Registriert seit
    Aug 2005
    Beiträge
    436
    Anscheinend kennt sich auf diesem Gebiet keiner mehr aus oder?
     

  9. #9
    Avatar von dignsag
    dignsag dignsag ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Ort
    Hirsau (BW)
    Beiträge
    261
    Schon, aber ich bin im Moment viel zu sehr beschäftigt als mich da grad durchzudenken. Wenn ich ein freies Minütchen finde werd ich mirs gern nochmal angucken.

    Gruß Dignsag
     
    Der Weg ist das Ziel!

  10. #10
    Dark Ranger Dark Ranger ist offline Mitglied Brokat
    Registriert seit
    Aug 2005
    Beiträge
    436
    OK alles klar! Ich komme irgendwie nicht weiter, obwohl ich den ganzen Tag im Internet nach Lösungen suche!
     

  11. #11
    Avatar von dignsag
    dignsag dignsag ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Ort
    Hirsau (BW)
    Beiträge
    261
    Aaaaaaaalso,

    ich hab mir das ganze jetzt mal näher angeschaut, und bin schon recht stolz das du das alleine so weit hinbekommen hast. Ich kann dir mal zeigen was ich noch geändert habe:

    Erstmal musst du die InStr-Werte nicht jedes mal in eine neue Variable schreiben, völlig unnötig. Du kanns dein InStr() so behandeln als wäre es der Wert der später bei der Durchführung ermittelt wird.

    Beispiel:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
      'Dein Code
      
      If InStr(Eingabe, "[") And InStr(Eingabe, "]") Then
         p1 = InStr(Eingabe, "[")
         p2 = InStr(Eingabe, "]")
         p3 = Mid(Eingabe, p1, p2 - p1)
         LblPosition.Caption = "Position " & p3 & "]"
      Else
         LblPosition.Caption = "Keine Angaben"
      End If
      
      'Mein Vorschlag
      
      If InStr(Eingabe, "[") And InStr(Eingabe, "]") Then
            p3 = Mid(Eingabe, InStr(Eingabe, "["), InStr(Eingabe, "]") - InStr(Eingabe, "["))
            LblPosition.Caption = "Position " & p3 & "]"
      Else
            LblPosition.Caption = "Keine Angaben"
      End If

    Dadurch sparst du dir natürlich auch ne Menge Variablen

    Schau:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
      'Deine Variablendeklarationen
      Dim Eingabe As String
      Dim p1 As Integer
      Dim p2 As Integer
      Dim p3 As String
      Dim m1 As Integer
      Dim m2 As Integer
      Dim m3 As String
      Dim k1 As Integer
      Dim k2 As Integer
      Dim k3 As String
      
      'und die die ich brauche
      
      Dim Eingabe As String
      Dim p3 As String
      Dim m3 As String
      Dim k3 As String

    Und hier dein Code mit meinen Vorschlägen umgestellt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
      Dim Eingabe As String
      Dim p3 As String
      Dim m3 As String
      Dim k3 As String
        
      Eingabe = txtEingabe.Text
        
      If InStr(Eingabe, "[") And InStr(Eingabe, "]") Then
            p3 = Mid(Eingabe, InStr(Eingabe, "["), InStr(Eingabe, "]") - InStr(Eingabe, "["))
            LblPosition.Caption = "Position " & p3 & "]"
      Else
            LblPosition.Caption = "Keine Angaben"
      End If
        
      If InStr(Eingabe, "3.Wort") And InStr(Eingabe, "4.Wort") Then
            m3 = Mid(Eingabe, InStr(Eingabe, "3.Wort"), InStr(Eingabe, "4.Wort") - _ 
            InStr(Eingabe, "3.Wort"))
            Lbl3Wort.Caption = m3
      Else
            Lbl3Wort.Caption = "Keine Angaben"
      End If
        
      If InStr(Eingabe, "4.Wort") And InStr(Eingabe, "5.Wort") Then
            k3 = Mid(Eingabe, InStr(Eingabe, "4.Wort"), InStr(Eingabe, "5.Wort") - _ 
            InStr(Eingabe, "4.Wort"))
            Lbl4Wort.Caption = k3
      Else
            Lbl4Wort.Caption = "Keine Angaben"
      End If

    Das sieht doch schon besser aus oder? Das ganze könntest du evtl. noch durch "Schleifen" vollends verkürzen. Mit "Arrays" kannst du die Variablendeklaration sogar noch verkürzen.
    Aber dich da mal zu informieren und rumzuprobieren überlass ich mal wieder dir

    Hoffe geholfen zu haben
     
    Der Weg ist das Ziel!

  12. #12
    Dark Ranger Dark Ranger ist offline Mitglied Brokat
    Registriert seit
    Aug 2005
    Beiträge
    436
    Klar haste geholfen!
     

  13. #13
    icKe` icKe` ist offline Grünschnabel
    Registriert seit
    Mar 2003
    Beiträge
    3
    Hallo,

    ich brauchte dieses Beispiel auch.

    Allerdings habe ich das Problem, dass bei meiner Ausgabe das erste Zeichen, in diesem Beispiel das "[" mit ausgegeben wird. Das möchte ich jedoch nicht.

    Wie kann ich das ändern


    Um es noch einmal zu erläutern: In dem o.g. Beispiel war es ja so, dass der Text zwischen einem "[" und "]" ausgegeben werden sollte.
    Sagen wir mal: [tutorials.de] => tutorials.de
    Bei mir ist es allerdings so: [tutorials.de] => [tutorials.de


    Danke!
    Geändert von icKe` (27.09.05 um 12:15 Uhr)
     

  14. #14
    Registriert seit
    Apr 2004
    Ort
    schweiz
    Beiträge
    618
    Kleiner Tipp am Rande:
    Informier dich doch bitte erst was die Funktionen genau bewerkstelligen, dann weisste ganz schnell wo dein Fehler liegt. Ich würd mal auf die Schnelle sagen, du hast [ nicht als eischränkung, sondern einfach als string also "[" gesetzt, wodurch er dir halt deinen String auch ausschreibt.

    Bischen mehr Motivation so einen kleinen Fehler selber zu finden. Erstens bringts dir mehr, zweitens kannste dann Stolz auf dich sein, dass du schon etwas alleine geschaft hast

    Mfg
    ziop
     
    ~~Be water my friend~~ by bruce
    ~~Der einfachste Weg, bietet die schwerste Lösungssuche~~ by emkey
    *****************************
    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination

    .:Blödeleienschreiber des 1. offiziellen Sven Uwe Fan-Clubs:.

    -------------------------------------------------------------------------------------

    Mir sche*** egal wer dein Vater ist!! Wenn ich fische geht keiner übers Wasser!

  15. #15
    icKe` icKe` ist offline Grünschnabel
    Registriert seit
    Mar 2003
    Beiträge
    3
    also mein "text" sieht wie folgt aus: `s€KassennameKassennummer?VKNR‚VersichertennummerƒStatus +
    -ergänzung…Vorname‡NachnameˆGeb.‰Straße‹PLZŒOrtGültig bisŽ;b‚

    das ist die ausgabe einer krankenversichertenkarte mit hilfe eines lesegeräts. die ganzen sonderzeichen dienen als trenner und sind auf jeder kvk gleich.

    jetzt will ich halt sagen wir mal den vornamen ausschneiden.

    setze "…" als 1. wert und "‡" als 2. wert und bekomme als ausgabe "…Vorname", wobei es ja nur "Vorname" sein sollte.
    Geändert von icKe` (27.09.05 um 12:23 Uhr)
     

Ähnliche Themen

  1. Text aus Textbox in cmd kopieren
    Von SubZero1993 im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 16.04.09, 16:44
  2. Text aus Textbox verschicken
    Von manny1245 im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 23.03.09, 19:43
  3. Text an einen Textbox-Text dranhängen..
    Von PH234X im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 15.10.08, 15:46
  4. Textbox.text
    Von Calamitous im Forum ASP
    Antworten: 0
    Letzter Beitrag: 01.05.06, 16:39
  5. Text in Textbox per Tab markieren
    Von CompuSaar im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 08.11.04, 17:43