Erro na função AT()
Moderador: Moderadores
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Erro na função AT()
Boa tarde amigos!
Estou com problema em uma rotina em que preciso fazer uma busca em uma string.
Para qualquer clippeiro, a função AT() não é novidade.
Mas ao compilar o programa aparece a mensagem:
"Incorrect number of arguments in A".
Sendo que eu, por fim, reproduzi uma linha de exemplo de um guia do Harbour e dá a mesma coisa.
Não compila. Se fosse um erro de execução, mas na compilação...
Se alguem já passou por isso, desde já agradeço a ajuda.
Sds,
Mario.
Estou com problema em uma rotina em que preciso fazer uma busca em uma string.
Para qualquer clippeiro, a função AT() não é novidade.
Mas ao compilar o programa aparece a mensagem:
"Incorrect number of arguments in A".
Sendo que eu, por fim, reproduzi uma linha de exemplo de um guia do Harbour e dá a mesma coisa.
Não compila. Se fosse um erro de execução, mas na compilação...
Se alguem já passou por isso, desde já agradeço a ajuda.
Sds,
Mario.
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Erro na função AT()
Estou testando uma rotina para abrir e ler um arquivo TXT, mas tá tudo dando errado.
Agora o MEMOREAD() não abre o arquivo.
No caso do AT(), troquei por RAT(). Compilou, mas não sei se vai funcionar pq ele não "puxa" o arquivo para a variável...
Será que é o Harbour?
Agora o MEMOREAD() não abre o arquivo.
No caso do AT(), troquei por RAT(). Compilou, mas não sei se vai funcionar pq ele não "puxa" o arquivo para a variável...
Será que é o Harbour?
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Erro na função AT()
Olá Mario, com certeza não há problema algum na inclusão das funções AT() e RAT() nem no MemoRead(). Para podermos dar uma resposta mais acertada, caberia você disponibilizar o seu código fonte para analisá-lo. Tudo depende do que você precisa, por quê o uso do AT(), qual é a necessidade (dê exemplo).
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.
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.
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Erro na função AT()
Bom dia, Pablo.
Na verdade, o AT() só funciona com dois parametros. Tipo: xPosIni := AT( "<",xLn)
Eu estava passando mais dois parametros. Talvez seja porque eu esteja usando um tutorial do xHarbour e lá a função AT() tem quatro parametros.
Pode ser isso? Se for, é estranho, pois achei um tutorial on line que tem os 4 parametros...
Aproveitando: Não dá pra usar a função MEMOEDIT? Tentei, mas não faz nada. Aí usei RICHEDIT da MiniGui. Deu certo, mas estou penando pra quebrar as linhas para que fiquem dentro da janela de edição.
E de preferencia sem modificar o arquivo texto original colocando CR e LF...
Abraço,
Mario.
Na verdade, o AT() só funciona com dois parametros. Tipo: xPosIni := AT( "<",xLn)
Eu estava passando mais dois parametros. Talvez seja porque eu esteja usando um tutorial do xHarbour e lá a função AT() tem quatro parametros.
Pode ser isso? Se for, é estranho, pois achei um tutorial on line que tem os 4 parametros...
Aproveitando: Não dá pra usar a função MEMOEDIT? Tentei, mas não faz nada. Aí usei RICHEDIT da MiniGui. Deu certo, mas estou penando pra quebrar as linhas para que fiquem dentro da janela de edição.
E de preferencia sem modificar o arquivo texto original colocando CR e LF...
Abraço,
Mario.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Erro na função AT()
Olá Mário,
Substitua as funções AT() e RAT() (são idênticas), pelas funções Hb_At() e Hb_Rat(), e a função MemoRead() por Hb_MemoRead().
Com MiniGui realmente a função AT() retorna este erro.
Substitua as funções AT() e RAT() (são idênticas), pelas funções Hb_At() e Hb_Rat(), e a função MemoRead() por Hb_MemoRead().
Com MiniGui realmente a função AT() retorna este erro.
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)
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)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Erro na função AT()
Bom dia Mario. No Harbour também possui 4 parâmetros, os quais o terceiro e quarto parâmetros são opcionais. No Harbour Reference Guide do nosso colega Giovanni Di Maria explica. Veja em: http://www.elektrosoft.it/tutorials/Har ... ide.htm#AT. Note os dois ultimos parâmetros, mesmos que opcionais, quando informados deverão ser do tipo numéricos (veja o primeiro caracter de cada parâmetro indicando o tipo).Mario Mesquita escreveu:Bom dia, Pablo.
Na verdade, o AT() só funciona com dois parametros. Tipo: xPosIni := AT( "<",xLn)
Eu estava passando mais dois parametros. Talvez seja porque eu esteja usando um tutorial do xHarbour e lá a função AT() tem quatro parametros.
Pode ser isso? Se for, é estranho, pois achei um tutorial on line que tem os 4 parametros...
Sim o MemoEdit existe no Harbour consequentemente em HMG, Minigui e outras bibliotecas gráficas. Só não entendo o quê não deu certo pra você, pois sem código, não dá pra deduzir.Aproveitando: Não dá pra usar a função MEMOEDIT? Tentei, mas não faz nada. Aí usei RICHEDIT da MiniGui. Deu certo, mas estou penando pra quebrar as linhas para que fiquem dentro da janela de edição.
Normalmente todo texto com mais de uma linha possui um quebra de linha (CRLF). Não entendi a sua colocação.E de preferencia sem modificar o arquivo texto original colocando CR e LF...
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.
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.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Erro na função AT()
Esclarecendo...
Ahhh sim é para utilizar 3 e/ou 4 parâmetro, sim ! O correto nesse caso é utilizar Hb_At() e Hb_Rat()Jairo Maia escreveu:Substitua as funções AT() e RAT() (são idênticas), pelas funções Hb_At() e Hb_Rat(), e a função MemoRead() por Hb_MemoRead().
Retorna erro quando colocado 3 e/ou quarto parâmetro. Isso porque as funções AT() e RAT() comportam-se exatamente como é em Clipper, isto é apenas aceitam dois parâmetros. Daí o erro, pois não corresponde a passagem de parâmetros pelo compilador HMG/Minigui, no entanto com Hb_At() e Hb_Rat() os parâmetros 3 e 4 tornam-se opcionais.Com MiniGui realmente a função AT() retorna este erro.
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.
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.
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Erro na função AT()
Jairo e Pablo, boa tarde.
Pois é. AT() e RAT() não suportam os 3º e 4º ´parametros. O guia que tenho do (x)Harbour não tem referencia a HB_AT() e HB_RAT().
Eu achei ontem o Guia on line do DeMaria, mas juro que tambem não vi referencia a essas duas funções...
O HMG e o Harbour são muito bons, mas carecem de documentação boa para consulta e/ou dúvidas. Que bom que a galera aqui dá uma ajuda.
Sobre as quebras de pagina, Pablo, eu recebo os arquivos em .TXT bruto sem CR-LF. Resolvi colocando as quebras para permitir a leitura dos mesmos. O problema era que eu não podia deixa-los nos TXTs pois tenho que devolve-los como recebi nesse aspecto, pois eles vão virar HTML ou algo do tipo em um site. Mas para isso coloquei um RUN para o NotePad e deixei o RICHEDIT apenas para leitura.
Já quebrou o galho.
Agora quero ver uma forma legal de fazer substituição de texto nesses arquivos. Com as funções tradicionais do clipper não tem mistério, vamos ver se não levo mais uma canseira dessas, rs.
Obrigado pela ajuda, pessoal!
Abraço,
Mario.
Pois é. AT() e RAT() não suportam os 3º e 4º ´parametros. O guia que tenho do (x)Harbour não tem referencia a HB_AT() e HB_RAT().
Eu achei ontem o Guia on line do DeMaria, mas juro que tambem não vi referencia a essas duas funções...
O HMG e o Harbour são muito bons, mas carecem de documentação boa para consulta e/ou dúvidas. Que bom que a galera aqui dá uma ajuda.
Sobre as quebras de pagina, Pablo, eu recebo os arquivos em .TXT bruto sem CR-LF. Resolvi colocando as quebras para permitir a leitura dos mesmos. O problema era que eu não podia deixa-los nos TXTs pois tenho que devolve-los como recebi nesse aspecto, pois eles vão virar HTML ou algo do tipo em um site. Mas para isso coloquei um RUN para o NotePad e deixei o RICHEDIT apenas para leitura.
Já quebrou o galho.
Agora quero ver uma forma legal de fazer substituição de texto nesses arquivos. Com as funções tradicionais do clipper não tem mistério, vamos ver se não levo mais uma canseira dessas, rs.
Obrigado pela ajuda, pessoal!
Abraço,
Mario.