Ver Mensaje Individual
  #9  
Antiguo 01-03-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.673
Reputación: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
A ver...

Código Delphi [-]
procedure TFrameDocumentosEscaner.grImagenesDblClick(Sender: TObject);
const
    _rundll32exe_           = 'RunDll32.exe';
    _ImageView_Fullscreen_  = 'ImageView_Fullscreen';
    _Shimgvwdll_            = 'SHIMGVW.DLL';
var
    cFile,
    cProgramaVisor, cRun, cParam : string;
    mFile : TFileName;
begin
  inherited;
    if qrImagenes.RecordCount=0 then
        exit;
    //
    cFile:='';
    cProgramaVisor:='';
    cRun:='';
    cParam:='';
    //
    // Cogemos el nombre del fichero y lo guardamos en disco para su posterior visionado
    if qrImagenes.FieldByName('NOMBREFICHERO').asString='' then // cogido del escaner y no tiene nombre fichero
        cFile := ExtractFilePath(ParamStr(0))+'tmp.jpg'
    else // codigo de fichero
        cFile := ExtractFilePath(ParamStr(0))+'tmp'+ExtractFileExt(qrImagenes.FieldByName('NOMBREFICHERO').asString);
    TBlobField(qrImagenes.FieldByName('IMAGEN')).SaveToFile( cFile );
    cProgramaVisor := BuscarEjecutableAsociado(cFile);
    //
    mFile := TFileName( #34+cFile+#34 );
    //
    if pos(_Shimgvwdll_,AnsiUpperCase(cProgramaVisor))>0 then
    begin
        cRun := cProgramaVisor;
        cProgramaVisor := ExtractFilePath(cProgramaVisor)+_rundll32exe_;
        cParam := cRun + ' '+_ImageView_Fullscreen_+' ';
        mFile := TFileName( cFile );    // con el visor por defecto de windows no admite las comillas
    end;
    //
    // mFile := TFileName( #34+cFile+#34 );
    if cRun<>'' then
        RunAndWaitShell( cProgramaVisor, cParam+mFile, Sw_ShowNormal )
    else
        RunAndWaitShell( cProgramaVisor, mFile,        Sw_ShowNormal );
    //
    // ahora lo borramos
    DeleteFile(cFile);
end;

Ahora a quitar cosas y a cambiar
Responder Con Cita