AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi problem mit Stringlist, test auf vorhandensein einer phrase?
Thema durchsuchen
Ansicht
Themen-Optionen

problem mit Stringlist, test auf vorhandensein einer phrase?

Ein Thema von richard_boderich · begonnen am 29. Apr 2006 · letzter Beitrag vom 30. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

problem mit Stringlist, test auf vorhandensein einer phrase?

  Alt 29. Apr 2006, 00:46
moin leute,

ich verstehe einfach nicht warum ich bei dieser codezeile eine exeption bekomme. entweder ich mach einen denkfehler, oder es is zu spaet.

Delphi-Quellcode:

var
mose: Tstringlist;
bla:string;
...
begin

bla:='irgendwas';

if mose.IndexOf(bla) = -1 then mose.Add(bla); //wenn string der Variablen bla nicht in mose zu finden ist, so fuege trage es in die stringlist ein

end;
mhhh, der compiler meint noch das mose eventuell nicht initialisiert wurde. weis aber nicht was er damit meint.

vielleicht weis ja einer wo der fehler steckt. schonmal danke fuer eure muehen.

Gruß Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#2

Re: problem mit Stringlist, test auf vorhandensein einer phr

  Alt 29. Apr 2006, 00:49
  Mose := TStringList.Create;
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#3

Re: problem mit Stringlist, test auf vorhandensein einer phr

  Alt 29. Apr 2006, 00:54
oh mann ne echt, das war es.
sollte wohl wirklich schlafen gehn. danke dir vielmals

gruß richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: problem mit Stringlist, test auf vorhandensein einer phr

  Alt 29. Apr 2006, 12:08
dass so eine überprüfung bei einer neu createten (also absolut leeren) Stringlist niucht besonders sinnvoll ist, weißt du aber, oder? ;()
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#5

Re: problem mit Stringlist, test auf vorhandensein einer phr

  Alt 29. Apr 2006, 13:33
mhh nein, wenn du weist wie es schneller und besser geht, erklaer es mir doch bitte?

Gruß Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: problem mit Stringlist, test auf vorhandensein einer phr

  Alt 29. Apr 2006, 13:42
Hallo Richard,

was Lukas dir eigentlich mitteilen wollte: eine leere Stringliste kann das gesuchte Elemente gar nicht enthalten.
Er ging aber wohl davon aus, daß die Stringliste unmittelbar vor der Überprüfung erzeugt wird.

Du könntest dir mal die Eigenschaft Delphi-Referenz durchsuchenTStringList.Duplicates anschauen. Vielleicht vereinfacht sie ja deinen Code.

Gruß Hawkeye
  Mit Zitat antworten Zitat
marabu

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

Re: problem mit Stringlist, test auf vorhandensein einer phr

  Alt 29. Apr 2006, 13:56
Hallo Richard,

wenn die StringList keine doppelten Einträge aufnehmen darf und die assoziierten Objects nicht verwendet werden, dann ist es tatsächlich sinnvoll die Liste als sortierte Liste mit Duplikatabweisung zu führen:

Delphi-Quellcode:
begin
  with TStringList.Create do
  begin;
    Sorted := true;
    Duplicates := dupIgnore;
    Add('Hawkeye');
    Add('Hawkeye');
    ShowMessage(StrToInt(Count));
    Free;
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#8

Re: problem mit Stringlist, test auf vorhandensein einer phr

  Alt 29. Apr 2006, 15:09
@marabu

ist dein code denn schneller? ist doch eigentlich mehr code?

mein code steht in einer procedure die vielfach aufgerufen wird. kann dabei vorkommen das häufig der selbe string uebergeben wird, der jedoch nicht erwuenscht ist. es sollen nur unterschiedliche strings in die liste. liste.count dient mir dann als zaehler. ich frage welcher code schneller ist,
da ja das durchsuchen der stringlist mit jeden eintrag laenger dauert, und die procedure mehrere tausend mal aufgerufen wird.

momentan denke ich mein version muesste schneller sein, da bei mir nur ein eintrag hinzugefuegt wird, wennn es wirklich nicht vorhanden ist. bei deiner version tust du aber bei jeden aufruf stringlist.add ausfuehren oder?

Gruß richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
marabu

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

Re: problem mit Stringlist, test auf vorhandensein einer phr

  Alt 29. Apr 2006, 15:31
Die Suche ist das teuerste an der Sache. Die Kosten reduziere ich durch Sorted = True wodurch die lineare Suche durch einen binary search ersetzt wird. Und durch die Ausnutzung von Duplicates = dupIgnore kann ich die lines-of-code drücken - weniger Code, weniger Fehler, happy people.

Wenn du was sparen willst, dann müsstest du bei einer sortierten Liste Find() anstelle von IndexOf() verwenden, damit der gefundene insertion point nicht verloren geht - aber dann kannst du auch schon Add() nehmen, weil es genauso arbeitet.

marabu
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#10

Re: problem mit Stringlist, test auf vorhandensein einer phr

  Alt 29. Apr 2006, 18:10
@marabu du verstehst nich. der gefundene insertion punkt ist voellig unwichtig fuer mich. nur der test auf bereits vorhanden / nicht vorhanden ist von bedeutung. geht die suche den tatsaechlich schneller mit deinem code? bitte nur eine ja / nein antwort
eigentlich missbrauche ich die stringlist in dem fall nur als array ersatz, da ich irgendwo mal gehoert habe das Tstringlist viel schneller sein soll.

Gruß Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:47 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