![]() |
String aus einer Stringlist löschen
moin,
Delphi-Quellcode:
kann mir jmd sagen was daran falsch ist? der string "ufc_user" ist nachdem "löschen"(was es ja nicht tut) immernoch in der Stringlistbegin if SlReg.IndexOf('ufc_user') > -1 then SlReg.Delete(SlReg.IndexOf('ufc_user')); memo1.Lines.AddStrings(SlReg); end; gruss silent |
Hi,
also erstmal sieht daran nichts schlecht aus. Vielleicht hast Du auch nur einen Denkfehler. Wenn zum Bsp. der Eintrag nicht gefunden wird, dann bleibt das Löschen aus und in Deinem Memo werden alle Einträge angezeigt. Prüf erst mal im Debugger oder anderweitig ob Deine Abfrage einen Rückgabewert größer -1 liefert. Gruß oki |
Mal eine Frage, ist der String u.U. mehrmals vorhanden. Dann mach es doch lieber so:
Delphi-Quellcode:
...:cat:...
Idx := SlReg.IndexOf('ufc_user');
while Idx > -1 do begin SlReg.Delete(Idx); Idx := SlReg.IndexOf('ufc_user'); end; |
hoi,
ne, der string ist nur einmal vorhanden |
Hallo,
erste Frage: Was ist SlReg, TStringList? zweite Frage: Kann es daran liegen, daß Du memo1 nicht löschst und quasi den alten Eintrag noch siehst? Ansonsten wäre etwas mehr Quelltext hilfreich. Viele Grüße |
hi, jo ist ne stringlist. Das memo ist am anfang leer, ich füge das nur der memo hinzu, um zu sehen ob die stringlist leer ist....was sie ja nicht ist da der string dann auftaucht....also der ganze "code" sieht so aus:
Delphi-Quellcode:
so sieht das aus. die stringlists sind glboal definiert
if acommand = 'MODE' then
begin Repeat Delete(s, 1, 1); until s[1] = ' '; Delete(s, 1, 1); Mode := Copy(s, 1, 2); if Mode = '+a' then begin nick := Copy(s, LastDelimiter(' ' , s)+1, length(s)); // Das letzte wort(der nick) des strings in die variable "nick" SlAdmin.AddObject(nick, image13.Picture.Bitmap); // der nick in die admin stringlist if SlReg.IndexOf(nick) > -1 then SlReg.Delete(SlReg.IndexOf(nick)); // den nick aus der stringlist "slreg"(normale benutzer) löschen listbox1.Clear; listbox1.Items.AddStrings(SlAdmin); listbox1.Items.AddStrings(SlReg); memo1.Lines.AddStrings(SlReg); // zum testen ob SlReg noch den string enthält end; end; end; aber das löschen geht nicht [Edit=FuckRacism]Syntax verbessert[/Edit] |
Hallo,
versuche doch mal folgendes: if SlReg.IndexOf(nick) > -1 then begin memo1.Lines.Add('Lösche'); memo1.Lines.Add(IntToStr(SlReg.Count)); SlReg.Delete(SlReg.IndexOf(nick)); memo1.Lines.Add(IntToStr(SlReg.Count)); end; Wenn da immer noch nichts zu finden ist, müßtest Du mal noch etwas mehr von Deinem Quelltext offenlegen. Falls Du das nicht willst und Dich damit anfreunden kannst, mir das Ganze mal als EMail zu senden.. Viele Grüße |
es kommen 2 lines
einmal "ufc_user" dann eine leere zeile Ich würds dir gern schicken aber mit dem code würdst du nicht klarkommen so wie ich (als anfänger) das mache *g* gruss silent :) |
Kommt auf einen Versuch an.
Ich habe gerade meine EMail-Adresse freigeschaltet, ich brauche alle pas, dfm und dpr. |
hast due die indy kompos?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz