Hi all
I have some enumerated types on source and each one I will make array to store
descriptions and another info. At this point I wrote code to get these info
using 3 functions for each type.
You can see this bellow, but I´ll like to make it using only 3 generic
functions but do know how;
type
TDigitalizacaoModulo = (dzmReconhecimento, dzmEncaminhamento, dzmEscritura,
dzmRegistroProcuracao);
TDigitalizacaoPessoa = (dzpTodos, dzpFisica, dzpJuridica, dzpTabelionato);
...
...
...
const
DigitalizacaoModuloDB: array[TDigitalizacaoModulo] of string = ('R', 'E',
'S', 'X');
DigitalizacaoModuloDescricao: array[TDigitalizacaoModulo] of string =
('Reconhecimento', 'Encaminhamento', 'Escritura', 'Registro Procuração');
DigitalizacaoPessoaDB: array[TDigitalizacaoPessoa] of string = ('A', 'F',
'J', 'T');
DigitalizacaoPessoaDescricao: array[TDigitalizacaoPessoa] of string =
('Todos', 'Física', 'Juridica', 'Tabelionato');
...
...
...
function ObterDigitalizacaoModuloDB(Tipo: TDigitalizacaoModulo): string;
function ObterDigitalizacaoModulo(DB: string): TDigitalizacaoModulo;
procedure DefinirDigitalizacaoModuloDescricao(ListDescricao, ListTipo:
TStrings);
function ObterDigitalizacaoPessoaDB(Tipo: TDigitalizacaoPessoa): string;
function ObterDigitalizacaoPessoa(DB: string): TDigitalizacaoPessoa;
procedure DefinirDigitalizacaoPessoaDescricao(ListDescricao, ListTipo:
TStrings);
...
...
...
{ TDigitalizacaoModulo }
function ObterDigitalizacaoModuloDB(Tipo: TDigitalizacaoModulo): string;
begin
Result := DigitalizacaoModuloDB[Tipo];
end;
function ObterDigitalizacaoModulo(DB: string): TDigitalizacaoModulo;
var
tDModulo: TDigitalizacaoModulo;
begin
for tDModulo := Low(TDigitalizacaoModulo) to High(TDigitalizacaoModulo) do
begin
if DigitalizacaoModuloDB[tDModulo] = DB then begin
Result := tDModulo;
Break;
end;
end;
end;
procedure DefinirDigitalizacaoModuloDescricao(ListDescricao, ListTipo:
TStrings);
var
tDModulo: TDigitalizacaoModulo;
begin
if Assigned(ListDescricao) then ListDescricao.Clear;
if Assigned(ListTipo) then ListTipo.Clear;
for tDModulo := Low(TDigitalizacaoModulo) to High(TDigitalizacaoModulo) do
begin
if Assigned(ListDescricao) then
ListDescricao.Add(DigitalizacaoModuloDescricao[tDModulo]);
if Assigned(ListTipo) then ListTipo.Add(DigitalizacaoModuloDB[tDModulo]);
end;
end;
{ TDigitalizacaoPessoa }
function ObterDigitalizacaoPessoaDB(Tipo: TDigitalizacaoPessoa): string;
begin
Result := DigitalizacaoPessoaDB[Tipo];
end;
function ObterDigitalizacaoPessoa(DB: string): TDigitalizacaoPessoa;
var
tDPessoa: TDigitalizacaoPessoa;
begin
for tDPessoa := Low(TDigitalizacaoPessoa) to High(TDigitalizacaoPessoa) do
begin
if DigitalizacaoPessoaDB[tDPessoa] = DB then begin
Result := tDPessoa;
Break;
end;
end;
end;
procedure DefinirDigitalizacaoPessoaDescricao(ListDescricao, ListTipo:
TStrings);
var
tDModulo: TDigitalizacaoPessoa;
begin
if Assigned(ListDescricao) then ListDescricao.Clear;
if Assigned(ListTipo) then ListTipo.Clear;
for tDModulo := Low(TDigitalizacaoPessoa) to High(TDigitalizacaoPessoa) do
begin
if Assigned(ListDescricao) then
ListDescricao.Add(DigitalizacaoPessoaDescricao[tDModulo]);
if Assigned(ListTipo) then ListTipo.Add(DigitalizacaoPessoaDB[tDModulo]);
end;
end;
Sorry about bad english.
Atenc;
Elazar
________________________________
Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 -
Celebridades - Música -Esportes
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com
_______________________________________________
Delphi mailing list -> [email protected]
http://lists.elists.org/cgi-bin/mailman/listinfo/delphi