como resolver erro: Undeclared identifier
function in_array(i_nr,i_array : boolean) : boolean;
var k : Integer;
begin
result:=false;
for k:=0 to VarArrayHighBound(i_array,1) do begin
if i_nr=i_array[k] then begin
result:=True;
break;
end;
end;
end;
Erro: Undeclared identifier: "VarArrayHIghBound"
var k : Integer;
begin
result:=false;
for k:=0 to VarArrayHighBound(i_array,1) do begin
if i_nr=i_array[k] then begin
result:=True;
break;
end;
end;
end;
Erro: Undeclared identifier: "VarArrayHIghBound"
Roberto Rodrigues
Curtidas 0
Respostas
Gutierry Pereira
13/05/2017
Boa tarde,
Este erro sempre ocorre quando esta tentando utilizar uma variavel/objeto/componente que não foi previamente declarado.
Diferete de linguagens fracamente tipada o delphi exite a declaração previa das variáveis.
Declare a VarArrayHIghBound no escopo desejado com seu devido tipo, caso a mesma já esteja declarada mas em uma outra unit, declare a unit na uses.
Este erro sempre ocorre quando esta tentando utilizar uma variavel/objeto/componente que não foi previamente declarado.
Diferete de linguagens fracamente tipada o delphi exite a declaração previa das variáveis.
Declare a VarArrayHIghBound no escopo desejado com seu devido tipo, caso a mesma já esteja declarada mas em uma outra unit, declare a unit na uses.
GOSTEI 0
Marco Antônio
13/05/2017
Bom dia Roberto,
essa função precisa da Unit ''Variants'', dependendo da versão do Delphi que vc estiver utilizando será preciso declarar ''System.Variants''.
Abcs
essa função precisa da Unit ''Variants'', dependendo da versão do Delphi que vc estiver utilizando será preciso declarar ''System.Variants''.
Abcs
GOSTEI 0
Roberto Rodrigues
13/05/2017
Var VarArrayHIghBound : Integer; // Ok declarando ela como integer funciona,
pois eu sei que ela percorre todo a array até o seu final.
Logo seu valor no caso é 37.
Então eu posso substituir esse termo pelo número 37 que vai funcionar
da mesma forma, porem obtenho outro erro.
function in_array(i_nr,i_array : boolean) : boolean;
var k : Integer;
begin
result:=false;
for k:=0 to 37(i_array,1) do begin
if i_nr=i_array[k] then begin
result:=True;
break;
end;
end;
end;
Erro: Missing operator or semicolon
Erro aqui: (i_array,1)
O que você acha?
pois eu sei que ela percorre todo a array até o seu final.
Logo seu valor no caso é 37.
Então eu posso substituir esse termo pelo número 37 que vai funcionar
da mesma forma, porem obtenho outro erro.
function in_array(i_nr,i_array : boolean) : boolean;
var k : Integer;
begin
result:=false;
for k:=0 to 37(i_array,1) do begin
if i_nr=i_array[k] then begin
result:=True;
break;
end;
end;
end;
Erro: Missing operator or semicolon
Erro aqui: (i_array,1)
O que você acha?
GOSTEI 0
Marco Antônio
13/05/2017
Var VarArrayHIghBound : Integer; // Ok declarando ela como integer funciona,
pois eu sei que ela percorre todo a array até o seu final.
Logo seu valor no caso é 37.
Então eu posso substituir esse termo pelo número 37 que vai funcionar
da mesma forma, porem obtenho outro erro.
function in_array(i_nr,i_array : boolean) : boolean;
var k : Integer;
begin
result:=false;
for k:=0 to 37(i_array,1) do begin
if i_nr=i_array[k] then begin
result:=True;
break;
end;
end;
end;
Erro: Missing operator or semicolon
Erro aqui: (i_array,1)
O que você acha?
pois eu sei que ela percorre todo a array até o seu final.
Logo seu valor no caso é 37.
Então eu posso substituir esse termo pelo número 37 que vai funcionar
da mesma forma, porem obtenho outro erro.
function in_array(i_nr,i_array : boolean) : boolean;
var k : Integer;
begin
result:=false;
for k:=0 to 37(i_array,1) do begin
if i_nr=i_array[k] then begin
result:=True;
break;
end;
end;
end;
Erro: Missing operator or semicolon
Erro aqui: (i_array,1)
O que você acha?
Bom dia Roberto, antes de mudar o seu raciocínio e a tua rotina, vc simplesmente declarou a Unit ''Variants'' ou ''System.Variants'' para a rotina que inicio o POST?
GOSTEI 0
Marco Antônio
13/05/2017
Var VarArrayHIghBound : Integer; // Ok declarando ela como integer funciona,
pois eu sei que ela percorre todo a array até o seu final.
Logo seu valor no caso é 37.
Então eu posso substituir esse termo pelo número 37 que vai funcionar
da mesma forma, porem obtenho outro erro.
function in_array(i_nr,i_array : boolean) : boolean;
var k : Integer;
begin
result:=false;
for k:=0 to 37(i_array,1) do begin
if i_nr=i_array[k] then begin
result:=True;
break;
end;
end;
end;
Erro: Missing operator or semicolon
Erro aqui: (i_array,1)
O que você acha?
pois eu sei que ela percorre todo a array até o seu final.
Logo seu valor no caso é 37.
Então eu posso substituir esse termo pelo número 37 que vai funcionar
da mesma forma, porem obtenho outro erro.
function in_array(i_nr,i_array : boolean) : boolean;
var k : Integer;
begin
result:=false;
for k:=0 to 37(i_array,1) do begin
if i_nr=i_array[k] then begin
result:=True;
break;
end;
end;
end;
Erro: Missing operator or semicolon
Erro aqui: (i_array,1)
O que você acha?
Bom dia Roberto, antes de mudar o seu raciocínio e a tua rotina, vc simplesmente declarou a Unit ''''Variants'''' ou ''''System.Variants'''' para a rotina que inicio o POST?
GOSTEI 0
Roberto Rodrigues
13/05/2017
Não marcos,
não sei onde e como declarar a Unit ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Variants'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ou ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''System.Variants''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Se vc me dar um exemplo de como usar isso pra a VarArrayHIghBound da Unit1, agradeço;
porque declarando Var VarArrayHIghBound : Integer; resolve
ou substituindo pelo valor correto que ela traz,
mas independente dos dois casos, agora tenho o segundo erro:
Erro: Missing operator or semicolon
Erro aqui: (i_array,1)
não sei onde e como declarar a Unit ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Variants'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ou ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''System.Variants''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Se vc me dar um exemplo de como usar isso pra a VarArrayHIghBound da Unit1, agradeço;
porque declarando Var VarArrayHIghBound : Integer; resolve
ou substituindo pelo valor correto que ela traz,
mas independente dos dois casos, agora tenho o segundo erro:
Erro: Missing operator or semicolon
Erro aqui: (i_array,1)
GOSTEI 0
Roberto Rodrigues
13/05/2017
Sim amigo eu vi que System.Variants já está declarada no uses.
Achei a solução assim:
Substituir VarArrayHighBound(i_array,1) por 37
que é o valor total da array que ela vai retornar
Então funciou,
obrigado pela ajuda.
Achei a solução assim:
Substituir VarArrayHighBound(i_array,1) por 37
que é o valor total da array que ela vai retornar
Então funciou,
obrigado pela ajuda.
GOSTEI 0