AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zwei stringlisten vergleichen[Gelöst]
Thema durchsuchen
Ansicht
Themen-Optionen

Zwei stringlisten vergleichen[Gelöst]

Ein Thema von Ebil · begonnen am 22. Mär 2008 · letzter Beitrag vom 22. Mär 2008
Antwort Antwort
Ebil

Registriert seit: 14. Mär 2008
35 Beiträge
 
#1

Zwei stringlisten vergleichen[Gelöst]

  Alt 22. Mär 2008, 01:11
Hu leute,
Sitze nun mal wieder eine weile an einem problem.
ich habe zwei stringlisten, und möchte jeweils die anzahl der gleichen eintrage rausfinden, dafür prüfe ich mit jeden eintrag die einträge der zweiten liste durch:

Delphi-Quellcode:
 for I2 := 0 to inputlist.count - 1 do
        begin
          for I3 := 0 to keys.count - 1 do
          begin
            if inputlist.Strings[i2] = keys.strings[i3] then
            inc(gleich);
          else
            dec(gleich);
Doch das ergebnis ist niemals gleich, obwohl ich mir beide einträge schon ausgeben lassen hab, diese völlig identisch waren ( auch keine leerzeichen vorher oder hinterher, natürlich auch groß/kleinschreibung kein unterschied ( habs trozdem extra noch mit lowercase() probiert..)).
Deswegen weiss ich nun echt nichtmehr weiter.
Fehlermeldungen werden keine ausgegeben.
Hoffentlich kann mir hier jemand zu der späten stunde noch helfen

mfg
Ebil
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Zwei stringlisten vergleichen

  Alt 22. Mär 2008, 01:28
Du willst die Schnittmenge bilden ?
http://www.delphipraxis.net/internal...ct.php?t=23230
Wenn Gross-/Kleinschreibung egal sein soll, muss du vorher alle Elemente in Grossbuchstaben wandeln.
  Mit Zitat antworten Zitat
Ebil

Registriert seit: 14. Mär 2008
35 Beiträge
 
#3

Re: Zwei stringlisten vergleichen

  Alt 22. Mär 2008, 01:50
Naja es geht nicht darum das ich probleme hab 2 strings der listen zu vergleichen, sonder ich hab ein problem mit dem ergebnis, das einfach falsch ist. Habs trozdem ausprobiert und die procedur findet auch keine gleichen strings, was aber leider sein muss!
Wenn ich selbst anstatt des verlgeichs 'hi' = 'hi' schreibe funktioniert es, logischerweise, wenn ich aber 'hi' in mein edit feld schreibe, das dann delimiter mach ( was bei einem wort keinen sinn macht schon klar ^^ ), dies dann mit einer anderen liste vergleiche wo 100% 'hi' drin vorkommt, werden keine gleichen gefunden.
Natürlich habe ich das ganze überprüft und lasse mir den kompletten vorgang ausgeben:

Zitat:
hi<->hallo
hi<->hi
hi<->
Gleiche gefunden: -1
Keine ahnung warum beim letzten hi<-> nichts gegenüber steht, die liste ist -1...
Naja wie man sieht werden keine gleichen gefunden obwohl man eindeutig sieht das es gleich ist.
Also was kann an 2 wörtern verschieden sein, die mit dem menschlichen auge identisch sind?


//Edit:
Oh gott ich glaub es ist echt zu spät für mich.
Natürlich wird alles richtig verglichen, nur wird halt 2 mal -1 gemacht, und was ergibt 1-2 wohl...
warum muss ich nur immer diese denkfehler haben :/
Naja trozdem danke.
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#4

Re: Zwei stringlisten vergleichen

  Alt 22. Mär 2008, 01:56
Trotzdem nochmal hier

Delphi-Quellcode:
var
a: TStringlist;
 b: TStringlist;


procedure TForm1.FormCreate(Sender: TObject);
begin
a:=Tstringlist.create;
b:=Tstringlist.create;
a.LoadFromFile('a.txt');
b.loadfromfile('b.txt');
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
for i:=0 to a.count-1 do
begin
for j:=0 to b.count-1 do
begin
if a[i]=b[j] then
Memo1.lines.add('a'+inttostr(i)+' entspricht '+'b'+inttostr(j));
end;
end;
Showmessage(inttostr(Memo1.lines.count));
end;
a.txt

Haus
Hallo
Kekse
Baum


b.txt

Ort
Hallo
Haus
Keks

Showmessage:2
  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:42 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