|
| Autor |
Nachricht |
DFJ_ Poster

Anmeldedatum: 15.10.2007 Beiträge: 156
|
Problemen , kein namen gefunden dafür ;) "string,schlei
Verfasst am: 23.04.2008, 17:56 |
|
|
Hallo, ich habe ein problem dieses ist ich habe eine string
dieser string ist mit sagen wir mit 10 daten gefühlt
nun die daten kann mit instra raus filten , anbesten man stelle sich das so vor
wir haben eine listview und immer noch 10 einträge davon sollen alle die ein
"=" haben in die erste zeile bzw. ins add , dann alle mit mit "/" in diese zweite spalte usw. könnt ihr ja euch denken sind halt getrennt die werde. diese sollen aber zu jeden passen string bzw. jeder passen zeile einsortiert werden heißt z.b
Ufe =
du /
kleiner ]
arsch [
Paul =
du /
bist ]
geil[
nun soll in der list view in der ersten zeile
Ufe du kleiner arsch
in der zweiten
Paul du bist geil
usw.
das problem ist wie kann ich das machen
mit den vornamen ist kein problem
da man einfach
| Code: |
if instr(1.name(i),"=")
set list =lv.ListItems.Add(, , name(i))
end if
|
nun gibt er die aus die ein = haben im array name , nun wie bekommt ich jetzt die daten die z.b zu paul gehörn in die gleiche zeile bzw. in die richtige spalten
danke für die hilfe
gruß
DFJ Spam bot |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 23.04.2008, 19:10 |
|
|
| Code: |
For i = 0 to ...
with lv.listitems.add
if InstrB(..., "=") <> 0 then
.Text = ...
elseif InStrB(..., "/") <> 0 then
.Subitems(1) = ...
elseif InStrB(..., "]") <> 0 then
.Subitems(2) = ...
elseif InStrB(..., "[") <> 0 then
.Subitems(3) = ...
end if
end with
next i
|
Vorraussetzung ist, dass die Einträge, die zusammen gehören direkt hintereinander sind.
Falls das auch so ist, könnte man auch einfach die Einträge adden ohne per InStr zu überprüfen welches Zeichen darin vorkommt, da ja die Reihenfolge immer gleich ist. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
DFJ_ Poster

Anmeldedatum: 15.10.2007 Beiträge: 156
|
Verfasst am: 24.04.2008, 13:02 |
|
|
danke zig , klaptt schon gut das er in die richtige spalten macht aber nun sieht das so aus
| Code: |
Paul
du
bist
ein
arsch
|
er macht halt immer eine neue zeile für jeden eintrag das soll er ja nicht ich habe versuch das zu beheben aber keine ahnung den index kann man nicht ändern wenn man das with rein setz wo er nach "=" sucht gibt es ein problem mit den with bzw. if
jor
danke
in vorraus Spam bot |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 24.04.2008, 13:11 |
|
|
| Code: |
For i = 0 to ...
with lv.listitems.add
.Text = array(i)
.Subitems(1) = array(i+1)
.Subitems(2) = array(i+2)
.Subitems(3) = array(i+3)
end with
i = i + 3
next i
|
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
DFJ_ Poster

Anmeldedatum: 15.10.2007 Beiträge: 156
|
Verfasst am: 24.04.2008, 13:32 |
|
|
also ich habe das getestet aber , ich glaube du brauchst mehr infomationen
die daten stehen nicht in einer reihe.
der erste code war ja richtig nur er hat halt immer ne neue zeile gemacht
danke für die hilfe zig Spam bot |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 24.04.2008, 13:47 |
|
|
Wenn die Daten nicht so untereinander stehen wie du sie oben gepostet hast, wie soll das Programm dann wissen was zusammen gehört?
Dann könnte ja auch "Ufe geil Paul arsch du" rauskommen.
Edit//
Vielleicht meinst du es so:
| Code: |
Dim i As Long, x As Long
For i = 0 To ...
With lv.listitems.Add
For x = i To i + 3
If InStrB("", "=") <> 0 Then
.Text = array(i)
ElseIf InStrB("", "/") <> 0 Then
.Subitems(1) = array(i)
ElseIf InStrB("", "]") <> 0 Then
.Subitems(2) = array(i)
ElseIf InStrB("", "[") <> 0 Then
.Subitems(3) = array(i)
End If
Next x
End With
i = i + 3
Next i
|
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
DFJ_ Poster

Anmeldedatum: 15.10.2007 Beiträge: 156
|
Verfasst am: 24.04.2008, 19:08 |
|
|
so ich habe es geschaft das sie sich in die gleiche zeile eintragen
nun habe ich aber noch das problem das ich nicht weiß wie ich zeilen löschen soll , hier mein code dafür
| Code: |
For k = 0 To UBound(laufinfo)
With lv.ListItems.Add
If InStrB(1, laufinfo(k), ":") <> 0 Then
.Text = laufinfo(k)
.SubItems(1) = ""
.SubItems(2) = ""
.SubItems(3) = ""
ElseIf InStrB(1, laufinfo(k), "mb\") <> 0 Then
.Text = "2"
.SubItems(1) = laufinfo(k)
.SubItems(2) = ""
.SubItems(3) = ""
ElseIf InStrB(1, laufinfo(k), "mb/") <> 0 Then
.Text = "2"
.SubItems(2) = laufinfo(k)
.SubItems(1) = ""
.SubItems(3) = ""
ElseIf InStrB(1, laufinfo(k), "(P)") <> 0 Then
.Text = "2"
.SubItems(3) = laufinfo(k)
.SubItems(2) = ""
.SubItems(1) = ""
End If
End With
Next k
lv.ListItems.Remove (1)
|
| Code: |
For x = 1 To lv.ListItems.Count - 1
If Len(lv.ListItems(x).ListSubItems.Item(1)) > 1 Then
lv.ListItems(x - 1).ListSubItems.Item(1) = lv.ListItems(x).ListSubItems.Item(1)
End If
If Len(lv.ListItems(x).ListSubItems.Item(2)) > 1 Then
lv.ListItems(x - 2).ListSubItems.Item(2) = lv.ListItems(x).ListSubItems.Item(2)
End If
If Len(.lv.ListItems(x).ListSubItems.Item(3)) > 1 Then
lv.ListItems(x - 3).ListSubItems.Item(3) = lv.ListItems(x).ListSubItems.Item(3)
End If
Next x
|
| Code: |
For x =lv.ListItems.Count To 1 Step -1
If lv.ListItems.Item(x) = "2" Then
lv.ListItems.Remove (x)
End If
Next x
|
problem gelösst danke zig  Spam bot |
|
| |
|
 |
|
|