Compilar EA

 

Bom dia.

Não consigo realizar compilação de EA , mesmo com o arquivo auxiliares na pasta include ele da o erro abaixo

can't open "C:\Users\Luis Carlos\AppData\Roaming\MetaQuotes\Terminal\FB9A56D617EDDDFE29EE54EBEFFE96C1\MQL5\Include\Auxiliares.mqh" include file

 
machado46:

Bom dia.

Não consigo realizar compilação de EA , mesmo com o arquivo auxiliares na pasta include ele da o erro abaixo

can't open "C:\Users\Luis Carlos\AppData\Roaming\MetaQuotes\Terminal\FB9A56D617EDDDFE29EE54EBEFFE96C1\MQL5\Include\Auxiliares.mqh" include file

Bom dia,

tudo já aconteceu com que tem +40 anos de TI (rsrsrs...),  no meu caso tinha um Ctrl-h no nome do arquivo!   Tenta aí, pode ser o mesmo caso: Renomeie o include(mqh)  e digite novamente o comando include no fonte. 

 

Amigo obrigado 100% cara perfeito show resolvido 

Muito obrigado

 
Rogerio Giannetti Torres:

Bom dia,

tudo já aconteceu com que tem +40 anos de TI (rsrsrs...),  no meu caso tinha um Ctrl-h no nome do arquivo!   Tenta aí, pode ser o mesmo caso: Renomeie o include(mqh)  e digite novamente o comando include no fonte. 

@Rogerio Giannetti Torres vc é um verdadeiro sniper! Acerta sempre na mosca!

E é da minha geração! Ainda não cheguei nos 40 anos de TI, mas estou perto, comecei em 1982.

Lá pelos idos de 1984/1985 eu usava esse truque do Ctrl-h no nome do arquivo ao gravar em disquete pra dificultar que outras pessoas conseguissem abri-los, copiá-los ou executá-los. Será que vc algum dia se deparou com um dos meus? kkk!

Para os mais novos entenderem o contexto: naquele tempo não havia internet, os arquivos eram copiados de um computador para outro por meio de fitas magnéticas ou de disquetes flexíveis (ancestrais jurássicos dos atuais pendrives). Também não existia mouse para arrastar arquivos ou clicar para executá-los. Pra vc copiar ou executar um arquivo era necessário digitar o nome do arquivo na linha de comando.

Na época eu construí 2 utilitários, "Trava" e "Destrava", pra proteger os arquivos. O "Trava" simplesmente incluía um caracter qualquer seguido de um Ctrl-h no meio do nome do arquivo. Quando o sistema operacional exibe o nome do arquivo, o Ctrl-h é interpretado como "backspace" e apaga o caracter anterior. A inclusão do Ctrl-h tinha que ser feita por programação, ou por meio de um editor em hexadecimal, pois não há como incluir esses caracteres especiais dentro do nome do arquivo usando o teclado. Com isso, se a pessoa digitar o nome do arquivo tal como aparece na tela, ou mesmo se tentar copiar e colar o nome do arquivo, ou se tentar incluir o arquivo dentro de outro (caso do @machado46), aquele nome não vai ser reconhecido, pois o nome real do arquivo tem 2 caracteres a mais que não aparecem na tela. O "Destrava" simplesmente eliminava esses 2 caracteres extras, fazendo o nome voltar a ser igual ao que aparecia na tela.

Talvez a pessoa que gravou esse arquivo mqh que o @machado46 não estava conseguindo compilar como "include file" possa ter feito isso intencionalmente, pra dificultar o uso não autorizado. 

Só que hoje em dia esse tipo de proteção é facilmente contornável, uma vez que se pode facilmente abrir e renomear o arquivo usando o mouse, sem precisar digitar o nome original do arquivo.  

Nos tempos antigos, os únicos jeitos de "destravar" um arquivo assim eram por meio de programação ou por meio de alguma daquelas ferramentas avançadas que permitiam visualizar e editar a FAT (File Allocation Table) byte a byte, em hexadecimal, e pouquíssimas pessoas naquela época tinham conhecimento técnico pra isso.

Desculpem-me pelo "textão", mas achei incrível o relato do @Rogerio Giannetti Torres de ter se deparado com um Ctrl-h dentro de um nome de arquivo, pois a única pessoa que já conheci que fazia isso era eu, há uns 35 anos atrás! kkkk!


 
Trader_Patinhas:

@Rogerio Giannetti Torres vc é um verdadeiro sniper! Acerta sempre na mosca!

E é da minha geração! Ainda não cheguei nos 40 anos de TI, mas estou perto, comecei em 1982.

Lá pelos idos de 1984/1985 eu usava esse truque do Ctrl-h no nome do arquivo ao gravar em disquete pra dificultar que outras pessoas conseguissem abri-los, copiá-los ou executá-los. Será que vc algum dia se deparou com um dos meus? kkk!

Para os mais novos entenderem o contexto: naquele tempo não havia internet, os arquivos eram copiados de um computador para outro por meio de fitas magnéticas ou de disquetes flexíveis (ancestrais jurássicos dos atuais pendrives). Também não existia mouse para arrastar arquivos ou clicar para executá-los. Pra vc copiar ou executar um arquivo era necessário digitar o nome do arquivo na linha de comando.

Na época eu construí 2 utilitários, "Trava" e "Destrava", pra proteger os arquivos. O "Trava" simplesmente incluía um caracter qualquer seguido de um Ctrl-h no meio do nome do arquivo. Quando o sistema operacional exibe o nome do arquivo, o Ctrl-h é interpretado como "backspace" e apaga o caracter anterior. A inclusão do Ctrl-h tinha que ser feita por programação, ou por meio de um editor em hexadecimal, pois não há como incluir esses caracteres especiais dentro do nome do arquivo usando o teclado. Com isso, se a pessoa digitar o nome do arquivo tal como aparece na tela, ou mesmo se tentar copiar e colar o nome do arquivo, ou se tentar incluir o arquivo dentro de outro (caso do @machado46), aquele nome não vai ser reconhecido, pois o nome real do arquivo tem 2 caracteres a mais que não aparecem na tela. O "Destrava" simplesmente eliminava esses 2 caracteres extras, fazendo o nome voltar a ser igual ao que aparecia na tela.

Talvez a pessoa que gravou esse arquivo mqh que o @machado46 não estava conseguindo compilar como "include file" possa ter feito isso intencionalmente, pra dificultar o uso não autorizado. 

Só que hoje em dia esse tipo de proteção é facilmente contornável, uma vez que se pode facilmente abrir e renomear o arquivo usando o mouse, sem precisar digitar o nome original do arquivo.  

Nos tempos antigos, os únicos jeitos de "destravar" um arquivo assim eram por meio de programação ou por meio de alguma daquelas ferramentas avançadas que permitiam visualizar e editar a FAT (File Allocation Table) byte a byte, em hexadecimal, e pouquíssimas pessoas naquela época tinham conhecimento técnico pra isso.

Desculpem-me pelo "textão", mas achei incrível o relato do @Rogerio Giannetti Torres de ter se deparado com um Ctrl-h dentro de um nome de arquivo, pois a única pessoa que já conheci que fazia isso era eu, há uns 35 anos atrás! kkkk!


Este assunto me fez rir também, só tenho 36 anos de TI e não tenho os cabelos grisalhos do Giannetti...mas também montava as travas usando o Norton Utilities no velho DOS...  no Unix então....Disquetes? Não me diga que voce furava a lateral para aumentar a capacidade kkk.... obrigado a todos pela nostalgia...Desculpe-me pelas brincadeiras...

 

Show meus caros.

Eu iniciei em 1977 como estagiário em FORTRAN, a partir daí até me aposentar, rolou muita água, mas muita água mesmo!!!   A primeira vez que acontece esse caso foi justamente com um #include de um fonte em C . Ficou marcado na memória, pois foi um check list trabalhoso de correções frustradas até ter a ideia, duvidosa a princípio, de renomear o arquivo <.h> e dar certo.  Nesse  momento  você solta um PQP e xinga quem causou o erro e nunca mais esquece!!! 

Bom, solucionado o problema fui investigar a causa e vi que no nome original do aquivo include tinha um Ctrl-h. A biblioteca dos includes era comprada para um projeto bem especifico e o SO era o HP-UX   Isso descarta a possibilidade de ser uma biblioteca sua? 

Abraços a todos e para quem opera FOREX até amanhã a noite, para os demais BOM FDS.

 
Cid Ougaske:

Não me diga que voce furava a lateral para aumentar a capacidade kkk.... 

Oi @Cid Ougaske

Com certeza! Fiz muito isso com aqueles disquetes grandões flexíveis, na época em que já havia unidades que liam as 2 faces e ainda tínhamos disquetes antigos de face simples.

Os disquetes que permitiam leitura/gravação nas 2 faces eram furados dos 2 lados, pois as unidades pra disquete dupla-face tinham uma cabeça de leitura/gravação de cada lado, uma lendo/gravando a face de cima e outra lendo/gravando a face de baixo.

Os disquetes de simples face eram furados somente de um lado e com isso as unidades reconheciam que se tratava de um disquete simples-face e liam/gravavam somente na face de cima.

Porém, os disquetes de dupla face eram fisicamente idênticos aos de face simples. A única diferença do simples-face é que a face de baixo não passava por testes e controles de qualidade, mas ela podia ser usada normalmente e geralmente funcionava bem. 

Então o truque era pegar uma tesoura furar o outro lado do disquete simples-face (capacidade de 180 KB), transformando-o em um disquete dupla-face (capacidade de 360 KB).

Fiz muito isso! kkk!

 
Rogerio Giannetti Torres:

Show meus caros.

Eu iniciei em 1977 como estagiário em FORTRAN, a partir daí até me aposentar, rolou muita água, mas muita água mesmo!!!   A primeira vez que acontece esse caso foi justamente com um #include de um fonte em C . Ficou marcado na memória, pois foi um check list trabalhoso de correções frustradas até ter a ideia, duvidosa a princípio, de renomear o arquivo <.h> e dar certo.  Nesse  momento  você solta um PQP e xinga quem causou o erro e nunca mais esquece!!! 

Bom, solucionado o problema fui investigar a causa e vi que no nome original do aquivo include tinha um Ctrl-h. A biblioteca dos includes era comprada para um projeto bem especifico e o SO era o HP-UX   Isso descarta a possibilidade de ser uma biblioteca sua? 

Abraços a todos e para quem opera FOREX até amanhã a noite, para os demais BOM FDS.

Oi @Rogerio Giannetti Torres

Aprendi FORTRAN em 1983 no meu 1o ano do curso de engenharia eletrônica e usei bastante ao longo dos anos 80. Ainda é uma linguagem viva até hoje, muito usada na engenharia e nas ciências exatas, especialmente em aplicações que usam massivamente cálculo numérico.

Ainda na atual década, em duas ocasiões da minha vida profissional (uma em 2010 e outra em 2012), me deparei novamente com a necessidade de programar em FORTRAN, uma para construir uma função call-back de uma aplicação escrita em FORTRAN e outra para modificar um código-fonte legado escrito nessa linguagem.   

Quanto à biblioteca de includes que te atormentou com o Ctrl-H, se foi em HP-UX então não fui eu não, pois eu só fiz isso em programas escritos em linguagem BASIC no Apple II Plus, aquela máquina icônica com 48 KB de memória RAM desenvolvida pelo Steve Wozniak, parceiro do Jobs, que transformou a Apple de uma empresa de fundo de garagem em um líder de tecnologia. Eu 1984 eu tinha uma em casa, "importada" dos EUA (via Paraguay). Paguei 400 USD pela máquina e 75 USD pela unidade de disquete. A tela era visualizada em uma televisão, usando um conversor de radio-frequência ligado à antena da TV. Era o sonho de consumo de todo estudante de engenharia eletrônica, pois os chips eram soquetados, era fácil tirá-los e estender o circuito puxando fios para uma protoboard externa. Eu tinha todo o diagrama de circuito do Apple II Plus, tinha um livro com todo o código residente disassemblado e comentado, montava e desmontava aquela joça o dia inteiro.

Na época as pequenas e médias empresas estavam começando a substituir as máquinas de escrever e os arquivos e planilhas de papel por computadores e eu fiz alguns desenvolvimentos de software em BASIC no Apple II Plus para alguns clientes (uma corretora de bolsa de valores, um escritório de contabilidade, uma vídeo-locadora e uma loja de varejo).

Um dos problema do BASIC no Apple II era que a linguagem era interpretada, o que me obrigava a deixar o código-fonte aberto na máquina do cliente, podendo ser copiado/reutilizado por outras pessoas. Então eu escondia um Ctrl-H nos nomes dos arquivos-fonte, pra evitar que curiosos olhassem e copiassem meu código-fonte, e configurava a iniciação do sistema para chamar automaticamente o programa principal (com o Ctrl-H dentro do nome) e este, em seguida, chamava os outros (também com o Ctrl-H dentro do nome).

Tempos nostálgicos em que a gente conseguia entender completamente um sistema, fim a fim, hardware, sistema operacional e aplicativo. Tempos que se foram e nunca mais voltarão! Hoje eu não compreendo nem 1% do que existe no laptop que eu uso e levo um tempão apanhando pra conseguir achar o que eu quero no painel de controle do Windows! kkk!