Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 06-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Alan_B.

Primero analicemos la funcion USBOpenDriver:
Código Delphi [-]
Function USBOpenDriver:boolean;
begin
  USBPORT := CreateFile('\\?\USB1', GENERIC_WRITE or GENERIC_READ,
  FILE_SHARE_WRITE or FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_FLAG_OVERLAPPED OR FILE_ATTRIBUTE_NORMAL, 0);
  USBOpenDriver:= USBPORT <> INVALID_HANDLE_VALUE;
  if USBPORT = INVALID_HANDLE_VALUE then // error at open port
    result:=false
  else
    result:=true;
end;
  1. Llama a la función CreateFile cuyos detalles podes mirar aquí:CrateFile function. El resultado queda en la variable USBPORT de tipo THandle.
  2. Asigna a la variable USBPORT el valor obtenido de comparar el resultado de CreateFile con INVALID_HANDLE_VALUE. Esta línea la veo redundante y prescindible(excepto para guardar compatibilidad con Pascal).
  3. Nuevamente evalua y asigna el resultado.

Particularmente y sin conocer sobre celulares, la hubiera escrito así:
Código Delphi [-]
function USBOpenDriver(PathToPhone: string):boolean;
begin
  USBPORT := CreateFile(PChar(PathToPhone), GENERIC_WRITE or GENERIC_READ,
    FILE_SHARE_WRITE or FILE_SHARE_READ, nil, OPEN_EXISTING,
    FILE_FLAG_OVERLAPPED OR FILE_ATTRIBUTE_NORMAL, 0);
  Result := USBPORT <> INVALID_HANDLE_VALUE
end;

La llamada correcta a la función es el que te sugirió cloayza, por ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not USBOpenDriver then  // error
    raise Exception.Create('No se encuentra el celular');
  // demas operaciones
  // ...

end;
Supongo que si la función te muestra el error, será debido a que no encuentra la ruta, pero hasta allí llegan mis conocimientos sobre rutas a celulares...

También podés reescribir la función USBOpenDriver para que admita diferentes rutas
Código Delphi [-]
function USBOpenDriver(PathToPhone: string):boolean;
begin
  USBPORT := CreateFile(PChar(PathToPhone), GENERIC_WRITE or GENERIC_READ,
    FILE_SHARE_WRITE or FILE_SHARE_READ, nil, OPEN_EXISTING,
    FILE_FLAG_OVERLAPPED OR FILE_ATTRIBUTE_NORMAL, 0);
  Result := USBPORT <> INVALID_HANDLE_VALUE
end;
y luego recompilar la unidad...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 



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
ver los contactos de un celular con delphi kurono Varios 0 02-07-2011 00:01:21
No pongas el celular en el bolsillo del pantalon jcarteagaf La Taberna 4 25-07-2008 19:40:53
infectar un celular ciro.arc Seguridad 10 19-07-2008 18:00:36
Programación de un celular hugoChinchilla Conexión con bases de datos 7 14-09-2007 05:09:18
Y asi hay gente que se descresta con un celular mamcx La Taberna 3 14-03-2007 23:14:20


La franja horaria es GMT +2. Ahora son las 16:03:36.


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