Página 1 de 1
Procura por arquivos
Enviado: 16 Mar 2006 17:36
por Eolo
Pessoal,
Meus programas são alugados por períodos (pré-pagos) de 30 dias e, ao final de cada período, eu mando para cada cliente (via email) um arquivo texto de 14 bytes (de nomes variáveis, por ex., AT111.029, AT321.005 etc.), com dados para o desbloqueio do programa.
Este arquivo deve ser salvo numa pasta específica, mas meus clientes "insistem" em usar o "Meus Documentos" ou então se esquecem de anotar onde o salvaram...
Pergunta: existe alguma função do Clipper (que funcione em qualquer Windows, 98/ME/XP/2000) que vasculhe o HD todo à procura de um determinado arquivo, de nome variável, esteja ele onde estiver, e que retorne o "path" onde o arquivo está gravado?
Com isso, meus clientes poderiam passar a salvar o arquivo de desbloqueio em qualquer pasta...
Uso o Clipper 52 e o Blinker 51.
Eolo
Enviado: 16 Mar 2006 18:11
por Augusto
Parceiro....
Tenta isso... eu não testei mas pode ser que de certo...
Código: Selecionar todos
#include "directry.ch"
mARQ = directory("c:\seuarquivo.txt","D")
mLOCAL = mARQ[1] // Nesta variável estará o local onde se encontra o seuarquivo.txt
Enviado: 16 Mar 2006 18:56
por Eolo
Augusto.
Eu já tinha tentado o Directory() e não resolve. Seguinte: se vc fizer directory("c:\*.*"), ele retorna todos os ARQUIVOS existentes na raiz do C:. Se vc fizer directory("c:\*.*","D"), ele retorna os arquivos e as PASTAS existentes na raiz do C:, mas não retorna os arquivos (e pastas) que estão dentro dessas pastas... Não é como o "/S" do DIR do DOS.
Uma outra saída, que eu já tentei, foi usar:
abc="arq123.025 /s >info.txt" /// o nome do arquivo é variável
run dir &abc
e depois examinar o conteúdo de "info.txt" com o fopen()
Funciona legal no 98/ME, mas não no XP: neste, se o arquivo estiver em Meus Documentos, ele não aparece com o RUN DIR, mas se estiver em uma outra pasta, fora do c:\Windows, sim. O estranho, aqui, é que se vc for para o prompt do DOS no XP e digitar o comando, funciona normal, o arquivo e a respectiva pasta aparecem. Dentro do Clipper, com o RUN DIR, não.
Eolo
Enviado: 17 Mar 2006 08:23
por vailton
Use DIR /X no Windows XP e veja como ele lhe retorna.
Você pode testar se o windows é Windows XP verificando a existencia de alguma variável de ambiente com GETENV(), tal como OS ou APPDATA.
Enviado: 17 Mar 2006 09:05
por mou321
Caro Amigo Tb alugo Sistemas Agora Utilizo o acesso ao Arquivo diretamente VIA ADONET .. com LINK
www.xxxx
Mas anteriormente a esse processo eu enviava ao cliente um pequeno ZIP com gerador de setup ele extraia o arquivo diretamente na pasta doi programa.
mauricio
Enviado: 17 Mar 2006 09:27
por Dudu_XBase
Bom dia.
Eu criei um esquema de validação através de contra-senha.
Expirou o prazo meu sistema gera uma chamada a uma tela de liberação com 2 campos, um código gerado internamente e o outro pedindo a chave de licença, o cliente liga ou me passa um e-mail com esse código, na empresa tenho um programa q valida o código e gera uma contra-senha (licença), que passo para o cliente digitar e liberar por um prazo determinado.
Mas tem q montar esse esquema de contra-senha bem amarrado pq esta cheio de crackers por ai sabe como é....
As informações são gravadas dentro de um dbf cryptografado em uma pasta longe dos olhos do usuário, na entrada do sistema, gravo a data de acesso (para comparar e evitar q o usuário subtraia a data e dê cano em mim...) e data de vencimento do programa...que quando é alcançada...tome tela de liberação.....
Eu estava estudando diversas formas e preferi esta na época....
Enviado: 17 Mar 2006 12:05
por Eolo
Dudu,
A idéia da contra-senha é muito boa, dá pra atualizar por telefone! Vou montar isso. Valeu a dica!!!!!
Eu também guardo a data de vencimento e a data do último acesso (criptografadas), mas guardo dentro do próprio EXE. Como no seu caso, se o usuário voltar o relógio do PC, o EXE não roda... (isso já aconteceu várias vezes!...). Por outro lado, se a data de vencimento foi atingida, eu dou acesso somente para consulta, caso em que o usuário não consegue incluir, excluir ou alterar mais nada.
Abraço.
Eolo