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 12-11-2011
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
muchas gracias me sirve el codigo pero solo quisiera saber si se ejecuto shellexecute
asi esta el codigo mas completo
en esta linea tengo si el archivo no corresponde todo funciona ok y quisiera hacer lo mismo si se ejecuta shellexecute un dialogo, aceptar y cierre...
Código Delphi [-]
      if MessageDlg('Archivo invalido!', MtInformation, [mbOK],0) = mrok then
      Application.Terminate;
Código Delphi [-]
 if ParamStr(1) > '' then
  begin
    OpenDialog1.FileName:= ParamStr(1);
    edit1.Text:=ParamStr(1);
    if ParamStr(1) > '' then
begin
 if ExtractFileExt(ParamStr(1)) = '.reg' then
    ShellExecute(Handle, 'open', 'HAND.CMD', PChar(GetShortName(Opendialog1.FileName)), nil, SW_NORMAL)
      else
      if MessageDlg('Archivo invalido!', MtInformation, [mbOK],0) = mrok then
      Application.Terminate;
       end;
   end;
muchas gracias
Responder Con Cita
  #2  
Antiguo 12-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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
Cita:
Empezado por jonydread Ver Mensaje
solo quisiera saber si se ejecuto shellexecute
Eso exáctamente hace el código que te puse anteriormente. Guarda en la variable HINSTANCE el resultado de la acción de ShellExecute y si hubo un error (el resultado es menor que 32) lo muestra.

Lo único que habría que hacer es agregarlo:
Código Delphi [-]
var
  HINSTANCE: Integer;
  ErrorMSG: string;
begin
  if ParamStr(1) > '' then
  begin
    OpenDialog1.FileName:= ParamStr(1);
    edit1.Text:=ParamStr(1);
    if ParamStr(1) > '' then
  begin
  if ExtractFileExt(ParamStr(1)) = '.reg' then
  begin
    HINSTANCE:= ShellExecute(Handle,  'open', 'C:\HAND.CMD', PChar(GetShortName(FileName)), nil, SW_NORMAL);
    if HINSTANCE < 32 then
    begin
      case HINSTANCE of
        0: ErrorMSG:= 'Memoria o recursos insuficientes';
        ERROR_FILE_NOT_FOUND: ErrorMSG:= 'Archivo no encontrado';
        ERROR_PATH_NOT_FOUND: ErrorMSG:= 'Ruta no encontrada';
        SE_ERR_ACCESSDENIED:  ErrorMSGr:= 'Acceso denegado';
        //...
     end;
     MessageDlg('Error: '+ErrorMSG, mtError, [mbOK],0);
     Application.Terminate;
  end
  ...

Pero no le encuentro sentido a estas líneas:
Código Delphi [-]
 
  if MessageDlg('Archivo invalido!', MtInformation, [mbOK],0) = mrok then
    Application.Terminate;
El usuario recibe el mensaje 'Archivo inválido', no tiene otra opción que aceptar con el botón OK y luego de eso se termina la aplicación. Es decir no tiene sentido evaluar una condición de la que ya sabemos la respuesta...

O directamente hacemos:
Código Delphi [-]
  MessageDlg('Archivo invalido!', mtError, [mbOK],0);
  Application.Terminate;

O si queremos la opinión del usuario:
Código Delphi [-]
 
  if MessageDlg('¿ Desea finalizar ?', mtConfirmation, [mbYes,mbNo],0) = mrYes then
    Application.Terminate;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 12-11-2011
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
Ok tienes razon gracias probare y comento como me fue...
Responder Con Cita
  #4  
Antiguo 12-11-2011
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
todo ok Gracias!
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
Error de parametros al intentar abrir un archivo Word ilichhernandez OOP 7 20-05-2007 21:31:02
Abrir cualquier tipo de archivo desde mi aplicación Albano Varios 3 06-10-2006 20:48:31
como abrir un archivo ? martita Varios 2 09-08-2005 00:38:34
Como abrir un archivo .EXE? Albano Varios 4 29-05-2005 14:37:43
abrir archivo web desde aplicacion vetustas Internet 5 16-12-2003 00:02:48


La franja horaria es GMT +2. Ahora son las 03:07:19.


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