Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Groß-/Kleinschreibung ignorieren (https://www.delphipraxis.net/166133-gross-kleinschreibung-ignorieren.html)

ByTheTime 31. Jan 2012 16:14

Groß-/Kleinschreibung ignorieren
 
Hallo,
ich bin auf der Suche nach einer Möglichkeit, die Groß-/Kleinschreibung zu vernachlässigen (NICHT ansilowercase), da ich folgendes Problem habe:
Delphi-Quellcode:
//Mit folgendem Code speichere ich Strings in einem Array

//SaveToArray-Procedure
 if ComboOrt.Text = 'Frankfurt' then
    TPArray[ö].Ort := 'FFM'; //Da die Daten später in Excel gespeicher werden (in kleinen Zellen), kürze ich Ort etc. an

{'ü' ist eine Variable. Sie ist nötig, da mein Programm ein TabControl besitzt (mit 7 Wochentagen). Da ich die Strings aus meinen Edit's und Combo's speichern muss, führe ich im Changing-Event des TabControls folgenden Code aus, um zu bestimmen, in welches Array ich speichern muss:}

 if TabDays.TabIndex = 0 then //0 = Montag, 1 = Dienstag, usw.
  begin SaveToArray
    ü := 0; //Montag festlegen
    SaveToArray; //Siehe oben
  end;

{Sollte man jetzt noch was ändern wollen, und z.B. von dem Tab "Dienstag" auf "Montag" zurückspring, muss man natürlich sehen, was drin steht. Daher wieder wie oben, schauen welches Tab ich öffne, Variable zuweisen 'ä' und dann aus dem Array laden:}

//LoadFromArray-Procedure
 if TPArray[ä].Ort = 'FFM' then
    ComboOrt.Text := 'Frankfurt';

{Und hier das eigentliche Problem, wenn man sich jetzt vertippt (die ComboBox macht ja Vorschläge) z.B. was ja ganz beliebt ist, den 2. Buchstaben auch noch groß zu schreiben: 'FRankfurt', ergänzt die ComboBox ja, allerding kann ich das dann nicht speichern (da FRankfurt <> Frankfurt).}
Ich habe es versucht mit 'ansilowercase' zu lösen, allerdings hat es nicht geklappt... Ich werde meinen Code nochmal posten, indem ich ansi verwendet habe. Allerdings ist es auch sehr umständlich, den es gibt nicht nur Ort, sondern noch 57 andere Combo's und Edit's (2x57=114 :S). Geht es nicht auch einfacher? Ich hoffe ich habe mein Problem verständlich geschildert :S

Gruß,
Lukas

Klaus01 31. Jan 2012 16:20

AW: Groß-/Kleinschreibung ignorieren
 
Hallo,

du musst beide Seiten des Vergelichs mit ansiLowerCase behandeln.

Delphi-Quellcode:
if ansiLowerCase(ComboOrt.Text) = ansiLowerCase(Vergleichsvariable) then
  begin
  end
else
  begin
  end;
Grüße
Klaus

himitsu 31. Jan 2012 16:25

AW: Groß-/Kleinschreibung ignorieren
 
Delphi-Referenz durchsuchenAnsiSameStr / Delphi-Referenz durchsuchenSameStr = zwei Strings vergleichen

Delphi-Referenz durchsuchenAnsiSameText / Delphi-Referenz durchsuchenSameText = zwei Strings vergleichen und dabei die Groß/Kleinschreibung ignorieren


Oder du gehts nicht auf die Texte der GUI, sondern nur auf die Auswahl ComboOrt.ItemIndex .

Medium 31. Jan 2012 16:55

AW: Groß-/Kleinschreibung ignorieren
 
Delphi-Quellcode:
var
  ä, ü, ö: Integör;
:?:
*schüttel*

Sir Rufo 31. Jan 2012 17:11

AW: Groß-/Kleinschreibung ignorieren
 
Zitat:

Zitat von Medium (Beitrag 1148562)
Delphi-Quellcode:
var
  ä, ü, ö: Integör;
:?:
*schüttel*

irgendwie habe ich auch schon die Hand an der Troll-Glocke ...

obwohl, diese globalen Variablen werden zu 99,99% keine Seiteneffekte haben. Damit hat man ein Alleinstellungsmerkmal :D

himitsu 31. Jan 2012 19:20

AW: Groß-/Kleinschreibung ignorieren
 
Ich weiß nicht was ihr habt?

Seit D2009 kann man nunmal den kompletten alpanumerischen Bereich des Unicodes nutzen. (die östlichen und asiatischen Länder haben sooooo viel zu bieten)
Und innerhalb der EXE stört es den Benutzer sowieso nicht.

Außerdem scheint obfuskieren in anderen Programmiersprachen doch gang und gäbe zu sein. :roll:


Nebeneffekte:
Die RTTI arbeitet zwar immernoch mit "ANSI", wurde aber auf UTF-8 umgestellt ... paßt also auch, da sie früher mehr auf ASCII beschränkt war. :stupid:

Medium 31. Jan 2012 19:26

AW: Groß-/Kleinschreibung ignorieren
 
Nichtdestotrotz ist es der doch recht internationalen Codergemeinschaft gegenüber recht unfreundlich. Nicht-Englische Kommentare sind ja schon fies, aber dann auch noch Sonderzeichen? Würde mir jemand einen Code mit Japanischen Variablennamen zur Überarbeitung geben, ginge der postwendend zurück, mit der Bitte um vorige Iteration durch ein Übersetzungsbüro ins Englische.

ByTheTime 31. Jan 2012 19:49

AW: Groß-/Kleinschreibung ignorieren
 
@Medium: Einerseits hast du ja schon recht. In dem Moment ist mir aber nichts besseres eingefallen, außerdem erkennt man ja, das es Variablen sind und kann sie dementsprechend ersetzen :P


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 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-2025 by Thomas Breitkreuz