AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String in TObjectList suchen

Ein Thema von StepByStep · begonnen am 12. Nov 2014 · letzter Beitrag vom 13. Nov 2014
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.867 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: String in TObjectList suchen

  Alt 12. Nov 2014, 09:56
Der Index wird bei 0 beginne, dann ist der höchste Index Count-1
Markus Kinzler
  Mit Zitat antworten Zitat
StepByStep

Registriert seit: 12. Nov 2014
Ort: Schleswig-Holstein
61 Beiträge
 
Delphi 7 Professional
 
#2

AW: String in TObjectList suchen

  Alt 12. Nov 2014, 09:59
Hallo mkinzler,

das fiel mir beim durchlesen auch ebengerade auf, ich hatte die -1 da eigentlich schon drin stehen, war jetzt selbst verwirrt...
Fehler gelangt nämlich jetzt an seine alte Position in die Zeile: if sWort = List[iCounter].sWort2 then

Gruß
Jan
Jan
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.867 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: String in TObjectList suchen

  Alt 12. Nov 2014, 10:00
Hier Nicht:
Zitat:
if List[List.Count].sWort2
Markus Kinzler
  Mit Zitat antworten Zitat
StepByStep

Registriert seit: 12. Nov 2014
Ort: Schleswig-Holstein
61 Beiträge
 
Delphi 7 Professional
 
#4

AW: String in TObjectList suchen

  Alt 12. Nov 2014, 10:06
Wie meinst du "Hier Nicht"? Das ist doch die einzige Stelle, wo es hingehören würde. Mir ist klar, dass die Indexposition bei 0 beginnt, aber außer dieser einen Zeile gäbe es doch sonst keine Möglichkeit.
Jan
  Mit Zitat antworten Zitat
Klaus01

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

AW: String in TObjectList suchen

  Alt 12. Nov 2014, 10:13
List.count ist zb. 3
Der Index ist aber dann von 0..2.
Daher ist List.count ein Index den es nicht gibt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
StepByStep

Registriert seit: 12. Nov 2014
Ort: Schleswig-Holstein
61 Beiträge
 
Delphi 7 Professional
 
#6

AW: String in TObjectList suchen

  Alt 12. Nov 2014, 10:21
Ich muss das glaube ich mal richtig verstehen...

Ich habe eine Liste mit 10 Elementen. Die geht dann von 0 bis 9.
Jetzt schreibe ich einen String mit seinem dazugehörigen Integerwert an die erste Stelle, also die 0te.
Wenn ich jetzt ein weiteres Element habe, dann soll er das, mit allen Indexpositionen vergleichen,
ob der String schon vorhanden ist. Das wollte ich mit iCounter machen, der bei 0 startet und dann sich erhöht bis
zu List.Count - 1, also dem höchsten Listenindex.

Aber habe ich deinen Fall nicht schon mit der -1 abgedeckt Klaus?
Jan
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#7

AW: String in TObjectList suchen

  Alt 12. Nov 2014, 10:39
Wäre es nicht einfacher, die Suche in eine eigene Methode auszulagern? Dazu könnte man entweder die Liste erweitern, oder man macht es zur Not von außen.
Delphi-Quellcode:
function TWasWeißIch.IndexOfToken(const Token: string): integer;
var
  idx: integer;
begin
  Result := -1;
  for idx := 0 to List.Count - 1 do
    if Token = List[idx].sWort2 then
      begin
        Result := idx;
        break;
      end;
end;
Gibt diese Funktion -1 zurück, ist das Wort nicht enthalten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.867 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: String in TObjectList suchen

  Alt 12. Nov 2014, 10:49
Ich muss das glaube ich mal richtig verstehen...

Ich habe eine Liste mit 10 Elementen. Die geht dann von 0 bis 9.
Jetzt schreibe ich einen String mit seinem dazugehörigen Integerwert an die erste Stelle, also die 0te.
Wenn ich jetzt ein weiteres Element habe, dann soll er das, mit allen Indexpositionen vergleichen,
ob der String schon vorhanden ist. Das wollte ich mit iCounter machen, der bei 0 startet und dann sich erhöht bis
zu List.Count - 1, also dem höchsten Listenindex.

Aber habe ich deinen Fall nicht schon mit der -1 abgedeckt Klaus?
So wie es jetzt steht ja. Vorher stand aber was anderes.
Markus Kinzler
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#9

AW: String in TObjectList suchen

  Alt 12. Nov 2014, 11:12
Schau mal in die Hilfe zu "High()" und dann überleg was "High(List[List.Count - 1].iAnzahl)" deiner Meinung nach zurück gibt.
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:00 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 by Thomas Breitkreuz