Nome do arquivo em letras minúsculas

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

beltrani_mi
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 10 Fev 2011 17:07
Localização: São Paulo

Nome do arquivo em letras minúsculas

Mensagem por beltrani_mi »

Bom dia a todos !


Alguem saberia informar como gerar um arquivo texto qualquer e gravá-lo com o nome em minúsculo ?
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Nome do arquivo em letras minúsculas

Mensagem por sygecom »

Código: Selecionar todos

LOCAL nHand
nHand := FCreate( 'nome_arquivo.txt' ) // CRIA
FWrite( nHand, 'TEXTO DO ARQUIVO' ) // ESCREVE NO ARQUIVO
FClose( nHand ) // FECHA O ARQUIVO
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
beltrani_mi
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 10 Fev 2011 17:07
Localização: São Paulo

Re: Nome do arquivo em letras minúsculas

Mensagem por beltrani_mi »

Boa tarde !


No caso, eu gero o arquivo usando o set printer to arquivo.txt que é gravado em letras maiusculas. Como faço para converter esse arquivo para letras minusculas?
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Nome do arquivo em letras minúsculas

Mensagem por sygecom »

Tente usar a função: RenameFile() da CA-TOOLS:

Ex:

Código: Selecionar todos

RenameFile('NOME_ATUAL.TXT','novo_nome.txt')
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Nome do arquivo em letras minúsculas

Mensagem por Maligno »

Curiosidade: qual a necessidade de ter o nome em letras minúsculas? Algo especial?
[]'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!
beltrani_mi
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 10 Fev 2011 17:07
Localização: São Paulo

Re: Nome do arquivo em letras minúsculas

Mensagem por beltrani_mi »

Boa pergunta caro Maligno!

Na verdade, estou gerando um xml. O sistema que vai receber esse arquivo precisa que este chegue com a extensão em letras minusculas. Queria evitar que o usuário precise renomear manualmente. Só não entendí porque o sistema requer a extensão em minusculo se o windows reconhece a extensão em maiusculo normalmente.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Nome do arquivo em letras minúsculas

Mensagem por Maligno »

Justamente. O Windows não faz diferenciação com a caixa do nome do arquivo ou sua extensão. O sistema que precisa dessa particularidade certamente tem uma falha de projeto. Nome/extensão de arquivo é algo tão simples. Não precisaria complicar. Mas se terceiros criaram essa dificuldade, que remédio senão atendê-los?
[]'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!
beltrani_mi
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 10 Fev 2011 17:07
Localização: São Paulo

Re: Nome do arquivo em letras minúsculas

Mensagem por beltrani_mi »

Testei com renamefile() e não resolveu.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Nome do arquivo em letras minúsculas

Mensagem por Maligno »

Então sua última alternativa é o comando RUN com o RENAME do DOS mesmo. Na linha de comando sei que funciona. Agora, se não der certo, pode esquecer.
Aliás, o que acontece se o tal sistema não tiver o nome do arquivo em minúsculas? Não funciona?
[]'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!
beltrani_mi
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 10 Fev 2011 17:07
Localização: São Paulo

Re: Nome do arquivo em letras minúsculas

Mensagem por beltrani_mi »

Parece brincadeira Maligno, mas realmente no prompt de comando funciona. Pelo clipper sem chance.

Com relação ao problema do sistema receber o arquivo, não sei o que aconteceria se enviasse em maiusculas. Apenas a pessoa com quem conversei me disse que o arquivo teria obrigatoriamente que vir com a extensao em minusculo. Enviei um arquivo teste e me foi retornado isso. Com o conteudo do xml está tudo ok. O que pegou foi apenas com relação a extensão em maiuscula. O nome do arquivo segue o padrão aammddss.xml (ss=sequencia). O jeito é começar assim, pedindo para o usuario renomear manualmente. Essa nova rotina do sistema começa em produção dia 16/02.

Desde já, agradeço a atenção e a colaboração de todos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Nome do arquivo em letras minúsculas

Mensagem por Maligno »

Se pelo RUN deu certo, o jeito é usar isso. Ou, se usa o BLinker, a função SwpRunCmd(), que é mais eficiente que RUN, no que diz respeito à memória.

O sistema deles deve ter sido realmente mal feito. Me parece que, ao ser carregado o tal arquivo na máquina, o sujeito dá um list pelo programa e verifica se a extensão é "xml"<seq>. Como a string que ele usa para comparação deve ser minúscula, não conseguiria "ver" o arquivo com a extensão em maiúscula. Deve ser isso. E pensar que uma simples padronização de caixa resolveria. Bom, há programadores e Programadores.
[]'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á

Re: Nome do arquivo em letras minúsculas

Mensagem por Pablo César »

Se pelo RUN deu certo, o jeito é usar isso.
Não Maligno, o RUN também não funciona em Clipper, nem com o comando FRENAME() (função nativa do Clipper em baixo nível). O jeito que eu encontrei é utilizando as bibliotecas que tratam de nomes de arquivos longos e curtos (muito falado aqui no fórum), veja como usei:

Código: Selecionar todos

// Libs utilizadas:  LFN + NANFOR + LL + CPMI

LF_FRENAME("NOMATUAL.TXT","novonomecaixa .txt")
Tenho certeza que irá resolver seu problema. Essa questão da extensão em minusculas, concordo em partes com o Maligno sobre considerar defeito de projeto. Pois o usuário não é obrigado a saber que "XML" não é o mesmo que "xml" e que existem SO como o Linux ou que até mesmo em C existe diferenciação na utilização de caracteres em CAIXA ALTA... Pra mim não é um erro do programador e sim uma ambiguação que pode ser corrigida... mas concordo que a medida poderia evitar erros desnecessários... (mas tem gente que fazem-se valer disso).
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

Re: Nome do arquivo em letras minúsculas

Mensagem por Maligno »

Se for o caso que comentei, é sim um erro do programador. Não tem desculpa. De um arquivo que chega jamais deveria ser exigido em que caixa seu nome/extensão deve ser escrito. Se o SO não se importa com isso, o sistema também não deve fazer qualquer distinção. Erraram feio.

Aliás, C/C++ não faz qualquer distinção da caixa em que um nome é escrito. A caixa só faz diferença no uso de nomes de símbolos, comandos, etc. É um exigência da linguagem, mas em compile-time e não em run-time. Se em compile-time houver qualquer exigência nesse sentido, será apenas para atender alguma regra do SO ou do projeto. Um defeito de projeto, por exemplo. :)

Esqueci da LFN. Realmente, pode funcionar. É questão de testar.
[]'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á

Nome do arquivo em letras minúsculas

Mensagem por Pablo César »

É questão de testar.
Testado, está ! Eu afirmo: FUNCIONA !
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
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Nome do arquivo em letras minúsculas

Mensagem por rochinha »

Amiguinhos,

Tentem:

Código: Selecionar todos

__CopyFile( 'NOME_ATUAL.TXT', 'novo_nome.txt' )
ou

Código: Selecionar todos

__CopyFile( 'NOME_ATUAL.TXT', LOWER('novo_nome.txt') )
Este de exigir caixa alta ou caixa baixa tem de ir pros anais da esquisitice.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder