From b01a567f1529725eff5e8e9987b43e1c41dc0c7a Mon Sep 17 00:00:00 2001 From: URUWorks Date: Sun, 10 Mar 2024 09:28:36 -0300 Subject: [PATCH] added GetCultureIndex --- .../common/UWSystem.Globalization.pas | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/TeroSubtitler/common/UWSystem.Globalization.pas b/TeroSubtitler/common/UWSystem.Globalization.pas index 6328ccb..6a51887 100644 --- a/TeroSubtitler/common/UWSystem.Globalization.pas +++ b/TeroSubtitler/common/UWSystem.Globalization.pas @@ -30,6 +30,8 @@ function GetCultureDisplayName(CultureName: AnsiString): String; function GetCultureName(const Index: Integer): String; overload; function GetCultureName(const ADisplayName: String): String; overload; function GetCultureShortName(const Index: Integer): String; +function GetCultureIndex(const ACultureName: String): Integer; +function GetCultureShortIndex(const ACultureName: String): Integer; procedure FillCultureTStrings(const Items: TStrings); function ISO_639_2CodeToName(const Code: AnsiString): AnsiString; @@ -733,6 +735,34 @@ function GetCultureShortName(const Index: Integer): String; // ----------------------------------------------------------------------------- +function GetCultureIndex(const ACultureName: String): Integer; +var + i : Integer; + s : String; +begin + Result := 0; + s := AnsiLowerCase(ACultureName); + + for i := 0 to MaxCultureItems-1 do + if AnsiLowerCase(CultureInfo[i].CultureName) = s then + Exit(i); +end; + +// ----------------------------------------------------------------------------- + +function GetCultureShortIndex(const ACultureName: String): Integer; +var + i: Integer; +begin + Result := 0; + + for i := 0 to MaxCultureItems-1 do + if AnsiLowerCase(Copy(CultureInfo[i].CultureName, 1, Pos('-', CultureInfo[i].CultureName)-1)) = AnsiLowerCase(ACultureName) then + Exit(i); +end; + +// ----------------------------------------------------------------------------- + procedure FillCultureTStrings(const Items: TStrings); var i: Integer;