Como mapear uma unidade de rede de dentro do Clipper

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
helio
Usuário Nível 3
Usuário Nível 3
Mensagens: 175
Registrado em: 04 Ago 2004 10:36
Localização: São Bento do Una-PE
Contato:

Como mapear uma unidade de rede de dentro do Clipper

Mensagem por helio »

Prezados Colegas gostaria de saber se existe possibilidade de Mapear uma unidade de rede por dentro do sistema em Clipper informando o caminho por uma variavel ou um campo de um DBF.

Muito obrigado pela atencao antecipadamente.

Helio Beltrao Jr.
helio@insercom.com.br
Avatar do usuário
binho_fasa
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Jul 2004 12:53
Localização: Brazil
Contato:

Re: Talvez isso resolva!

Mensagem por binho_fasa »

Hélio, não sei é bem isso o que você quer, mas assim funciona!

Código: Selecionar todos

LOCAL cLetra, cServer, cRecurso, cComando

cLetra   := "F:"
cServer  := "SERVER"
cRecurso := "D"
cComando := "NET USE " + cLetra + " \\" + cServer + "\" + cRecurso
//Equivalente a NET USE F: \\SERVER\D

!(cComando)
[]´s
Fabio Souza.
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Mensagem por marcos.gurupi »

O problema q nesse caso aparece na tela do programa a resposta do sistema operacional. Como fazer para q n apareca a mensagem do sistema na tela do programa?

Marcos Roberto.
kenew
Usuário Nível 2
Usuário Nível 2
Mensagens: 97
Registrado em: 08 Set 2004 15:08
Contato:

Mensagem por kenew »

Vc pode usar um recurso do DOS, se vc colocar no final o sinal de maior e o nome NUL ou qualquer nome para criar um arquivo com o resultado.

Exemplo:

cComando := "NET USE " + cLetra + " \\" + cServer + "\" + cRecurso + "> NUL"
//Equivalente a NET USE F: \\SERVER\D >NUL

!(cComando)
Avatar do usuário
helio
Usuário Nível 3
Usuário Nível 3
Mensagens: 175
Registrado em: 04 Ago 2004 10:36
Localização: São Bento do Una-PE
Contato:

Mensagem por helio »

Muito Obrigado pela dica.
Avatar do usuário
software_facil
Usuário Nível 3
Usuário Nível 3
Mensagens: 211
Registrado em: 23 Fev 2005 12:19
Localização: Curitiba/PR
Contato:

Mensagem por software_facil »

boa tarde,

para mapear uma unidade de rede, ou uma impressora, ou qualquer outro recurso de uma rede, use estas funções da lib ct.lib :

mapeia uma unidade de rede para dados
NetRedir("R:", "\\servidor_dados\dados$")
set default to r:\sisloja

cancela o mapeamento (ao final da aplicação)
NetCancel("R:")

capturar em lpt2 uma impressora da rede
NetRedir( "LPT2:", "\\Servidor_print\HP4100tn" )
Set Device To Print
Set Printer To LPT2

liberar a impressora
Set Printer To
Set Device To Screen
NetCancel( "LPT2:" )

espero ter ajudado, se tiver alguma dúvida, no meu site vc poderá encontrar o meu e-mail e msn.

abraços
messenger : software_facil@hotmail.com
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Mensagem por Mário Isa »

e, no caso do DOS, não se esqueça de incluir a cláusula /YES no final para evitar que ele venha a dizer que já existe a conexão atual e assim jogue para o DOS uma pergunta:
nesse caso faça:
NET USE S: \\COMPUTADOR\ESTACAO /YES > NUL
e para mapear impressoras faça:
NET USE LPTx: \\COMPUTADOR\IMPRESSORA /YES > NUL
onde x significa o num da porta que se quer mapear
no caso de Windows XP, para mapear impressoras faça:
mytelsys := savescreeen(0,0,24,79)
NET USE LPTx: /YES // (para deletar a conexão)
NET USE LPTx: \\COMPUTADOR\IMPRESSORA /YES > NUL
restscreen(0,0,24,79,mytelsys)

Essa salvamento da tela é só para evitar bagunças na tela, provocadas pelas mensagens do XP (Desobediente)
Mário
:xau
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Mensagem por Mário Isa »

e, no caso do DOS, não se esqueça de incluir a cláusula /YES no final para evitar que ele venha a dizer que já existe a conexão atual e assim jogue para o DOS uma pergunta:
nesse caso faça:
NET USE S: \\COMPUTADOR\ESTACAO /YES > NUL
e para mapear impressoras faça:
NET USE LPTx: \\COMPUTADOR\IMPRESSORA /YES > NUL
onde x significa o num da porta que se quer mapear
no caso de Windows XP, para mapear impressoras faça:
mytelsys := savescreeen(0,0,24,79)
NET USE LPTx: /YES // (para deletar a conexão)
NET USE LPTx: \\COMPUTADOR\IMPRESSORA /YES > NUL
restscreen(0,0,24,79,mytelsys)

Essa salvamento da tela é só para evitar bagunças na tela, provocadas pelas mensagens do XP (Desobediente)
Mário
:xau
Responder