Entwickler-Ecke
Sonstiges (Delphi) - Listview eintrag ersetzten...
raven - Di 11.02.03 21:27
Titel: Listview eintrag ersetzten...
hi leutz
ich habe eine listview mit 2 spalten ... in der rechten spalte steht ein status drin ... wenn da "Fertig" oder "Fehler" drinsteht dann soll das so bleiben, wenn was anderes drinsteht, dann soll es durch abort ersetzt werden ... ich hab nun folgendes geschrieben was aus meinen augen eigentlich funtzen müsste ... tut es aber nich, es schreibt überall Abort rein auch wenn fehler oder fertig drinsteht...
kann mir einer helfen?
Der code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| for f := 0 to form1.filebox.items.count-1 do begin if (log.Items.Item[f].SubItems.Text = 'Fertig') or (log.Items.Item[f].SubItems.Text = 'Fehler') then begin application.ProcessMessages; end else begin log.Items.Item[f].SubItems.Text := 'Abort'; end; end; |
Aya - Di 11.02.03 21:50
Hi,
mach doch mal in die For-Schleife das rein:
Quelltext
1:
| ShowMessage('"'+log.Items.Item[f].SubItems.Text+'"'); |
Dann siehst du ob du eventuell irgendein unsichtbares Zeichen o.ä. nich berücksichtigst... :)
Au'revoir,
Aya~
PS: Groß und Kleinschreibung beachtet?
raven - Di 11.02.03 22:46
@aya
danke aber das einzige was irgendwie komisch ist, is das das zweite gänsefüschen in der 2. zeile ersceint in der messagebox also das es nach dem wort einen zeilenumbruch gibt ...
da die werte aber so
log.Items.Item[k].SubItems.Text := 'Fehler';
festgelegt werden muss das normal stimmen wi es ist...
weiß einer weiter??
smiegel - Di 11.02.03 22:59
Hallo,
versuche es einmal so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| for f := 0 to form1.filebox.items.count-1 do begin if (log.Items.Item[f].SubItems[0] = 'Fertig') or (log.Items.Item[f].SubItems[0] = 'Fehler') then begin application.ProcessMessages; end else begin log.Items.Item[f].SubItems[0] := 'Abort'; end; end; |
Außerdem verstehe ich nicht, warum die Schleife die Items aus einer "FileBox" und die Listview "log" heißt?
Aya - Di 11.02.03 23:14
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| for f := 0 to form1.filebox.items.count-1 do begin if (Trim(log.Items.Item[f].SubItems.Text) = 'Fertig') or (Trim(log.Items.Item[f].SubItems.Text) = 'Fehler') then begin application.ProcessMessages; end else begin log.Items.Item[f].SubItems.Text := 'Abort'; end; end; |
sollte gehen
Tino - Mi 12.02.03 10:38
@raven: Ich hab mal eine Frage: Warum besorgst Du dir die Anzahl an Einträge mit folgendem Code
Quelltext
1:
| form1.filebox.items.count-1 |
aber die Einträge sprichst Du wie folgt an:
log.Items.Item[f].. ???
Die Einträge sind doch dann eigentlich so anzusprechen:
Quelltext
1:
| form1.filebox.items [f]... |
Gruß
TINO
raven - Mi 12.02.03 13:54
@aya
danke das funtzt ;) kannste mir auch noch kurz sagen was das TRIM bewirkt? würde mich ma interessieren warum es so geht ;)
Delete - Mi 12.02.03 14:10
| raven hat folgendes geschrieben: |
@aya
danke das funtzt ;) kannste mir auch noch kurz sagen was das TRIM bewirkt? würde mich ma interessieren warum es so geht ;) |
Ob du es glaubst oder nicht, die Frage kannst du dir selber beantworten. :roll:
Aya - Mi 12.02.03 14:18
Hi,
Trim löscht einfach alle "unsichtbaren" Zeichen am anfang und ende eines Strings.. :)
Au'revoir,
Aya
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!