Criacao de arquivo com Set printer to

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

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á

Mensagem por Pablo César »

Hasse escreveu:Eu gravo o arquivo com 8 caracteres, e depois, com o comando RUN RENAME posso mudá-lo para qualquer tamanho.
Tem certeza, colega ?. Você poderias dar-nos um exemplo ? Pois eu não conseguí fazer isto:

Código: Selecionar todos

VRUN:="RENAME TESTE.TXT "+CHR(34)+"Teste de nome de arquivo longo.TXT"+CHR(34)
RUN &VRUN
Considerando que o SO precisa de ASPAS para englobar a frase como nome de arquivo-longo. Simplesmente ocorreu o seguinte erro:
Formato de parâmetro incorreto - "Teste
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
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Se tiver uma forma de renomear arquivos para nomes longos através do RUN, desconheço. Mas ainda que tivesse, acho mais prático e funcional usar a LFN do que invocar o shell do DOS só pra renomear um arquivo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
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á

Mensagem por Pablo César »

Pois é, eu também acho o mesmo. Mas que o colega Hasse disse que seria possível e eu não conseguí, estou curioso saber como ele fez. Na linha de comando funciona (isso já sabíamos). O jeito espera a resposta dele pra saber.
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
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Mensagem por Toledo »

Utilizando o comando RENAME com o Windows XP não é possível, mas no Windows 95/98 isto vai dar certo se você não deixar espaços em branco no meio do nome do arquivo.

Código: Selecionar todos

vrun:="RENAME teste.txt arquivo_com_nome_longo.txt"
RUN &vrun.
Obs.: também dá para usar o comando COPY.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Então, é como eu disse antes: melhor usar a LFN que já contém tudo o que é necessário pra esse tipo de operação.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Mensagem por Hasse »

Copiei direto da minha rotina, e funciona no Win98, 2000, NT e XP.
Renomeia tanto no HD quanto no diskete 3,5".
arqfat, neste caso é: 0004006202.u04 (10 caracteres, sem contar com a extensão).

Código: Selecionar todos

      Msg("Copiando arquivo N§ " + SUBS(c_arqfat,9,2) +;
          " => " + c_arquni)
      COPY FILE &c_arqtmp TO &c_arquni        && Nome curto.
      INKEY(1)

      Msg("Renomeando arquivo N§ " + SUBS(c_arqfat,9,2) +;
          " para ==>  \UNIMED\" + c_arqfat)

      ! RENAME &c_arquni &c_arqfat            && Nome longo.
      BEEP(2)

      Msgf("Digite qualquer tecla para continuar")
      Msg("GRAVADO com ˆxito o arquivo N§ " + SUBS(c_arqfat,9,2) +;
          " => " + c_arqfat)
      INKEY(0)
      EXIT
Um detalhe, não deve haver espaços entre as partes do nome, tipo: "nome muito longo.txt". Deve ser assim: "NomeMuitoLongo".

Abraços.
Editado pela última vez por Hasse em 19 Jul 2007 21:48, em um total de 1 vez.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Por curiosidade testei sua rotina. No meu XP_PRO/SP2 não funcionou. Sempre trunca o nome para o padrão 8x3.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Mensagem por Hasse »

Perdão colega Maligno.

Alterei o meu post anterior e não havia percebido que você já havia postado novo comentário.

Então:

O nome não deve ter espeços em branco, tipo: "Nome muito longo.txt" Deve ser assim: "NomeMuitoLongo.txt"

Testei neste instante: "nomemuitolongo123456789123456789.txt" e funcionou perfeito.

Abraços.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Continua não funcionando. Meu código de teste:

Código: Selecionar todos

c_arquni := "teste.txt"
c_arqfat := "nomemuitolongo123456789123456789.txt"
! RENAME &c_arquni &c_arqfat
quit
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
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á

Mensagem por Pablo César »

Nos meus testes não ocorre erro com o seu exemplo, está executando mas não como se espera. O arquivo é renomeado para NOMEMUIT.TXT. No entanto se intentar executar novamente dá o erro estendido 183, porque já existe o arquivo NOMEMUIT.TXT, daí o rename não funciona evidentemente (assim como no OS). Então o jeito é deletar o arquivo (se existir) antes de renomear.

Código: Selecionar todos

c_arquni := "teste.txt"
c_arqfat := "nomemuitolongo123456789123456789.txt"
* IF FILE(c_arqfat) // assim nao funciona tambem
IF FILE(SUBSTR(c_arqfat,1,8)+RIGHT(c_arqfat,4))
   ALERT("Existe este arquivo, deseja delet -lo ?")
   DELETE FILE(SUBSTR(c_arqfat,1,8)+RIGHT(c_arqfat,4))
ENDIF
! RENAME &c_arquni &c_arqfat
quit
De todas as formas, ainda duvido na possibilidade de dar certo com RENAME e com COPY pelo Clipper.
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
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Seu teste resultou como o meu: não renomeia nome curto para nome longo. Ele trunca para 8x3. Se tentar renomear de novo, é claro que vai dar erro. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Mensagem por Hasse »

Isto realmente é muito estranho.

Agora, mais uma vez depedemos dos Mestres para desvendar este mistério.....

Certamente é alguma configuração, mas qual ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Para podermos comparar, qual a configuração da sua máquina?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
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á

Mensagem por Pablo César »

Eu acho que não é questão de configuração e sim da versão do Windows. Como ja disse o Toledo, funciona sem espaços mas em WIN98 em XP não. Eu fiz o teste e funcionou em WIN98 mas em Xp não. E eu acho que no seu caso Maligno, não estaria funcionando ora porque você estaria emulando o WIN98. De todas formas eu acho que esta opção não é segura, então não serve !
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
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Pablo César escreveu:E eu acho que no seu caso Maligno, não estaria funcionando ora porque você estaria emulando o WIN98.
Eu não tinha testado no Win98. Só no XP, que não funcionou. Mas por que você comentou, fui testar no Win98 emulado. Funcionou certinho. O emulado, como já havia comentado, tem um comportamento igual ao real.
De todas formas eu acho que esta opção não é segura, então não serve !
Sem sombra de dúvida. Só por curiosidade mesmo. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder