AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Bestimmten Eintrag auus StringList löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Bestimmten Eintrag auus StringList löschen

Ein Thema von ByStones2 · begonnen am 12. Jan 2007 · letzter Beitrag vom 12. Jan 2007
Antwort Antwort
Seite 2 von 2     12   
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Bestimmten Eintrag auus StringList löschen

  Alt 12. Jan 2007, 17:01
Zitat von marabu:
Hallo,

dein Code löscht die durch Edit2 bestimmten Zeilen nur dann, wenn sie am Anfang von onList stehen, weil du deinen index nicht anpasst.

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
Var
  lLine: Integer;
Begin
  lLine := 0;
  // onlist.BeginUpdate;
  While ( lLine < onlist.Count ) Do
    If SameText(onlist[lLine] = Edit2.Text
      Then onlist.delete(lLine)
      Else Inc(lLine);
  // onlist.EndUpdate;
end;
Getippt und nicht getestet.

Grüße vom marabu
das sieht gut aus aber es geht nicht, obwohl ich die fehlende klammer hinter sametext da gemacht hab es gibt folgende fehler:
Delphi-Quellcode:
[Pascal Fehler] Unit1.pas(204): E2250 Es gibt keine überladene Version von 'SameText', die man mit diesen Argumenten aufrufen kann
[Pascal Fehler] Unit1.pas(204): E2010 Inkompatible Typen: 'string' und 'Boolean'
[Pascal Warnung] Unit1.pas(243): W1019 FOR-Schleifenvariable muss eine einfache lokale Variable sein
[Pascal Fataler Fehler] Chat.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Update:
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
Var
  lLine: Integer;
Begin
  lLine := 0;
  // onlist.BeginUpdate;
  While ( lLine < onlist.Count ) Do
    If AnsiSameText(onlist[lLine],Edit2.Text) Then
    onlist.delete(lLine)
      Else Inc(lLine);
  // onlist.EndUpdate;
end;
so habs ich jetzt und es geht auch nicht, langsam glaub ich delphi mag mich nich ma
ehr ...
Wer nämlich mit "h" schreibt ist dämlich.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Bestimmten Eintrag auus StringList löschen

  Alt 12. Jan 2007, 17:03
Du solltest nach dem Löschen deine Liste noch einmal speichern (savetofile).
Nur delete, löscht zwar den Eintrag im Hauptspeicher, aber nicht auf der Festplatte.

Und lass, das mal mit dem Memo, das war nur ein Beispiel von xyz, was nicht direkt in deinen Code passt


Soll das ein multiuser-Programm werden. Dann musst du für diese Datei noch ein paar Sicherheiten einbauen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#13

Re: Bestimmten Eintrag auus StringList löschen

  Alt 12. Jan 2007, 17:04
Ja, wie ich schon geschrieben hatte...

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
Var
  lLine: Integer;
Begin
  lLine := 0;
  // onlist.BeginUpdate;
  While ( lLine < onlist.Count ) Do
    If SameText(onlist[lLine], Edit2.Text) Then
      onlist.delete(lLine)
    Else
      Inc(lLine);
  // onlist.EndUpdate;
end;
  Mit Zitat antworten Zitat
ByStones2

Registriert seit: 6. Okt 2005
Ort: Birenbach
133 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Bestimmten Eintrag auus StringList löschen

  Alt 12. Jan 2007, 17:04
es geht danke für die hilfe !!!
jaajajaja es geht !!!

danke !!!!!!!!!!!!11
Wer nämlich mit "h" schreibt ist dämlich.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: Bestimmten Eintrag auus StringList löschen

  Alt 12. Jan 2007, 17:07
Ich würde das mal im Debugger durchsteppen.

@Muetze1: Danke für den Hinweis - habe es schnell geändert.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Bestimmten Eintrag auus StringList löschen

  Alt 12. Jan 2007, 17:10
@muetze, @marabu, @st_ett
ihr müsst nicht selber nach dem Text in einer Schleife suchen. Das erledigt das Objekt für euch mit dem property indexof
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#17

Re: Bestimmten Eintrag auus StringList löschen

  Alt 12. Jan 2007, 17:18
@sirius: Das ist uns klar, aber im Gegensatz zu deinem Code löschen wir alle Vorkommen des Eintrages, du nur den ersten. Auch würde dein Code eine Exception EOutOfBounds werfen, wenn der Eintrag nicht vorhanden ist.

/EDIT: IndexOf() ist eine Methode und keine Property
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: Bestimmten Eintrag auus StringList löschen

  Alt 12. Jan 2007, 17:20
Zitat von sirius:
@muetze, @marabu, @st_ett
ihr müsst nicht selber nach dem Text in einer Schleife suchen. Das erledigt das Objekt für euch mit dem property indexof
Nun, indexof findet das erste Vorkommen des Strings in der Liste.
Ich müßte dann zumindest eine Schleife laufen lassen, die abprüft ob Indexof noch etwas zurückliefert.

Und ich denke mal IndexOf wird auch nicht viel anderes machen als die
Liste per Schleife durchzugehen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz