Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Achtet IndexOf einer StringList nicht auf Groß-/Kleinschreib (https://www.delphipraxis.net/43353-achtet-indexof-einer-stringlist-nicht-auf-gross-kleinschreib.html)

Pr0g 2. Apr 2005 15:45


Achtet IndexOf einer StringList nicht auf Groß-/Kleinschreib
 
Hallo,

ich suche den Index eines Buchstabens aus einer StringList per IndexOf raus, dabei scheint diese aber nicht auf die Groß-/Kleinschreibung zu achten, hier mal ein Beispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStrings;
begin
  sl := TStringList.Create;
  try
    sl.Add('a');
    sl.Add('A');
    Caption := 'a:' + IntToStr(sl.IndexOf('a')) + ' | A:' + IntToStr(sl.IndexOf('A'));
  finally
    sl.Free;
  end;
end;
Meine gewünschte Ausgabe wäre "a:0 | A:1", ich bekomme aber folgendes: "a:0 | A:0".

Kann man das Problem irgendwie beheben, oder muss ich selber mit einer Schleife die einzelnen Einträge prüfen (dann gehts ja)?


MfG Pr0g

Christian Seehase 2. Apr 2005 15:48

Re: Achtet IndexOf einer StringList nicht auf Groß-/Kleinsch
 
Moin Andreas,

Du könntest Dir aus TStringList eine neues Objekt ableiten, und Find bzw. IndexOf überschreiben, so dass die beiden Methoden AnsiCompareStr statt AnsiCompareText verwenden.

Pr0g 2. Apr 2005 16:20

Re: Achtet IndexOf einer StringList nicht auf Groß-/Kleinsch
 
Danke, das klappt soweit.

Jetzt habe ich noch ein Problem, dass TIniFile bei den Keynamen nicht unterscheidet, aber da habe ich schon einen kleinen Wordaround für, in dem ich die Keys mit einem Zeichen am Anfang versehe, was dann später für Groß, oder Klein ausgewertet wird. Wenn jemand ne bessere Lösung hat einfach melden :)

Christian Seehase 2. Apr 2005 17:01

Re: Achtet IndexOf einer StringList nicht auf Groß-/Kleinsch
 
Moin Andreas,

ich hab' gerade noch mal in der D7PE-Hilfe nachgeschaut, ob dort die Berücksichtigung der Gross-/Kleinschreibung dokumentiert ist:
Du kannst auch einfach die Eigenschaft CaseSensitive auf true stellen *unauffälligvorsichhinpfeif*

Pr0g 2. Apr 2005 17:07

Re: Achtet IndexOf einer StringList nicht auf Groß-/Kleinsch
 
Das zeigt mal wieder, das ich nicht genau genug geschaut habe. Auf CaseSensitive hätte man schon durch alleiniges Probieren kommen können :roll:

Das andere Problem mit der Ini habe ich auch gelöst, in dem ich die Daten einfach anders speichere.

Muetze1 2. Apr 2005 21:17

Re: Achtet IndexOf einer StringList nicht auf Groß-/Kleinsch
 
Moin!

Bei der INI wird auch nirgendwo behauptet das sie Case-Sensitiv ist - wäre ja noch schöner. Eine INI war es eigentlich auch noch nie - da verlangst du ein wenig viel von der INI...

MfG
Muetze1

Pr0g 2. Apr 2005 21:26

Re: Achtet IndexOf einer StringList nicht auf Groß-/Kleinsch
 
Ich bin einfach mal davon ausgegangen, dass alles CaseSensitive ist.

Muetze1 2. Apr 2005 21:29

Re: Achtet IndexOf einer StringList nicht auf Groß-/Kleinsch
 
Moin!

Zitat:

Zitat von Pr0g
Ich bin einfach mal davon ausgegangen, dass alles CaseSensitive ist.

Ok, Faustregel: Unter Linux/Unix/BeOS gehe davon aus, das es case-sensitive ist; unter Windows gehe davon aus, das es case-insensitive ist...

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:35 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