TLanguages - Conhecendo a Classe - Delphi

Veja neste artigo a classe TLanguages que fica dentro da unit SysUtils. Ela tem a finalidade de armazenar as linguagens que o sistema operacional suporta.

Olá pessoal, hoje venho mostrar uma curiosidade que temos dentro da unit SysUtils, a classe TLanguages. Ela tem a finalidade de armazenar as linguagens que o sistema operacional suporta. Veja abaixo a sua estrutura.

Listagem 1: Estrutura de languages

{ This stores the languages that the system supports } TLanguages = class private FSysLangs: array of TLangRec; class destructor Destroy; function LocalesCallback(LocaleID: PChar): Integer; stdcall; function GetExt(Index: Integer): string; function GetID(Index: Integer): string; function GetLCID(Index: Integer): LCID; function GetName(Index: Integer): string; function GetNameFromLocaleID(ID: LCID): string; function GetNameFromLCID(const ID: string): string; function GetCount: integer; public constructor Create; function IndexOf(ID: LCID): Integer; property Count: Integer read GetCount; property Name[Index: Integer]: string read GetName; property NameFromLocaleID[ID: LCID]: string read GetNameFromLocaleID; property NameFromLCID[const ID: string]: string read GetNameFromLCID; property ID[Index: Integer]: string read GetID; property LocaleID[Index: Integer]: LCID read GetLCID; property Ext[Index: Integer]: string read GetExt; end platform;

Agora como podemos usar esta classe? Usando uma maneira bem simples vou ilustrar o seu uso. Iremos precisar de uma aplicação e um formulário, feito isso no seu formulário adicione um TStringGrid, apenas isso e alinhe o mesmo “Align = alClient”, veja como deverá ficar o exemplo:


Figura 1. Layout do Formulário.

Agora no evento onCreate do nosso formulário vamos ver como implementar e utilizar esta classe, veja como é simples. Listagem 2: Usando a classe TLanguages procedure TForm1.FormCreate(Sender: TObject); var {Observe que foram criadas 2 variáveis} tempL : TLanguages; // Objeto para instanciar a classe I : Integer; // Controlador do Loop Begin {Instanciando o nosso Objeto} tempL := TLanguages.Create; {Definindo tamanho de cada coluna no StringGrid} StringGrid1.ColWidths[0] := 50; StringGrid1.ColWidths[1] := 300; StringGrid1.ColWidths[2] := 150; StringGrid1.ColWidths[3] := 120; StringGrid1.ColWidths[4] := 120; {Definindo a quantidade de LINHAS que teremos +1, pois precisamos informar o cabeçalho} StringGrid1.RowCount := tempL.Count + 1; {Definindo a quantidade de COLUNAS} StringGrid1.ColCount := 5; {Definindo os cabeçalhos das COLUNAS} StringGrid1.Cells[0,0] := 'ID'; StringGrid1.Cells[1,0] := 'Name[I]'; StringGrid1.Cells[2,0] := 'ID[I]'; StringGrid1.Cells[3,0] := 'NameFromLocaleID[I]'; StringGrid1.Cells[4,0] := 'Ext'; {Loop para percorrer a lista com os dados armazenados em tempL } for I := 1 to tempL.Count do begin {neste ponto fazemos apenas um loop simples, direcionando cada propriedade para uma determinada COLUNA e LINHA do StringGrid } StringGrid1.Cells[0,I] := IntToStr(I); StringGrid1.Cells[1,I] := tempL.Name[I]; StringGrid1.Cells[2,I] := tempL.ID[I]; StringGrid1.Cells[3,I] := tempL.NameFromLocaleID[I]; StringGrid1.Cells[4,I] := tempL.Ext[I]; end; end;

Figura 2. Exemplo funcionando.

Concluindo então nosso artigo, vimos mais uma classe dentro do Delphi que nos permite extrair informações do nosso Sistema Operacional de maneira, rápida e fácil.

Um abraço e até o próximo artigo.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados