Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Verificar conexión a Internet en lapsos de tiempo (https://www.clubdelphi.com/foros/showthread.php?t=93487)

Missael 15-10-2018 20:15:03

Verificar conexión a Internet en lapsos de tiempo
 
Buenas Tardes y hola de nuevo

Estoy haciendo una aplicación en delphi donde el usuario debe subir unos archivos a un servidor, un botón los manda al servidor, ahí todo esta bien, mi problema es que no se como hacer que cuando no tenga conexión a Internet, la aplicación verifique su conexión cada cierto tiempo, cuando ya detecte que el host tiene Internet, automáticamente se reanude la acción de mandar los archivos al servidor y así sucesivamente, cuando los haya subido todos, solo mandar un mensaje de 'Upload Succesful'

Espero puedan ayudarme, Muchas Gracias :)

CarlosReyesg 16-10-2018 03:47:36

Cita:

Empezado por Missael (Mensaje 528993)
Buenas Tardes y hola de nuevo

Estoy haciendo una aplicación en delphi donde el usuario debe subir unos archivos a un servidor, un botón los manda al servidor, ahí todo esta bien, mi problema es que no se como hacer que cuando no tenga conexión a Internet, la aplicación verifique su conexión cada cierto tiempo, cuando ya detecte que el host tiene Internet, automáticamente se reanude la acción de mandar los archivos al servidor y así sucesivamente, cuando los haya subido todos, solo mandar un mensaje de 'Upload Succesful'

Espero puedan ayudarme, Muchas Gracias :)

buen día
te comparto una de las funciones que utilizo para validar si hay conexión a Internet no se si te sirva lo demás que necesitas tenes que analizarlo
funciona solo para windows
Código Delphi [-]
/////////////////////////////////////////////////////
///   Validar si hay internet
///   Ing. Carlos Reyes
class function TClientCommon.Ping(URL: PCHAR): Boolean;
var
  hNet      : Pointer;
  hUrl      : Pointer;
  BytesRead : DWORD;
  Buffer    : array [0..64] of char;
begin
   Result    := False;
   BytesRead := 0;

   if InternetAttemptConnect(0) <> ERROR_SUCCESS then exit;

   hNet := InternetOpen('WebIng', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
   if hNet <> nil then
   begin
      hUrl:= InternetOpenUrl(hNet, URL, nil, 0, INTERNET_FLAG_RELOAD, 0);
      if hUrl <> nil then
      begin
         ZeroMemory(@Buffer[0], sizeof(Buffer));
         Result:= InternetReadFile(hUrl, @Buffer[0], sizeof(Buffer), BytesRead);
         Result:= Result and (BytesRead > 0);
         InternetCloseHandle(hUrl);
      end;
      InternetCloseHandle(hNet);
   end;
   Result := Result and (Pos('Access Denied', Buffer) = 0);
end;

Código Delphi [-]
Implementacion
if TClientCommon.Ping('http://www.google.com') then
begin
     //escribie codigo que necesites
end;
pienso que deberias de crear una apliacion de tipo servicio y coloques un timer que puedas configurarlo atravez de un archivo .ini

ojala te sirva......



"Entre las dificultades se esconde la oportunidad"--> Albert Einstein

Missael 17-10-2018 20:02:59

Buenas Tardes

Muchas gracias Ingeniero, la verdad si me funcionó bastante, le agradezco su tiempo para resolver mi duda.

Saludos.


La franja horaria es GMT +2. Ahora son las 00:14:46.

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