Duvida Vetor
09/07/2008
0
Pessoal, to precisando de um help urgente aqui!!
Tenho um vetor que guarda o endereço da placa de rede de 3 pc´s e em certas horas no código eu utilizo esse vetor pq se o endereço for igual a qualquer uma das posições do meu vetor ele nao pode passar pelo código.
Declaração do array:
Eu tinha feito o codigo da seguinte maneira:
Mas não vai poder ficar dessa forma pq se eu precisar aumentar o numero de maquinas foi precisar modificar o código em vários lugares acrescentando ´(MacAddress <> Maquinas[n])´. Me pediram para fazer isso usando uma estrutura.
Pensei o seguinte:
Mas nao deu pq ele testa 1 por 1 então se a 1ª posição do vetor já nao for igual ao meu MacAddress ele executa tudo que não era para executar.
Como posso colocar isso em uma estrutura sem que ele execute o que está dentro do if caso o MacAddress seja igual a qualquer uma das posições do vetor?
Tenho um vetor que guarda o endereço da placa de rede de 3 pc´s e em certas horas no código eu utilizo esse vetor pq se o endereço for igual a qualquer uma das posições do meu vetor ele nao pode passar pelo código.
Declaração do array:
const Maquinas: array[0..2] of string = (´00-16-D4-B2-3C-30´, ´00-1C-25-46-A1-8E´, ´00-0F-EA-B4-2A-C8´);
Eu tinha feito o codigo da seguinte maneira:
if ((MacAddress <> Maquinas[0]) (MacAddress <> Maquinas[1]) (MacAddress <> Maquinas[2])) then begin end;
Mas não vai poder ficar dessa forma pq se eu precisar aumentar o numero de maquinas foi precisar modificar o código em vários lugares acrescentando ´(MacAddress <> Maquinas[n])´. Me pediram para fazer isso usando uma estrutura.
Pensei o seguinte:
for i := 0 to high(Maquinas) do begin if (MacAddress <> Maquinas[i]) then begin end; end;
Mas nao deu pq ele testa 1 por 1 então se a 1ª posição do vetor já nao for igual ao meu MacAddress ele executa tudo que não era para executar.
Como posso colocar isso em uma estrutura sem que ele execute o que está dentro do if caso o MacAddress seja igual a qualquer uma das posições do vetor?
Tamiriss
Curtir tópico
+ 0
Responder
Posts
09/07/2008
Tamiriss
Vou postar pra ajudar alguém que tenha a mesma duvida!
Eu criei uma outra função que verifica isso para mim:
E como no meu caso se achasse o numero da maquina ele nao podia fazer nada ficou assim:
Vlw
Eu criei uma outra função que verifica isso para mim:
function VerificaEnderecoMac: Boolean; var I: Integer; Endereco: String; begin Endereco := MacAddress; Result := False; for I := 1 to High(Maquinas) do begin if UpperCase(Endereco) = UpperCase(Maquinas[I]) then begin Result := True; Break; end; end; end;
E como no meu caso se achasse o numero da maquina ele nao podia fazer nada ficou assim:
if not VerificaEnderecoMac then begin end;
Vlw
Responder
Clique aqui para fazer login e interagir na Comunidade :)