AGB  ·  Datenschutz  ·  Impressum  







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

Seltsames Verhalten bei Stringvergleich

Ein Thema von Hobbycoder · begonnen am 21. Nov 2017 · letzter Beitrag vom 27. Nov 2017
 
Hobbycoder

Registriert seit: 22. Feb 2017
935 Beiträge
 
#1

Seltsames Verhalten bei Stringvergleich

  Alt 21. Nov 2017, 18:25
Hi,

aus einer ObjectList möchte ich ein bestimmtes Object anhand einer Property finde. Dafür diese Routine:
Delphi-Quellcode:
function TMSNList.IndexOfMSN(value: string): Integer;
var
  i: Integer;
begin
  Result:=-1;
  for i:=0 to self.Count-1 do
  begin
    DoWriteLog('Value: '+QuotedStr(value)+' Self['+IntToStr(i)+'].MSN: '+QuotedStr(self[i].MSN));
    if self[i].MSN=value then
    begin
      DoWriteLog('--Match');
      Result:=i;
      Break;
    end else DoWriteLog('--NoMatch');
  end;
end;
(die DoWriteLog's sind nur für die Fehlersuche drin).

Als Log bekomme ich das:
Code:
21.11.2017 19:07:05,540 : MSNlog: Value: '25' Self[0].MSN: '60'
21.11.2017 19:07:05,540 : MSNlog: --NoMatch
21.11.2017 19:07:05,540 : MSNlog: Value: '25' Self[1].MSN: '25'
21.11.2017 19:07:05,540 : MSNlog: --NoMatch
Wie man sehr schön sehen kann, ist beim Index 1 der String gleich, wird aber nicht als gleich in der Routine erkannt.
Beide sind vom Typ String.

Vergleicht man strings neuerdings anders?

Interessant ist, dass es auf meiner Win10-Maschine läuft, aber auf einem Win2012- und einem Win2008-Server (auf denen ich das jetzt getestet habe) nicht.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
 


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 14: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