enviando arquivos
oi galera , como eu posso enviar arquivos atraves de uma rede local ?
exemplo:eu tenho um arquivo e queria mandar esse arquivo p/ uma maquina na rede local como faço isso ?
exemplo:eu tenho um arquivo e queria mandar esse arquivo p/ uma maquina na rede local como faço isso ?
Anicetojunior
Curtidas 0
Respostas
Mrsilva.rodrigo
17/11/2004
Se vc for administrador da rede pode ser assim:
origem:= ´c:\pasta_origem\arquivo.txt´
destino:= ´\\10.5.10.199\c$\pasta_destino\arquivo.txt
CopyFile(pchar(origem), pchar(destino), false);
agora se for administrador tem que mapear, +- como abaixo:
Function Conecta(Var maquina: Pchar): Boolean;
Var
NRW: TNetResource;
SResult: String;
dwResult: DWord;
Begin
with NRW do
begin
dwType := RESOURCETYPE_ANY;
lpLocalName := ´X:´;
lpRemoteName := maquina;
lpProvider := ´´;
end;
dwResult:= WNetAddConnection2(NRW, ´senha´, ´dominio\user´, CONNECT_UPDATE_PROFILE);
case dwResult of
ERROR_ACCESS_DENIED : sresult := ´Acesso negado.´;
ERROR_ALREADY_ASSIGNED : sresult := ´A letra do drive especificada já está conectada.´;
ERROR_BAD_DEV_TYPE : sresult := ´O tipo de dispositivo e o tipo de recurso não são compatíveis.´;
ERROR_BAD_DEVICE : sresult := ´Letra inválida.´;
ERROR_BAD_NET_NAME : sresult := ´Nome do servidor não é válido ou não pode ser localizado.´;
ERROR_BAD_PROFILE : sresult := ´Formato incorreto de parâmetros.´;
ERROR_CANNOT_OPEN_PROFILE : sresult := ´Conexão permanente não disponível.´;
ERROR_DEVICE_ALREADY_REMEMBERED : sresult := ´Uma entrada para o dispositivo especificado já está no perfil do usuário.´;
ERROR_EXTENDED_ERROR : sresult := ´Erro de rede.´;
ERROR_INVALID_PASSWORD : sresult := ´Senha especificada inválida.´;
ERROR_NO_NET_OR_BAD_PATH : sresult := ´A operação não foi concluída porque a rede não foi inicializada ou caminho é inválido.´;
ERROR_NO_NETWORK : sresult := ´A rede não está presente.´;
else
sresult:= ´A Conexão ´+ maquina+ ´ na unidade ´+ ´ X ´+´ Foi efetuada corretamente´;
end;
End
origem:= ´c:\pasta_origem\arquivo.txt´
destino:= ´\\10.5.10.199\c$\pasta_destino\arquivo.txt
CopyFile(pchar(origem), pchar(destino), false);
agora se for administrador tem que mapear, +- como abaixo:
Function Conecta(Var maquina: Pchar): Boolean;
Var
NRW: TNetResource;
SResult: String;
dwResult: DWord;
Begin
with NRW do
begin
dwType := RESOURCETYPE_ANY;
lpLocalName := ´X:´;
lpRemoteName := maquina;
lpProvider := ´´;
end;
dwResult:= WNetAddConnection2(NRW, ´senha´, ´dominio\user´, CONNECT_UPDATE_PROFILE);
case dwResult of
ERROR_ACCESS_DENIED : sresult := ´Acesso negado.´;
ERROR_ALREADY_ASSIGNED : sresult := ´A letra do drive especificada já está conectada.´;
ERROR_BAD_DEV_TYPE : sresult := ´O tipo de dispositivo e o tipo de recurso não são compatíveis.´;
ERROR_BAD_DEVICE : sresult := ´Letra inválida.´;
ERROR_BAD_NET_NAME : sresult := ´Nome do servidor não é válido ou não pode ser localizado.´;
ERROR_BAD_PROFILE : sresult := ´Formato incorreto de parâmetros.´;
ERROR_CANNOT_OPEN_PROFILE : sresult := ´Conexão permanente não disponível.´;
ERROR_DEVICE_ALREADY_REMEMBERED : sresult := ´Uma entrada para o dispositivo especificado já está no perfil do usuário.´;
ERROR_EXTENDED_ERROR : sresult := ´Erro de rede.´;
ERROR_INVALID_PASSWORD : sresult := ´Senha especificada inválida.´;
ERROR_NO_NET_OR_BAD_PATH : sresult := ´A operação não foi concluída porque a rede não foi inicializada ou caminho é inválido.´;
ERROR_NO_NETWORK : sresult := ´A rede não está presente.´;
else
sresult:= ´A Conexão ´+ maquina+ ´ na unidade ´+ ´ X ´+´ Foi efetuada corretamente´;
end;
End
GOSTEI 0
Anicetojunior
17/11/2004
muito obrigado,vai me servir agora eu tenho a seguinte duvida:eu tenho um aplicativo que seria responsavel por mandar arquivos,como que eu poderia administrar essa troca de arquivos,vc tem alguma ideia ?
GOSTEI 0
Mrsilva.rodrigo
17/11/2004
Pelo que entendi vc quer fazer um programa tipo os arquivos em lote (.bat) usados no Ms-Dos, e enviar um ou mais arquivos para várias máquinas ao mesmo tempo.
Se for isso mesmo tenho um exemplo que pode te ajudar, envie um e-mail para mrsilva@click21.com.br que eu repasse com os fontes.
Se for isso mesmo tenho um exemplo que pode te ajudar, envie um e-mail para mrsilva@click21.com.br que eu repasse com os fontes.
GOSTEI 0