ERLEDIGT
NEIN
NEIN
ANTWORTEN
20
20
ZUGRIFFE
1627
1627
EMPFEHLEN
-
25.08.05 21:36 #1
- 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?
-
26.08.05 07:47 #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!
-
26.08.05 09:07 #3
- Registriert seit
- Aug 2005
- Beiträge
- 436
Ok!
Es ist immer gut zu wissen wonach man suchen muss!
-
28.08.05 17:09 #4
- 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?
-
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!
-
29.08.05 12:23 #6
- 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!
-
03.09.05 15:38 #7
- 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"
-
04.09.05 22:05 #8
- Registriert seit
- Aug 2005
- Beiträge
- 436
Anscheinend kennt sich auf diesem Gebiet keiner mehr aus oder?
-
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ß DignsagDer Weg ist das Ziel!
-
06.09.05 16:11 #10
- 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!
-
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 habenDer Weg ist das Ziel!
-
07.09.05 17:36 #12
- Registriert seit
- Aug 2005
- Beiträge
- 436
Klar haste geholfen!
-
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)
-
27.09.05 11:34 #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!
-
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
-
Text aus Textbox in cmd kopieren
Von SubZero1993 im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 16.04.09, 16:44 -
Text aus Textbox verschicken
Von manny1245 im Forum .NET CaféAntworten: 1Letzter Beitrag: 23.03.09, 19:43 -
Text an einen Textbox-Text dranhängen..
Von PH234X im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 15.10.08, 15:46 -
Textbox.text
Von Calamitous im Forum ASPAntworten: 0Letzter Beitrag: 01.05.06, 16:39 -
Text in Textbox per Tab markieren
Von CompuSaar im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 08.11.04, 17:43





Zitieren
Login





