AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Firemonkey TUpper funktioniert nicht mit 'ß'!
Thema durchsuchen
Ansicht
Themen-Optionen

Firemonkey TUpper funktioniert nicht mit 'ß'!

Ein Thema von Koloss · begonnen am 5. Jun 2014 · letzter Beitrag vom 5. Jun 2014
Antwort Antwort
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Firemonkey TUpper funktioniert nicht mit 'ß'!

  Alt 5. Jun 2014, 12:33
Füge am Anfang Deiner Unit die Funktionen hinzu:

Code:
function LowerCase(const S: string): string;
begin
  Result := System.SysUtils.AnsiLowerCase(S);
end;

function UpperCase(const S: string): string;
begin
  Result := System.SysUtils.AnsiUpperCase(S);
end;
  Mit Zitat antworten Zitat
Koloss

Registriert seit: 21. Jul 2010
74 Beiträge
 
Delphi 2 Desktop
 
#2

AW: Firemonkey TUpper funktioniert nicht mit 'ß'!

  Alt 5. Jun 2014, 14:18
Füge am Anfang Deiner Unit die Funktionen hinzu:

Code:
function LowerCase(const S: string): string;
begin
  Result := System.SysUtils.AnsiLowerCase(S);
end;

function UpperCase(const S: string): string;
begin
  Result := System.SysUtils.AnsiUpperCase(S);
end;
Danke aber es passiert auch intern beim TabItem vom TabControl, weil Android das automatisch groß darstellt.

Fehler passiert in System.SysUtils
Code:
function TStringHelper.ToUpper(LocaleID: TLocaleID): string;
{$IF defined(MSWINDOWS)}
begin
  Result := Self;
  if Result <> '' then
  begin
    UniqueString(Result);

    if LCMapString(LocaleID, LCMAP_UPPERCASE or LCMAP_LINGUISTIC_CASING, PChar(Self), Self.Length,
       PChar(Result), Result.Length) = 0 then
      RaiseLastOSError;
  end;
end;
{$ELSEIF defined(USE_LIBICU)}
var
  SelfLen: Integer;
  ResLen: Integer;
  ErrorCode: UErrorCode;
begin
  SelfLen := Self.Length;
  if SelfLen > 0 then
  begin
    ErrorCode := U_ZERO_ERROR;
    SetLength(Result, SelfLen);
    ResLen := u_strToUpper(PChar(Result), SelfLen, PChar(Self), SelfLen, LocaleID, ErrorCode);
    if (ErrorCode > U_ZERO_ERROR) then
    begin
      SetLength(Result, ResLen);
      ResLen := u_strToUpper(PChar(Result), ResLen, PChar(Self), SelfLen, LocaleID, ErrorCode); // hier bleibt er stehen
      if (ErrorCode > U_ZERO_ERROR) then
        raise EOverflow.CreateFmt(SICUErrorOverflow, [Int32(ErrorCode), UTF8ToString(u_errorName(ErrorCode)), ResLen]); // Meldung
    end;
  end
  else Result := Self;
end;
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Firemonkey TUpper funktioniert nicht mit 'ß'!

  Alt 5. Jun 2014, 14:25
Ist die ICU Bibliothek Bestandteil des Betriebssystems / wird es von Delphi mit auf das Gerät kopiert? (Und ist es dies aktuellste Version des Emulators?)
Michael Justin
  Mit Zitat antworten Zitat
Koloss

Registriert seit: 21. Jul 2010
74 Beiträge
 
Delphi 2 Desktop
 
#4

AW: Firemonkey TUpper funktioniert nicht mit 'ß'!

  Alt 5. Jun 2014, 14:57
Keine Ahnung! Es funktioniert aber auch auf einen Samsung S2 Handy mit Android 4.1.2 nicht.
  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 01:48 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