error e0021 incorrect numbr of arguments: file

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

error e0021 incorrect numbr of arguments: file

Mensagem por porter »

ola pessoa, tenho um comando assim:

if !file("&indice1..NSX","&indice2..NSX","&indice3..NSX","&indice4..NSX","&indice5..NSX")
contador := 99
endif

na primeira linha esta dando erro:
Error E0021 Incorrect number of arguments : File

passed 5
expected 1

se fizer assim nao da erro, porque se passar mais de um parametro, da erro ?

if !file("&indice1..NSX")
contador := 99
endif

obrigado.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

error e0021 incorrect numbr of arguments: file

Mensagem por Pablo César »

Que eu saiba o File() é só para um arquivo, por isso dá erro. Você poderia utilizar esse nomes numa matriz que fica muito mais prático de manipular.

Código: Selecionar todos

aFile:={"File1.nsx","File2.nsx"}
For i=1 to Len(aFile)
    If file(aFile[i])
    Endif
Next
O que achei estranho também são os dois pontinhos antes da extensão do arquivo.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

error e0021 incorrect numbr of arguments: file

Mensagem por Jairo Maia »

Olá Porter,

A função File() aceita apenas um parâmetro. Para você verificar a existência de mais de um arquivo, proceda assim por exemplo:

Código: Selecionar todos

if !file("&indice1..NSX") .Or. !file("&indice2..NSX") .Or. !file("&indice3..NSX") .Or. !file("&indice4..NSX") .Or. !file("&indice5..NSX")

// ação

EndIf
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

error e0021 incorrect numbr of arguments: file

Mensagem por porter »

ha entendi, no clipper compila normalmente, no xHarbour é diferente.

valeu pessoal, obrigado, agora deu certo.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

error e0021 incorrect numbr of arguments: file

Mensagem por Jairo Maia »

Olá Pablo,
Pablo César escreveu:O que achei estranho também são os dois pontinhos antes da extensão do arquivo.
O primeiro ponto pertence a Macro, e o segundo a String.

Como ele usou a macro e string no mesmo bloco, precisa ser assim:

Código: Selecionar todos

!file("&indice5..NSX")
Para dispensar o segundo ponto, precisaria ser assim:

Código: Selecionar todos

!file("&indice5" + ".NSX")
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Responder