Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2011
Avatar de edgwin
edgwin edgwin is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guadalajara Jal. Mex
Posts: 163
Poder: 19
edgwin Va por buen camino
Problemas con copia de archivos a la RED

Que tal amigos del foro.

Estoy intentando copiar un archivo a una carpeta compartida en otro equipo, lo que intento es lo siguiente:

Código Delphi [-]
var
   NetResource: TNetResource;
   vRuta : PChar;
begin
   vRuta := PChar('c:\carpetaTmp\archivo.xml');
   NetResource.dwType := RESOURCETYPE_DISK;
   NetResource.lpLocalName := 'X:';
   NetResource.lpRemoteName := vRuta;
   NetResource.lpProvider := '';
   WNetAddConnection2(NetResource, 'Pass','Usuario', CONNECT_UPDATE_PROFILE);
   CopyFile(PChar(vFile),PChar('X:\archivo.XML'),False);
   WNetCancelConnection2('X:', CONNECT_UPDATE_PROFILE, True);

Cabe mensionar que el usuario y password es correcto, si se conecta a la unidad de red, y si cambio, en la linea "CopyFile" a una unidad local, si me copia el archivo ...

Pero no me copia nada a la unidad de RED "x", alguna sugerencia?

Saludos!
Responder Con Cita
  #2  
Antiguo 01-02-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Seguramente este código te da un error al copiar. Si nos dices el error, puede que podamos ayudarte un poco más.

Yo supongo que el problema debe estar en la parte donde generas el recurso compartido (WNetAddConnection2).

WNetAddConnection2 devuelve a su vez un código de error. Si es 0 es que la carpeta compartida se generó correctamente.

Yo supongo que debe devolver algo distinto de 0.

Código Delphi [-]
var
   NetResource: TNetResource;
   vRuta : PChar;
   ErrCode : integer;
begin
   vRuta := PChar('c:\carpetaTmp\archivo.xml');
   NetResource.dwType := RESOURCETYPE_DISK;
   NetResource.lpLocalName := 'X:';
   NetResource.lpRemoteName := vRuta;
   NetResource.lpProvider := '';
   ErrCode := WNetAddConnection2(NetResource, 'Pass','Usuario', CONNECT_UPDATE_PROFILE);
   if (ErrCode=0) then
   begin
      CopyFile(PChar(vFile),PChar('X:\archivo.XML'),False);
      WNetCancelConnection2('X:', CONNECT_UPDATE_PROFILE, True);
   end else
      ShowMessage('No puedo conectar la unidad de red.');
Responder Con Cita
  #3  
Antiguo 01-02-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
También veo el siguiente problema.
  • vRuta debe ser la ruta y no el archivo.
  • vRuta debe ser un lugar en la red y no en el C: local.

Supongo que deberías cambiarlo a algo así:
Código Delphi [-]
   vRuta := PChar('\\EquipoRemoto\c\carpetaTmp');
Responder Con Cita
  #4  
Antiguo 01-02-2011
Avatar de edgwin
edgwin edgwin is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guadalajara Jal. Mex
Posts: 163
Poder: 19
edgwin Va por buen camino
Gracias por responder:

Me equivoque en el codigo, voy a postear el codigo real que tengo:

Código Delphi [-]
procedure TfrmMain.prcCopiARed(vFile:string;vModa:string);
var
   NetResource: TNetResource;
   vIniFile : TIniFile;
   vRuta : PChar;
begin
   vIniFile := TIniFile.Create('./Config.ini');
   if vModa = '' then
      vRuta := PChar(vIniFile.ReadString('RUTA','RX','')) // Ruta: \\132.147.160.50\RIS
   else
      vRuta := PChar(vIniFile.ReadString('RUTA','MA','')); // Ruta: \\132.147.160.51\RIS
   NetResource.dwType := RESOURCETYPE_DISK;
   //Letra con la cual sera mapeado el recurso
   NetResource.lpLocalName := 'X:';
   //Nombre del recurso
   NetResource.lpRemoteName := vRuta;
   NetResource.lpProvider := '';
   WNetAddConnection2(NetResource, 'Radiologia1','UPC', CONNECT_UPDATE_PROFILE);
   CopyFile(PChar(vFile),PChar('X:\RIS.XML'),False);
   WNetCancelConnection2('X:', CONNECT_UPDATE_PROFILE, True);
end;

Ya intente como me dice duilioisola (como podran ver, la ruta la saco de un archivo INI) cambiando la ruta y nada!!!

Saludos!
Responder Con Cita
  #5  
Antiguo 02-02-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Cita:
Seguramente este código te da un error al copiar. Si nos dices el error, puede que podamos ayudarte un poco más.
Es importante que nos cuentes "el mensaje de error que te da".

Sin ese "detallito" no sabemos qué contestarte excepto suposiciones...

Suposición 1:
Después de leer el ini vRuta = '\\132.147.160.50\RIS' o vRuta = '\\132.147.160.51\RIS'
Puede que no sea ninguna de las dos y que no esté leyendo el ini correcto.

Suposición 2:
CopyFile(PChar(vFile),PChar('X:\RIS.XML'),False);
se traduciría como
CopyFile(PChar(vFile),PChar('\\132.147.160.51\RIS\RIS.XML'),False);

Quizás te has liado y el archivo RIS.XML está en la raiz del lugar al que apunta la dirección IP y no dentro de una carpeta que se llama RIS.

Suposición 3:
Radiologia1 y UPC no son los nombres de ususario y contraseña correctos o no tiene permisos de lectura.

Seguimos suponiendo ???
Responder Con Cita
  #6  
Antiguo 02-02-2011
Avatar de edgwin
edgwin edgwin is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guadalajara Jal. Mex
Posts: 163
Poder: 19
edgwin Va por buen camino
Gracias por contestar.

Hice una pequeña modificacion en el codigo:

Código Delphi [-]
...
   vErr := WNetAddConnection2(NetResource, 'Agsrvc2ls','Crservice', CONNECT_UPDATE_PROFILE);
...

Es importante que nos cuentes "el mensaje de error que te da".
R.- El valor que me regresa es "0".

Sin ese "detallito" no sabemos qué contestarte excepto suposiciones...

Suposición 1:
Después de leer el ini vRuta = '\\132.147.160.50\RIS' o vRuta = '\\132.147.160.51\RIS'
Puede que no sea ninguna de las dos y que no esté leyendo el ini correcto.
R.- Claro que lo esta leyendo de manera correcta, en caso contrario no se conectaria a la unidad de red.

Suposición 2:
CopyFile(PChar(vFile),PChar('X:\RIS.XML'),False);
se traduciría como
CopyFile(PChar(vFile),PChar('\\132.147.160.51\RIS\RIS.XML'),False);
R.- No puedo hacer eso, ya que el equipo remoto esta protegido con contraseña, es por eso que me meti en este lio ...
Quizás te has liado y el archivo RIS.XML está en la raiz del lugar al que apunta la dirección IP y no dentro de una carpeta que se llama RIS.

Suposición 3:
Radiologia1 y UPC no son los nombres de ususario y contraseña correctos o no tiene permisos de lectura.
R.- Yo mismo cree la ruta y la comparti como administrador. Me asegure de tener todos los permisos necesarios, tan asi que puedo escribir sobre esa carpeta de manera remota.

El problema es que al parecer la funcion de copyFile no soporta la copia a unidades mapeadas, porque si se mapea la unidad (cuando lo corro paso a paso, abro un explorador y ahi aparece) y si hace la copia si cambio la unidad "X" por alguna unidad y carpeta local.

Alguien que me pueda ayudar!!
Gracias!
Responder Con Cita
  #7  
Antiguo 02-02-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Me sigue quedando la duda: ¿No te da ningún mensaje de error?
¿O sea, pasa por la linea CopyFile(...); y no dice nada?
¿No te da una exception que diga algo? (el archivo ya existe, no tiene permiso, no existe la unidad, etc.)

Prueba poniendo a True la útima propiedad de CopyFile
Código Delphi [-]
CopyFile(PChar(vFile), PChar('X:\RIS.XML'), True);

Código sacado de Torry's Delphi Pages
Código Delphi [-]
{
  The CopyFile function copies an existing file to a new file.


 CopyFile(
  lpExistingFileName : PChar, // name of an existing file
  lpNewFileName : PChar,      // name of new file
  bFailIfExists : Boolean);   // operation if file exists

bFailIfExists:
  Specifies how this operation is to proceed if a file of the same name as
  that specified by lpNewFileName already exists.
  If this parameter is TRUE and the new file already exists, the function fails.
  If this parameter is FALSE and the new file already exists,
  the function overwrites the existing file and succeeds.
}

var
  fileSource, fileDest: string;
begin
  fileSource := 'C:\SourceFile.txt';
  fileDest := 'G:\DestFile.txt';
  CopyFile(PChar(fileSource), PChar(fileDest), False);
end;
Responder Con Cita
  #8  
Antiguo 03-02-2011
Avatar de edgwin
edgwin edgwin is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guadalajara Jal. Mex
Posts: 163
Poder: 19
edgwin Va por buen camino
Gracias por responder duilioisola

No, no me marca ningun error. De echo el programa sigue corriendo sin problemas. Voy a optar por hacer un servidor de archivos en la maquina cliente que reciba los archivos ...

Gracias por tus respuestas

Saludos!
Responder Con Cita
  #9  
Antiguo 03-02-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
He hecho este pequeño programita ejemplo, para ver si puedes buscar el error.
Tiene un panel alineado alTop con un boton y un Memo para guardar un Log de todos los pasos.
En el evento del botón se llama al procedimiento que copia.
Si alguna función devuelve un error, te lo muestra en el memo.
Yo he probado con
  • IP que no existe
  • Nombre de usuario y contraseña incorrectos
  • Carpeta que no existe dentro de la ip
Todos estos me dan algún tipo de error.

Ya nos contarás...

Código Delphi [-]
unit UFMMainCopia;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TFMMainCopia = class(TForm)
    PNLMain: TPanel;  {Panel alineado alTop}
    BCopiar: TButton;
    MLog: TMemo;      {Memo alineado alClient}
    procedure BCopiarClick(Sender: TObject);
  private
    procedure prcCopiARed(vOrigen, vDestino, vUser, vPassword :string);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FMMainCopia: TFMMainCopia;

implementation

{$R *.dfm}

procedure TFMMainCopia.prcCopiARed(vOrigen, vDestino, vUser, vPassword :string);
var
   NetResource: TNetResource;
   vRuta : PChar;
   ErrCode : integer;
   ErrCode2 : LongBool;
begin
   MLog.Clear;
   {*****************************************}
   { IMPORTANTE: vRuta NO debe terminar en \ }
   {*****************************************}
   vRuta := PChar('\\192.168.152.127\Compartida');
   MLog.Lines.Add('vRuta := PChar(''\\192.168.152.127\Compartida'')');

   NetResource.dwType := RESOURCETYPE_DISK;
   MLog.Lines.Add('NetResource.dwType := RESOURCETYPE_DISK');

   //Letra con la cual sera mapeado el recurso
   NetResource.lpLocalName := 'X:';
   MLog.Lines.Add('NetResource.lpLocalName := ''X:''');

   //Nombre del recurso
   NetResource.lpRemoteName := vRuta;
   MLog.Lines.Add('NetResource.lpRemoteName := vRuta');

   NetResource.lpProvider := '';
   MLog.Lines.Add('NetResource.lpProvider := ''''');

   if (vUser = '') then
   begin
      ErrCode := WNetAddConnection2(NetResource, nil, nil, CONNECT_UPDATE_PROFILE);
      MLog.Lines.Add('WNetAddConnection2(NetResource, nil, nil, CONNECT_UPDATE_PROFILE)');
   end
   else
   begin
      ErrCode := WNetAddConnection2(NetResource, PChar(vPassword), PChar(vUser), CONNECT_UPDATE_PROFILE);
      MLog.Lines.Add('WNetAddConnection2(NetResource, PChar(' + vPassword + '), PChar(' + vUser + '), CONNECT_UPDATE_PROFILE)');
   end;

   MLog.Lines.Add('ErrCode: '+IntToStr(ErrCode));
   if (ErrCode = ERROR_ACCESS_DENIED             ) then MLog.Lines.Add('ERROR_ACCESS_DENIED') else
   if (ErrCode = ERROR_ALREADY_ASSIGNED           ) then MLog.Lines.Add('ERROR_ALREADY_ASSIGNED') else
   if (ErrCode = ERROR_BAD_DEV_TYPE              ) then MLog.Lines.Add('ERROR_BAD_DEV_TYPE') else
   if (ErrCode = ERROR_BAD_DEVICE           ) then MLog.Lines.Add('ERROR_BAD_DEVICE') else
   if (ErrCode = ERROR_BAD_NET_NAME           ) then MLog.Lines.Add('ERROR_BAD_NET_NAME') else
   if (ErrCode = ERROR_BAD_PROFILE           ) then MLog.Lines.Add('ERROR_BAD_PROFILE') else
   if (ErrCode = ERROR_BAD_PROVIDER           ) then MLog.Lines.Add('ERROR_BAD_PROVIDER') else
   if (ErrCode = ERROR_BUSY                   ) then MLog.Lines.Add('ERROR_BUSY') else
   if (ErrCode = ERROR_CANCELLED           ) then MLog.Lines.Add('ERROR_CANCELLED') else
   if (ErrCode = ERROR_CANNOT_OPEN_PROFILE       ) then MLog.Lines.Add('ERROR_CANNOT_OPEN_PROFILE') else
   if (ErrCode = ERROR_DEVICE_ALREADY_REMEMBERED ) then MLog.Lines.Add('ERROR_DEVICE_ALREADY_REMEMBERED') else
   if (ErrCode = ERROR_EXTENDED_ERROR            ) then MLog.Lines.Add('ERROR_EXTENDED_ERROR') else
   if (ErrCode = ERROR_INVALID_PASSWORD          ) then MLog.Lines.Add('ERROR_INVALID_PASSWORD') else
   if (ErrCode = ERROR_NO_NET_OR_BAD_PATH        ) then MLog.Lines.Add('ERROR_NO_NET_OR_BAD_PATH') else
   if (ErrCode = ERROR_NO_NETWORK           ) then MLog.Lines.Add('ERROR_NO_NETWORK') else
   MLog.Lines.Add('DESCONOCIDO');

   ErrCode2 := CopyFile(PChar(vOrigen), PChar('X:\destino.txt'), True);
   MLog.Lines.Add('CopyFile(PChar(' + vOrigen + '), PChar(' + vDestino + '), True)');
   if (ErrCode2) then
      MLog.Lines.Add('ErrCode: True')
   else
      MLog.Lines.Add('ErrCode: False');

   ErrCode := WNetCancelConnection2('X:', CONNECT_UPDATE_PROFILE, True);
   MLog.Lines.Add('WNetCancelConnection2(''X:'', CONNECT_UPDATE_PROFILE, True)''');
   MLog.Lines.Add('ErrCode: '+IntToStr(ErrCode));
end;

procedure TFMMainCopia.BCopiarClick(Sender: TObject);
begin
   prcCopiARed('C:\Origen.txt', 'X:\Destino.txt', 'Usuario', 'password');
end;

end.
Responder Con Cita
  #10  
Antiguo 03-02-2011
Avatar de edgwin
edgwin edgwin is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guadalajara Jal. Mex
Posts: 163
Poder: 19
edgwin Va por buen camino
Gracias nuevamente por responder.

Este es el resultado que me genera:

Cita:
vRuta := PChar('\\132.147.160.51\RIS')
NetResource.dwType := RESOURCETYPE_DISK
NetResource.lpLocalName := 'X:'
NetResource.lpRemoteName := vRuta
NetResource.lpProvider := ''
WNetAddConnection2(NetResource, PChar(Radiologia1), PChar(UPC), CONNECT_UPDATE_PROFILE)
ErrCode: 0
DESCONOCIDO
CopyFile(PChar(C:\Origen.txt), PChar(X:\Destino.txt), True)
ErrCode: False
WNetCancelConnection2('X:', CONNECT_UPDATE_PROFILE, True)'
ErrCode: 0
Adjunto, archivo zip con imagen del explorador de Windows

...

Saludos!

Última edición por edgwin fecha: 04-02-2011 a las 17:31:24.
Responder Con Cita
  #11  
Antiguo 04-02-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Cita:
WNetAddConnection2(NetResource, PChar(Radiologia1), PChar(UPC), CONNECT_UPDATE_PROFILE)
ErrCode: 0
Esto asegura que X: se puede crear.
Cita:
CopyFile(PChar(C:\Origen.txt), PChar(X:\Destino.txt), True)
ErrCode: False
El resultado de la copia es False. Por lo tanto no ha podido copiar...
Puede ser que X:\Destino.txt ya exista... aunque lo dudo mucho.
Si cambias el parámetro final de CopyFile a False, también falla?

La última prueba que se me ocurre es que pongas un breakpoint en la linea de CopyFile y copies a mano C:\Origen.txt a Xestino.txt para ver si Windows te da algún error.
Responder Con Cita
  #12  
Antiguo 04-02-2011
Avatar de edgwin
edgwin edgwin is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guadalajara Jal. Mex
Posts: 163
Poder: 19
edgwin Va por buen camino
Gracias nuevamente por responder.

Hice lo que me sugeriste, pero si me dejo copiar el archivo a la unidad "X".

Me parece que delphi tiene un bug en este sentido.

Gracias por tu apoyo amigo.
Saludos!!
Responder Con Cita
  #13  
Antiguo 04-02-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Parece ser que si... No veo ningún otro error.
Si lo que quieres copiar es un archivo XML, lo que te sugiero que hagas es lo siguente:
Creas un TStrings y utilizas los métodos LoadFromFile SaveToFile

Código Delphi [-]
var
  ts : TStrings;
[...]
   {CopyFile(PChar(vFile),PChar('X:\archivo.XML'),False);}
   ts := TStrings.Create;
   try
      ts.LoadFromFile(vFile);
      ts.SaveToFile('X:\archivo.XML');
   finally
      ts.Free;
   end;
[...]
Responder Con Cita
  #14  
Antiguo 04-02-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Otra opción es usar Streams. TFileStream en este caso...

Ejemplo de Delphi 6:
Código Delphi [-]
procedure TForm1.Save1Click(Sender: TObject);

var
  NewFileName: string;
  Msg: string;
  NewFile: TFileStream;
  OldFile: TFileStream;
begin
  NewFileName := ExtractFilePath(Application.ExeName) + ExtractFileName(Edit1.Text);
  Msg := Format('Copy %s to %s?', [Edit1.Text, NewFileName]);
  if MessageDlg(Msg, mtConfirmation, mbOKCancel, 0) = mrOK then
  begin
    OldFile := TFileStream.Create(Edit1.Text, fmOpenRead or fmShareDenyWrite);
    try
      NewFile := TFileStream.Create(NewFileName, fmCreate or fmShareDenyRead);

      try
        NewFile.CopyFrom(OldFile, OldFile.Size);
      finally
        FreeAndNil(NewFile);
      end;
    finally
      FreeAndNil(OldFile);
    end;
  end;
end;
Responder Con Cita
  #15  
Antiguo 04-02-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Otra opcion BlockRead - BlockWrite

Ejemplo de Delphi 6:
Código Delphi [-]
var
  FromF, ToF: file;
  NumRead, NumWritten: Integer;
  Buf: array[1..2048] of Char;
begin
  if OpenDialog1.Execute then     { Display Open dialog box }
  begin
    AssignFile(FromF, OpenDialog1.FileName);
    Reset(FromF, 1);  { Record size = 1 }
    if SaveDialog1.Execute then      { Display Save dialog box}
    begin
      AssignFile(ToF, SaveDialog1.FileName);  { Open output file }

      Rewrite(ToF, 1);  { Record size = 1 }
      Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF))
        + ' bytes...');
      repeat
        BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
        BlockWrite(ToF, Buf, NumRead, NumWritten);
      until (NumRead = 0) or (NumWritten <> NumRead);
      CloseFile(FromF);
      CloseFile(ToF);
    end;
  end;
end;
Responder Con Cita
  #16  
Antiguo 05-02-2011
Avatar de edgwin
edgwin edgwin is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guadalajara Jal. Mex
Posts: 163
Poder: 19
edgwin Va por buen camino
Gracias amigo .... ya resolvi el problema.

Hice un servidor de archivos TCP, donde el servidor enviar el archivo y en la computadora cliente lo recibe y lo coloca en la ruta indicada.

Gracias nuevamente

Saludos!
Responder Con Cita
  #17  
Antiguo 21-03-2011
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Poder: 17
juank1971 Va por buen camino
me interesa eso

saludos edgwin y como hiciste ese servidor, postea eso me interesa estoy haciendo lo mismo.

saludos juank
Responder Con Cita
  #18  
Antiguo 22-03-2011
Avatar de edgwin
edgwin edgwin is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guadalajara Jal. Mex
Posts: 163
Poder: 19
edgwin Va por buen camino
Claro que si amigo. En un momento mas te posteo el programita que hice, solo deja lo modifico para que sea un poco mas "generico" y no te marque errores.

Saludos!
Responder Con Cita
  #19  
Antiguo 22-03-2011
Avatar de edgwin
edgwin edgwin is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guadalajara Jal. Mex
Posts: 163
Poder: 19
edgwin Va por buen camino
Que tal juank1971

Dame un correo para poderte enviar los archivos ya que el foro no me deja postearlos. Cabe mensionar que el programa servidor es un servicio, por lo que hay que compilar y construir e instalar en el sistema (inicio -> ejecutar -> C:\...\SrvDicomAgfa.exe /install).

Saludos!
Responder Con Cita
  #20  
Antiguo 22-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up

Cita:
Empezado por edgwin Ver Mensaje
Que tal juank1971

Dame un correo para poderte enviar los archivos ya que el foro no me deja postearlos....
El club delphi cuenta con un FTP donde puedes compartir tus proyectos,ejemplos,tutoriales,libros,etc. puedes subirlo ahí para compartirlos con todos, tan solo debes ponerlo en el lugar adecuado...
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 23-03-2011 a las 14:07:50.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Impedir Copia de archivos de la red. Kipow API de Windows 5 13-12-2009 02:15:01
respado o copia de archivos luis vazquez Tablas planas 2 13-02-2008 20:06:00
Copia de archivos malditango API de Windows 4 03-12-2007 10:25:30
Copia de una carpeta con archivos con delphi jfontane Varios 1 13-10-2006 16:52:55
Copia de archivos por la red gguilleng Varios 1 22-11-2003 14:34:19


La franja horaria es GMT +2. Ahora son las 06:20:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi