Página 2 de 3
Como achar um arquivo no computador
Enviado: 05 Jan 2015 16:33
por Pablo César
Eolo escreveu:"O usuário baixa um arquivo do e-mail, não sabe onde salvou e depois o SISTEMA da empresa tem que procurar o arquivo?". Hã? Como assim?
Algo como "O filho do usuário quer saber onde o Governor of Poler 2 salva os arquivos, aí o cliente acessa o sistema da empresa e acha os arquivos?". Hã?
A pergunta inicial do Helio até poderia ter algum sentido, tanto que respondi. Mas depois deste último post dele, sei não. Imagino o financeiro, debruçado sobre o Contas a Pagar, tendo que parar porque o presidente da empresa quer saber onde o Gamão do Windows 7 salvou os scores dele...
Pra mim não faz sentido.
KKKKKK ahhh só você Eolo, pra me fazer rir agora... kkkkkkk
Hélio, eu não sei se você procura uma solução para o modo console ou GUI. Se for para aplicativos Windows (o que eu posso falar), dependendo a biblioteca gráfica que você utilize. A maioria tem uma função que utiliza-se da API (recursos do Windows) e que certamente você poderá contar com os arquivos "Recentes". Isto é o que mais prático se me ocorre dizer. A outra é você guardar o destino do arquivo em arquivo INI por exemplo. Mas tudo vai depender como é acionado esse download.
Porque ficar procurando o HD inteiro, é BESTEIRA. Desculpe dizer assim curto e grosso. Não se pode sub-utilizar um sistema pra essa finalidade. Já existe o "Localizador" do próprio Windows. Geralmente quando gravamos algo e tentar voltar a gravar, o Windows guarda o ultimo caminho/path.
Desculpe Hélio estarmos rindo aqui, mas não é de você e sim da situação que foi criada tudo por causa da falta de mais informaçõese um e outro ficamos imaginando inúmeras situações...
Mas que nós todos estamos ficando véio... ahhh estamos sim ! kkkkk
Como achar um arquivo no computador
Enviado: 05 Jan 2015 17:23
por Eolo
Nah, tem que ter humor, senão não vale a pena, Pablo.
Enfim, não é ficar velho. Minha (digamos) preocupação é "se encantar mais com a rede do que com o mar", como diz a letra daquela música. Discutir os bits da função sem se ligar pra que ela vai servir.
Como achar um arquivo no computador
Enviado: 05 Jan 2015 17:48
por alxsts
Olá!
Código: Selecionar todos
LOCAL cPath := Space(255)
@10,10 SAY "Informe o local onde você salvou a porcaria do arquivo e o nome dele:" ;
GET cFile ;
PICT "@S40"
READ
Como achar um arquivo no computador
Enviado: 05 Jan 2015 19:57
por helio
Boa noite,
Caro Eolo este assunto foi porque preciso saber onde o cliente baixou o arquivo liberacao do meu sistema porque tem muitos cliente que nao sabe salvar dentro a pasta correta por incrivel que pareca e so isso.
Como achar um arquivo no computador
Enviado: 05 Jan 2015 20:10
por helio
oa noite,
Acho que deveria ter mais respeito com os amigos e se quiser colaborar bem e nao fazer graca porque o que postei nao e brincadeira é o que estou precisando e o Jairo Maia me ajudou com um simples exemplo nao tar com piada e se informar mais se quiser ajudar.
Como achar um arquivo no computador
Enviado: 05 Jan 2015 20:41
por JoséQuintas
Não faça isso.
Por acaso pensou na hipótese de existirem vários programas com mesmo nome?
Pra compensar que o cliente não sabe aonde salva, vai pegar um programa que não sabe se é o correto.
Se é assim, mais seguro então colocar em seu programa pra ele mesmo fazer o download.
Como achar um arquivo no computador
Enviado: 05 Jan 2015 21:21
por helio
Boa noite, Jose
Ja tentei colocar o downloads dentro do sistema mais nao consegui uso XHARBOUR mais o arquivo que mando para o cliente e o cnpj do mesmo.
Como achar um arquivo no computador
Enviado: 06 Jan 2015 10:11
por Eolo
Hélio, vou dar uma sugestão, que é como eu faço há muito tempo.
Ao invés de mandar um arquivo para os seus clientes, mande uma CHAVE criptografada, que vai desbloquear o programa pelo prazo desejado. E essa chave pode ir por e-mail, por SMS, por telefone ou ainda pessoalmente. Mais simples.
1. Vencido o prazo vigente, o seu sistema abre uma janela avisando sobre o bloqueio e solicitando ao usuário que entre com a CHAVE de renovação.
2. Essa chave pode ser algo como "AKS89AB20", que corresponde a "001150131" (cliente 001, vencimento 31/01/15), criptografado. No meu caso, faço uma chave mais longa, com informações que não têm nada a ver, só pra complicar uma eventual tentativa de quebra.
3. O usuário digita "AKS89AB20", o seu sistema converte para "001150131", confirma que o cliente é o "001" e registra o novo vencimento, liberando tudo.
4. Esse novo vencimento (o "AKS89AB20", criptografado), vc guarda em um arquivo "escondido" dentro da pasta do Windows ou outra qualquer. No início do sistema, vc procura por esse arquivo (cuja localização vc conhece), checa se a vigência está ok e libera ou não o sistema para uso. E se esse arquivo não existir, vc interrompe o sistema e solta na tela um "Favor contatar o Hélio".
5. Isto é infalível? Não é. Mas um usuário comum vai apanhar bastante até conseguir quebrar. No meu caso, nenhum usuário nunca quebrou. O usuário pode até achar o arquivo, mas vai ler "AKS89AB20" e usar como?
6. Para encriptar, não precisa inventar muito. Crie uma função que troque 1 por X, 2 por @, 3 por J etc. Para desencriptar, é só trocar X por 1, @ por 2, J por 3 etc.
7. Para criar, ler e gravar o arquivo, é só usar as funções de baixo nível FOpen, FWrite, Fread, Fclose.
Veja se ajuda.
Como achar um arquivo no computador
Enviado: 06 Jan 2015 11:07
por asimoes
Muitos programas comerciais trabalham com chave de ativação/renovação que são enviadas por email.
O programa só precisa guardar o arquivo chave (licença) de validação na pasta do sistema e validar a chave com algoritmo de validação.
Ex. a chave informada é AJK123I100 esta chave é a data de vigência e expiração de funcionamento e pode conter outras informações.
Se a chave informada for valida, o sistema grava um arquivo contendo a chave em uma pasta especifica e a usa até que expire.
Como achar um arquivo no computador
Enviado: 06 Jan 2015 12:09
por Eolo
O programa só precisa guardar o arquivo chave (licença) de validação na pasta do sistema
Asimões, veja os posts anteriores do Helio: o problema é que o usuário recebe o arquivo por email e salva em qualquer lugar, depois não onde salvou e toca a procurar o danado.
Aliás, não entendi direito o que o seu post acrescentou ao assunto.
Também, o arquivo chave não PRECISA ficar na pasta do sistema. Pode ficar em qualquer lugar.
Como achar um arquivo no computador
Enviado: 06 Jan 2015 14:25
por asimoes
Podem ignorar o meu post!
Como achar um arquivo no computador
Enviado: 05 Jul 2019 18:14
por syslink
gente td bem
to tentano entender o porque nao funciona assim:
Código: Selecionar todos
if .not. file ('C:\WINDOWS\SYSTEM\TESTE.INF') .and. .not. file ('D:\WINDOWS\SYSTEM\TESTE.INF') .and. .not. file ('C:\WINDOWS\SYSTEM32\TESTE.INF') .and. .not. file ('D:\WINDOWS\SYSTEM32\TESTE.INF') .and. .not. file ('C:\Windows\SysWOW64\TESTE.INF') .and. .not. file ('d:\Windows\SysWOW64\TESTE.INF')
MsgStop('program invalido. será encerrado.)
close all
quit
else
msginfo('programa liberado para uso!')
endif
posso colocar o arquivo teste.inf em qualquer uma das pastas que o sistema nao o encontra. mesmo se substituir o FILE por
DIRECTORYRECURSE ou por
DIRECTORY num funciona.
Agora se eu mudar para um montao de IF endendados uns aos outros ai funciona como abaixo:
Código: Selecionar todos
IF .NOT. FILE ('C:\WINDOWS\SYSTEM\TESTE.INF')
IF .NOT. FILE ('D:\WINDOWS\SYSTEM\TESTE.INF')
IF .NOT. FILE ('C:\WINDOWS\SYSTEM32\TESTE.INF')
IF .NOT. FILE ('D:\WINDOWS\SYSTEM32\TESTE.INF')
IF .NOT. FILE ('C:\WINDOWS\SYSWOW64\TESTE.INF')
IF .NOT. FILE ('D:\WINDOWS\SYSWOW64\TESTE.INF')
if .not. file ('C:\WINDOWS\SYSTEM\TESTE.INF')
if .not. file ('C:\WINDOWS\SYSTEM32\TESTE.INF')
if .not. file ('D:\WINDOWS\SYSTEM\TESTE.INF')
if .not. file ('D:\WINDOWS\SYSTEM32\TESTE.INF')
if .not. file ('C:\WINDOWS\SYSWOW64\TESTE.INF')
if .not. file ('D:\WINDOWS\SYSWOW64\TESTE.INF')
MsgStop('program invalido. será encerrado.)
close all
quit
else
msginfo('programa liberado para uso!')
endif
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
alguem tem uma dica, se precisa de um SET FILE alguma coisa...
ps: nao testei hb_FNameSplit()
obrigado por ajuda
Como achar um arquivo no computador
Enviado: 05 Jul 2019 19:00
por JoséQuintas
syslink escreveu:to tentano entender o porque nao funciona assim:
Continua sendo o mesmo motivo da outra vez que perguntou.
Pastas do Windows não são brinquedo, só o administrador consegue mexer.
Crie outra forma de proteger seu programa.
Rode o programa como administrador e vai ver que funciona.
Como achar um arquivo no computador
Enviado: 06 Jul 2019 10:00
por JoséQuintas
Corrigindo minha resposta:
Seus IFs do primeiro caso estão errados.
Do jeito que colocou, obrigaria a existir em todas as pastas de uma vez.
Como achar um arquivo no computador
Enviado: 06 Jul 2019 11:36
por JoséQuintas
Talvez mais legível:
Código: Selecionar todos
PROCEDURE Main
IF ! Liberado()
MsgStop( "program invalido. será encerrado." )
CLOSE ALL
QUIT
ENDIF
MsgInfo( "programa liberado para uso!" )
RETURN
STATIC FUNCTION Liberado()
LOCAL lLiberado := .F.
LOCAL aList := {
"C:\WINDOWS\SYSTEM\TESTE.INF", ;
"D:\WINDOWS\SYSTEM\TESTE.INF", ;
"C:\WINDOWS\SYSTEM32\TESTE.INF", ;
"D:\WINDOWS\SYSTEM32\TESTE.INF", ;
"C:\Windows\SysWOW64\TESTE.INF", ;
"D:\Windows\SysWOW64\TESTE.INF" }
AEval( aList, { | e | lLiberado := lLiberado .OR. File( e ) } )
RETURN lLiberado