Duvida Vetor

09/07/2008

1

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:
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?


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:

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
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira