Fórum Array multi dimensão. #339369
27/03/2007
0
Por exemplo:
Array1.array2.array3 := ´texto´;
sendo array1 e array2 com valores constantes.
const array1 : : array [0..4] of String = (´2000´, ´2001´, ´2002´....);
const array2 : : array [0..4] of String = (´jan´, ´fev´, ´mar´....);
e o array3 seria um valor variável.
Consigo montar está estrutura:?:
Obrigado pessoal.
Andersonfernando
Curtir tópico
+ 0Posts
27/03/2007
Acacio
multidimensional ai vai um exemplo
const
wArray :array [1..3,1..2] of string = ((´1´,´111´),(´2´,´222´),(´3´,´53453´));
Gostei + 0
27/03/2007
Andersonfernando
Tenho várias empresas são 7, e cada empresa tem seus cargos, e cada cargo tem seus funcionários.
Eu quero as informações do funcionário.
Preciso recuperar as informações da seguinte forma:
empresa : são constante; (Matrix, Rouver, Sig, Tend,)
cago : são constante; (Encarregado, Chefe, Administrador, Analista)
funcionário : vária de empresa e cargos.
Estou pensando em fazer algo assim:
empresa.cargo.funcionario.Nome;
Ele iria me retornar o nome do funcionário da empresa Matrix com cargo de chefe.
Como conseguiria buscar isso.
Gostei + 0
27/03/2007
Rjun
Gostei + 0
28/03/2007
Andersonfernando
E como ficaria a estrutura e como fazer?
Gostei + 0
28/03/2007
Marco Salles
defina uma classe com esta estrutura e crie os objetos e salve-os numa lista de objetos ????
Gostei + 0
28/03/2007
Andersonfernando
defina uma classe com esta estrutura e crie os objetos e salve-os numa lista de objetos ????[/quote:d2499139c5]
Achei muito boa a idéia e vou fazer isso.
Obrigado.
Gostei + 0
28/03/2007
Marco Salles
TipoEmpresa = (a,b,c); TipoCargo = (gerente,vendedor,analista,balconista,faxineiro); TMinhaClasse = Class private Fcargo:TipoCargo; FEmpresa:TipoEmpresa; Fnome:String; function GetFNome: String; function GetFTipocargo: String; function GetFTipoEmpresa: String; procedure SetFNome(const Value: String); procedure SetFTipocargo(const Value: String); procedure SetFTipoEmpresa(const Value: String); public class procedure RetornarTodosFuncionariosEmpresa(const vEmpresa:String; const ListaDeObjetos:Tlist; ltbNomeItems:Tstrings); class procedure RetornarTodosFuncionariosEmpresaCargos(const vEmpresa:String; const ListaDeObjetos:Tlist; listaNegra:Tlist); property cargo:String read GetFTipocargo Write SetFTipocargo; property Empresa:String read GetFTipoEmpresa Write SetFTipoEmpresa; property nome:String read GetFNome Write SetFNome; Constructor Create(vEmpresa,Vcargo,vNome:String);overload;
implementação das funçoes:
implementation
{$R *.dfm}
{ TMinhaClasse }
class procedure TMinhaClasse.RetornarTodosFuncionariosEmpresa( const vEmpresa: String; const ListaDeObjetos: Tlist; ltbNomeItems: Tstrings); var i:integer; begin for i:=0 to ListaDeObjetos.Count - 1 do if TMinhaClasse(ListaDeObjetos[i]).Empresa = vEmpresa Then ltbNomeItems.Add(TMinhaClasse(ListaDeObjetos[i]).nome); end;
class procedure TMinhaClasse.RetornarTodosFuncionariosEmpresaCargos( const vEmpresa: String; const ListaDeObjetos: Tlist; listaNegra: Tlist); var i:integer; begin for i:=0 to ListaDeObjetos.Count - 1 do if TMinhaClasse(ListaDeObjetos[i]).Empresa = vEmpresa Then listaNegra.Add(TMinhaClasse(ListaDeObjetos[i])); end;
[b:3fb15d501d]{ TMinhaClasse }[/b:3fb15d501d]
constructor TMinhaClasse.Create(vEmpresa,Vcargo,vNome:String); begin nome:=vNome; empresa:=vEmpresa; cargo:=vCargo; end; function TMinhaClasse.GetFNome: String; begin result:=Fnome end; function TMinhaClasse.GetFTipocargo: String; function RetornarCargo(const value:TipoCargo):String; begin case Fcargo of gerente:result:=´gerente´; vendedor:result:=´vendedor´; analista:result:=´analista´; balconista:result:=´balconista´; faxineiro:result:=´Faxineiro´; end; end; begin result:=RetornarCargo(Fcargo); end; function TMinhaClasse.GetFTipoEmpresa: String; function RetornarEmpresa(const value:TipoEmpresa):String; begin case Fempresa of a:result:=´a´; b:result:=´b´; c:result:=´c´; end; end; begin result:= RetornarEmpresa(FEmpresa); end; procedure TMinhaClasse.SetFNome(const Value: String); begin Fnome:=Value; end; procedure TMinhaClasse.SetFTipocargo(const Value: String); function RetornarTipoCargo(const Value:String):TipoCargo; begin if value = ´gerente´ then result:=gerente else if value = ´vendedor´ then result := vendedor else if value = ´analista´ then result:= analista else if value = ´balconista´ then result := balconista else result := faxineiro; end; begin Fcargo:=RetornarTipoCargo(value); end; procedure TMinhaClasse.SetFTipoEmpresa(const Value: String); function RetornarTipoEmpresa(const Value:String):TipoEmpresa; begin if value = ´a´ then result:=a else if value = ´b´ then result := b else if value = ´c´ then result:= c end; begin FEmpresa:=RetornarTipoEmpresa(value); end; end. procedure TMinhaClasse.SetFNome(const Value: String); begin Fnome:=value; end;
exemplo de utilização:
No evento onclick de um Botão , pode-se fazer a vontade :
var listaDeObjetos:Tlist; umObjeto:TMinhaClasse; listaAux:Tlist; i:integer; begin listaDeObjetos:=Tlist.Create; umObjeto:=TMinhaClasse.Create(´a´,´analista´,´Marco´); listaDeObjetos.Add(umObjeto); showmessage(´Nome Do Funcinário : ´+TMinhaClasse(listaDeObjetos[0]).nome+13+ ´Nome da Empresa ´+TMinhaClasse(listaDeObjetos[0]).Empresa+13+ ´Nome do Cargo : ´+TMinhaClasse(listaDeObjetos[0]).cargo); //Acrescentar Items umObjeto:=TMinhaClasse.Create(´a´,´faxineiro´,´Joao´); listaDeObjetos.Add(umObjeto); umObjeto:=TMinhaClasse.Create(´c´,´gerente´,´Carmem´); listaDeObjetos.Add(umObjeto); umObjeto:=TMinhaClasse.Create(´b´,´vendedor´,´maria´); listaDeObjetos.Add(umObjeto); umObjeto:=TMinhaClasse.Create(´a´,´balconista´,´Telma´); listaDeObjetos.Add(umObjeto); ltbNome.Items.Add(´*************************´); ltbNome.Items.Add(´Empresa : "a" seus Funcionários são : ´); umObjeto.RetornarTodosFuncionariosEmpresa(´a´,listaDeObjetos,ltbNome.Items); ltbNome.Items.Add(´´); ltbNome.Items.Add(´*************************´); ltbNome.Items.Add(´Empresa : "b" seus Funcionários são :´); umObjeto.RetornarTodosFuncionariosEmpresa(´b´,listaDeObjetos,ltbNome.Items); ltbNome.Items.Add(´´); ltbNome.Items.Add(´*************************´); ltbNome.Items.Add(´Empresa : "b" seus Funcionários são :´); umObjeto.RetornarTodosFuncionariosEmpresa(´c´,listaDeObjetos,ltbNome.Items); ListaAux:=Tlist.Create; umObjeto.RetornarTodosFuncionariosEmpresaCargos(´a´,listaDeObjetos,listaAux); ltbNomeCargo.Items.Add(´´); ltbNomeCargo.Items.Add(´*************************´); ltbNomeCargo.Items.Add(´Empresa : "a"´); for i:=0 to ListaAux.Count -1 do begin ltbNomeCargo.Items.Add(´Nome : ´+TminhaClasse(listaAux[i]).nome+ ´----->> Cargo : ´+TminhaClasse(listaAux[i]).cargo); end; listaDeObjetos.Free; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)