Página 1 de 1
Lendo Arquivos .txt no Clipper Summer 87
Enviado: 02 Mar 2008 21:15
por Manuel Luis Modernel
Boa Noite Amigos,
Ha uns 13 anos programei nesta Linguagem, não a nivel profissional, posto não ser programador, apenas um curiosso bastante interessado e fiz sistemas administrativos para uso próprio na minha função de Gte. Industrial.
Da mesma forma fiz com a linguagem Vb6 a uns 6 anos atras.
Há umas semanas quiz faxer a impressão de um Boleto bancário carbonado numa Epson LX-810, não conseguindo no VB6, partí para o Cliper, aliais uma mistura dos duas linguagens. Um a um fui resolvendo os passos necessários, gerar e guradar informações no VB, imprimir o Boleto no Clipper, executar o Clipper de dentro do VB, gerar um arquivo TXT com as informações necessárias no Boleto, tiradas atraves de um recordset do Access.
Agora por ter perdido meus velhos livros do Ramalho, não estou mais lembrando nem conseguindo na NET uma dica para fazer algo muito fácil e para isto estou pedindo ajuda de VC´s.
Me desculpem fazer uma pergunta tão primária:
"Como faço para leer um arquivo TXT delemitado por virgulas de dentro do CLIPPER SUMMER 87 ."
è... ficar velho é chato, estou com 60 anos mas não tenho vergonha de pedir ajuda !!!
muito obrigado desde já
Enviado: 03 Mar 2008 03:44
por Maligno
Olá. Seja bem-vindo ao fórum.
Acho que seu problema pode ser resolvido com o comando APPEND FROM. Por meio dele pode-se importar dados provenientes de arquivos TXT de várias formas. Quer dizer, pelo Clipper 5.x. Não uso o Summer há muitos anos, mas acredito que o comando pode ser equivalente. Se quiser, pegue o NG do Clipper 5.x no meu
site. E o leitor de NGs pode ser obtido
daqui (é o arquivo chamado WEG - para Windows). Tente utilizar esse comando. Se funcionar, ótimo. Caso contrário, creio que algum colega deve se lembrar se há algo equivalente no Summer.
Re: Lendo Arquivos .txt no Clipper Summer 87
Enviado: 03 Mar 2008 08:32
por Pablo César
Manuel Luis Modernel escreveu:"Como faço para leer um arquivo TXT delemitado por virgulas de dentro do CLIPPER SUMMER 87 ."
Se o arquivo tiver vírgulas e para cada segmento tipo caracter (como poderia ser nome do cliente) estiver entre aspas, daí este arquivo muito provável que seja um arquivo para ser IMPORTADO para um DBF temporário (o qual ficaria mais fácil de ler e tratar posteriormente à importação. Essa importação bastaria dar o seguinte comando:
APPEND FROM <NOME_ARQ_TXT> DELIMITERS
Um exemplo tem neste tópico:
https://pctoledo.org/forum/viewto ... deli#41884
Para ler um arquivo TXT que tenha o tamanho FIXA em cada linha, você pode utilizar:
VAR:=MEMOREAD() // Para ler o arquivo e atribuir a uma variável
nTam:=MLCOUNT() // Para contar quantas linhas tem seu arquivo
cLin:=MEMOLINE() // Para abstrair linha a linha do variável VAR
Se o seu arquivo possuir um tamanho "NÃO FIXO" para cada linha e não for um arquivo de importação como mencionei acima. Você pode utilizar dois métodos: um de baixo nível e outro através de importar esse arquivo em DBF com campo exageradamente grande o suficiente para que cada linha possa ser importada por INTEIRA.
Um exemplo em baixo nível você também poderá encontrar no seguinte exemplo:
https://pctoledo.org/forum/viewto ... dlin#41883 busque pela função Readlin
E como disse o colega Maligno, utilize-se do NG (Norton Guide) para obter a sintaxe das funções indicadas.
Obs.: Acredito (porque não lembro bem) que tais indicações funcionam perfeitamente na versão SUMMER do Clipper.
Enviado: 05 Mar 2008 21:17
por Manuel Luis Modernel
Amigos Pablo César e Maligno !
Em primeiro lugar muitissimo obrigado pela gentil ajuda.
No domingo, estava ficando "maluco" tentando encontrar a solução, e na 2ª consegui um exemplo que me ensinava a "importar o .TXT" via APPEND FROM ARQ.TXT
Enviado: 05 Mar 2008 21:45
por Manuel Luis Modernel
Manuel Luis Modernel escreveu:Amigos Pablo César e Maligno !
Em primeiro lugar muitissimo obrigado pela gentil ajuda.
No domingo, estava ficando "maluco" tentando encontrar a solução, e na 2ª consegui um exemplo que me ensinava a "importar o .TXT" via APPEND FROM ARQ.TXT
OOPS !! apertei errado !! hihihi
APPEND FROM ARQ.TXT SDF
Nem sei o não lembro o que significa SDF mais usei !!
Dai criei um arquivo .DBF com um único campo de nome LINHAS de 254 caracteres (o máximo permitido) para receber o texto do tal de .TXT.
Depois fiz um tratamento dessa string da seguinte forma:
FRASE1 = LINHAS >>>> esta é a string original
Separa= "," >>>>>>>> este é o limitador (separador)
Dai com a função AT consegui a posição (ordem) da virgula dentro da string.
POS1=AT(Separa,FRASE1)
E com a função SUBSTR usada duas veces consegui a STRING QUE SOBRAVA APÓS TIRAR A PRIMEIRA PARTE DA STRING.
FRASE2=SUBSTR(FRASE1,POS1+1) >>>>>> DEPOIS DA VIRGULA
Numa segunda vez tirei o valor do campo que eu necessitava
CAMPO1=SUBSTR(FRASE1,POS1-1) >>>>>> ANTES DA VIRGULA
Após isto repeti o esquema acima trocando só os indeces, e consegui os valores de todos os campos (16 ao todo hihihi) do .MDB que foram importados no .TXT.
Foi uma boa faxina, com um montão de linhas, mais consegui, e agradesço mais uma vez pois ambos citaram esta solução, que expliquei com detalhes para um dia servir para outro colega.
Muito Obrigado e Viva o CLIPPER !!!!
Enviado: 06 Mar 2008 08:58
por Pablo César
não lembro o que significa SDF
Significa System Data Format e serve para importar de modo TEXTO com registros e campos de tamanho FIXOS.
consegui os valores de todos os campos (16 ao todo hihihi) do .MDB
Se esses dados provenientes de um arquivo MDB, provavelmente os campos tipo caracter estejam com caracteres de acentuação no formato ANSI padrão Windows. Se precisares substituir pelo formato OEM padrão DOS, copie e compile este exemplo:
https://pctoledo.org/forum/viewto ... 7224#17224
Formatos OEM e ANSI
Enviado: 06 Mar 2008 20:31
por Manuel Luis Modernel
Pablo te agradesço pois certamente irei necessitar de usar a dica que VC me enviou, pois reparei que os caracteres acentuados tal qual escrito no portugues, aparecem no DOS com caracteres ilegíveis.
Senti que iria ter problemas , só que estava esperando chegar neste ponto para poder solucionar o que fosse.
Dize a VC´s que não me considero um "Programador" posto que eu consigo o que desejo, Sim, mas por veces escrevo um monte de linhas onde um verdadeiro Programador com umas poucas instruções conseguiria o mesmo resultado, mais adoro mandar algumas instruções para a máquina e ela me devolver o que eu quero, fico que nem uma criança ao receber um presente no Natal.
Obrigado mais uma vez e desculpe-me se eu gosto escrever muito alem do necessário.
tchau e até breve !!
Enviado: 07 Mar 2008 09:05
por Pablo César
Quê bom Manuel que você conseguiu e que meu exemplo te serviu, fico feliz. Vejo você como um verdadeiro programador, o entusiasmo que tem em reproduzir suas idéias, ver o comportamento/resposta de uma máquina e também ver a satisfação dos clientes é o que fazem de nós CRIADORES de programas. E suas palavras são bem vindas. Só me permita fazer uma pergunta pessoal: você por acaso é hispánico ? Isto é, você é de fala española ?. Porque percebo alguns erros em portugês de ortografia, semelhantes aos da fala hispánica. E logo ví que seu nome é ManUel e não MAanOel como em portugês acostuma haver. A lingua portugues é muito rica em expressões e é muito legal ver colegas de outros países que utilizam-se do idioma (com algum esforço, asim como eu) para comunicar-se em português.
Hispánico Sim !
Enviado: 07 Mar 2008 20:41
por Manuel Luis Modernel
Oi Amigo Pablo,
Eu sou Uruguaio, nasci em Montevideo em 1947, e hoje estão fazendo exatamente 40 anos que cheguei ao Brasil (07/03/1986).
Eu estudei e ainda estudo aqui no Brasil, fui até jornalista, e respeito e falo em português sempre o melhor que posso, mas cada vez que vou visitar minha mãe la em Montevideo (estive em dezembro) levo alguns meses a me recuperar (hihiihi), alem de que estou tendo contatos com uns primos na Venezuela e no Uruguai e assim tenho escrito em Castelhano quase diariamente.
Pelo teu nome (Pablo) já tinha visto que você tambem tem descendência Hispânica, ou até é estrangeiro também.
Obrigado mais uma vez Amigo Pablo
meu MSN:
mlmodernel@hotmail.com
minha pagina no Orkut: Manuel Luis Modernel
E-mail:
mlmodernel@hotmail.com
Enviado: 08 Mar 2008 09:54
por Pablo César
Mucho gusto Manuel, yo tambien soy de las tierras del buen mate y buenas carnes, somos aqui todos hermanos, y muy próximos, porque tenemos muchas similaridades en nuestra cultura (soy argentino) y apesar de los actuales desentendimientos políticos (diria yo) entre los dos países hermanos, considero los uruguayos muy buena gente. Y nosotros tenemos la suerte de vivir en un país fenomenal como este. Me alegro mucho saber que participan programadores de los más variados países. Eso solo nos engrandece. Bien venido a nuestro fórum. Puedes contar conmigo en tus dudas, aqui estaremos. No dejes de participar.
Un gran abrazo.