Zufälliges Auslesen von Zeilen in einer TxT.

04/19/2006 22:22 Maybe It's Maybelline#1
Ich bräuchte einen Beispiel Code, wie man aus einer TxT ca. 8 Stufen in einer Zeile ausließt und denen 8 eigene Variablen zuweist.

z.B
TXT
Quote:

1:2:3:4:5:6:7:8
11:22:33:44:55:66:77:88
111:222:333:444:555:666:777:888
: Sind dabei die Abstandshalter.
1 = $1
11 = $1
2 = $2
etc

ums einfacher zu machen hab ich gedacht das man die ganze zeile,
also 1:2:3:4:5:6:7:8 als List Item einträgt,


Ich bin selber noch am schwanken welche Methode die einfachste/beste wäre
und mit Datei Operationen (streplace etc) hab ich selber noch garnichts gemacht.


Ach und kann jemand mal streplace mir anhand eines beispieles zeigen wie man
z.B Buchstabe A nimmt, und nach dem letzten A soll der ganze Text kopiert werden und als eigene Variable übernommn werden.
04/20/2006 17:59 r00kie#2
errrrrr.....

Also wenn du willst das die 1 in variable a geht die 2 in variable b

Ich hab ka ob du alle zeilen bearbeiten willst oder nur eine oder ka
Das beispiel bearbeitet jede zeile in der txt

Code:
Dim myZeile As String

On Error Resume Next ' <-- ^^* Errorkiller
'Datei fürs Auslesen öffnen und mit dem filehandler 1 versehen
Open "meine.txt" For Output As #1
'So lange durch die datei "lesen" bis EOF ... End of file
  Do Until EOF(1)
    'Eine Zeile auslesen... Zeilen werden in diesem fall mit crlf (vbCrLf) getrennt
    Line Input #1, yZeile
    
    'Eine Array festlegen in die wir die zeile aufbrechen
    Dim myArray() As String
    'Die Zeile aufbrechen und für jedes "abgebrochene" Teil einen eintrag in der array erstellen
    myArray = Split(myZeile, ":")
  'loop halt
  Loop
  'datei freigeben
Close #1
Also wenn du jetzt aufs erste elementzugreifen willst nimmst du halt $a = myArray(0)



$a ist sooooooo schlampig.... deklarier die variablen lieber immer ._.





Quote:

Ach und kann jemand mal streplace mir anhand eines beispieles zeigen wie man
z.B Buchstabe A nimmt, und nach dem letzten A soll der ganze Text kopiert werden und als eigene Variable übernommn werden.
Also wenn du alle "l" Zeichen in sagen wir myVar = "Hallo" ersetzen willst, sagen wir mit "b" dann mach das so

Code:
Dim myString as String

myString = Replace("Hallo","l","b")


noch fragen?
04/21/2006 22:37 Maybe It's Maybelline#3
Quote:
Originally posted by r00kie@Apr 20 2006, 17:59
errrrrr.....

Also wenn du willst das die 1 in variable a geht die 2 in variable b

Ich hab ka ob du alle zeilen bearbeiten willst oder nur eine oder ka
Das beispiel bearbeitet jede zeile in der txt

Code:
Dim myZeile As String

On Error Resume Next ' <-- ^^* Errorkiller
'Datei fürs Auslesen öffnen und mit dem filehandler 1 versehen
Open "meine.txt" For Output As #1
'So lange durch die datei "lesen" bis EOF ... End of file
  Do Until EOF(1)
    'Eine Zeile auslesen... Zeilen werden in diesem fall mit crlf (vbCrLf) getrennt
    Line Input #1, yZeile
    
    'Eine Array festlegen in die wir die zeile aufbrechen
    Dim myArray() As String
    'Die Zeile aufbrechen und für jedes "abgebrochene" Teil einen eintrag in der array erstellen
    myArray = Split(myZeile, ":")
  'loop halt
  Loop
  'datei freigeben
Close #1
Also wenn du jetzt aufs erste elementzugreifen willst nimmst du halt $a = myArray(0)



$a ist sooooooo schlampig.... deklarier die variablen lieber immer ._.





Quote:

Ach und kann jemand mal streplace mir anhand eines beispieles zeigen wie man
z.B Buchstabe A nimmt, und nach dem letzten A soll der ganze Text kopiert werden und als eigene Variable übernommn werden.
Also wenn du alle "l" Zeichen in sagen wir myVar = "Hallo" ersetzen willst, sagen wir mit "b" dann mach das so

Code:
Dim myString as String

myString = Replace("Hallo","l","b")


noch fragen?
Vielen dank ,vorallem das erste hat mir sehr geholfen.

Hast du noch beispiele wie ich;
Nur Buchstaben/zahlen rausmache/ersetzen
Ab einer bestimmten position z.B nach dem 16ten Buchstaben alles ersetze/lösche.
Und eigentlich wie ich bei einen bestimmten buchstabe, alles bis zu der position
des letzten buchstabens lösche, ich wüsste nicht wie ich das anstellen soll, also;

K soll bearbeitet/gelöscht werden

aaaaasdKsasafKadsadaKsdadaKsdK1111 (Dynamisch, deswegen nicht machbar mit fixxierten positionen)

Aber in die neue variable soll dann nur 1111 sein,
das Beispiel hats sogar besser beschriebe neigentlich.
04/21/2006 23:13 r00kie#4
Naja wenn du einen buchstaben löschen willst

myString = replace(myAusgangstring, "k", vbNullString)

Damit wird aus "kekeke" "eee"

Ansonsten wenn du wirklich nur die die 1111 am ende brauchst machs so

Dim myArray() as string

myArray = Split(myString, "k")

myValue = myArray(ubound(myArray) - 1)
04/22/2006 17:17 Maybe It's Maybelline#5
Ja das war mir schon klar wie ich nur einen bestimmten Buchstabe lösche, ich kann doch nicht einfach

myString = replace(ASDF1, "A", vbNullString)
myString = replace(ASDF1, "S", vbNullString)
myString = replace(ASDF1, "D", vbNullString)
myString = replace(ASDF1, "F", vbNullString)

machen oder? Die VB Dokumentation dazu bringt mir nichts neues.


Danke für das andere ;p
04/24/2006 18:19 r00kie#6
Quote:
Originally posted by Marie@Apr 22 2006, 17:17
Ja das war mir schon klar wie ich nur einen bestimmten Buchstabe lösche, ich kann doch nicht einfach

myString = replace(ASDF1, "A", vbNullString)
myString = replace(ASDF1, "S", vbNullString)
myString = replace(ASDF1, "D", vbNullString)
myString = replace(ASDF1, "F", vbNullString)

machen oder? Die VB Dokumentation dazu bringt mir nichts neues.


Danke für das andere ;p
Kommt drauf an wie viele...


myString = replace(ASDF1, "A", vbNullString)
myString = replace(ASDF1, "S", vbNullString)
myString = replace(ASDF1, "D", vbNullString)
myString = replace(ASDF1, "F", vbNullString)

wird eh nicht klappen weil er immer im orginalstring was ersetzt und nicht im bereits bearbeitete.

myString = replace(ASDF1, "A", vbNullString)
myString = replace(myString , "S", vbNullString)
myString = replace(myString , "D", vbNullString)
myString = replace(myString , "F", vbNullString)


wenn dann :)