Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-12-2012
Basi Basi is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 10
Poder: 0
Basi Va por buen camino
Abrir programa y mandar imprimir

Hola a todos espero esten bien, entrando en el tema a que tengo mi duda es como mandar imprimir ya una ves que ya este abierto el programa para explicarme bien lo que quiero hacer es despues que habra el pain me lleve a archivo y de hay imprimir me quede en la parte de abril el pain este es mi codigo

Código Delphi [-]
procedure TForm1.PainPanelClick(Sender: TObject);
begin
  ShellExecute (Handle,'open','mspaint.exe', nil, nil,  SW_SHOWNORMAL);
end;

Espero me puedan ayudar o darme uma idea de como hacerlo ah soy nuevo en esto.

Última edición por dec fecha: 04-12-2012 a las 15:53:11.
Responder Con Cita
  #2  
Antiguo 04-12-2012
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 18
Faust Va por buen camino
Bueno, pues al parecer te falta abrir el archivo, en este caso creo que debes poner la ruta del archivo en el parámetro lpParameters de la función ShellExecute, o en el parámetro lpFile si el archivo de imagen ya está asociado al mspaint, así como la instrucción print, ahí te van los ejemplos:

Si la imagen está asociada a mspaint... sino la imprimirá con el programa asociado

Código Delphi [-]
procedure TForm1.PainPanelClick(Sender: TObject); 
  begin
    ShellExecute (Handle,'print','c:\imagen.bmp', nil, nil,  SW_HIDE);
  end;

De este no estoy seguro, pero debería abrir el archivo e imprimirlo

Código Delphi [-]
procedure TForm1.PainPanelClick(Sender: TObject);
  begin
    ShellExecute (Handle,'print','mspaint.exe', nil, 'c:\imagen.bmp',  SW_SHOWNORMAL);
  end;

Te dejo esto para qe lo cheques http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
__________________
Herr Heins Faust
Responder Con Cita
  #3  
Antiguo 04-12-2012
Basi Basi is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 10
Poder: 0
Basi Va por buen camino
Faust,

Gracias por reponder y dar tus ejemplos en estos momento lo voy a poner a prueba pero me conformaria con que abriera por lo menos el menu de imprimir bueno gracias otra vez
Responder Con Cita
  #4  
Antiguo 04-12-2012
Basi Basi is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 10
Poder: 0
Basi Va por buen camino
hola a todos disculpen pero no eh dado aun con lo que menciopnado arriba eh estado probando algunas formas y nada si alguien me puede dar otra idea mas clara se lo agradeceria..
Responder Con Cita
  #5  
Antiguo 05-12-2012
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Basi,

ShellExecuteEx es la versión extendida de ShellExecute.

Revisa este código:
Código Delphi [-]
function ShellExecute_AndWait(Operation, FileName, Parameter, Directory: string;
                              Show: Word; bWait: Boolean): Longint;
var
  FResult: Boolean;
  Info: TShellExecuteInfo;

begin
  FillChar(Info, SizeOf(Info), Chr(0));
  Info.cbSize := SizeOf(Info);
  Info.fMask := SEE_MASK_NOCLOSEPROCESS;
  Info.lpVerb := PChar(Operation);
  Info.lpFile := PChar(FileName);
  Info.lpParameters := PChar(Parameter);
  Info.lpDirectory := PChar(Directory);
  Info.nShow := Show;
  FResult := ShellExecuteEx(@Info);
  if FResult then
  begin
    if bWait then
    begin
      while
        WaitForSingleObject(Info.hProcess, 100) = WAIT_TIMEOUT
        do Application.ProcessMessages;
      FResult := GetExitCodeProcess(Info.hProcess, DWORD(Result));
    end
    else
      Result := 0;
  end;
  if not FResult then Result := -1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   ShellExecute_AndWait('print','msPaint','d:\image1.bmp','',SW_SHOWNORMAL,False);
end;
Al ejecutar el código anterior se muestra el siguiente mensaje:
Cita:
This file does not have a program associated with it for performing this action. Please install a program or, if one is already, create an association in the Default Programs control panel.
Conclusión: MsPaint no soporta la impresión vía parámetros, debes buscar un programa que la soporte y luego puedes imprimirlo por medio del siguiente código:
Código Delphi [-]
   ShellExecute(Handle,'print','d:\image1.bmp', nil, nil, SW_SHOWNORMAL);
Espero sea útil

Nelson.
Responder Con Cita
  #6  
Antiguo 05-12-2012
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
Hola Basi.

Para imprimir un archivo de imágen:
Código Delphi [-]
  
  ShellExecute(Handle 'open', 'mspaint', ' /p C:\Carpeta\SubCarpeta\Nombre.JPG', nil, SW_HIDE);
Es necesario que haya un espacio entre el nombre del ejecutable (mspaint) y la línea de comandos, por eso esta debe empezar por uno.

Solamente encontré el switch '/p' para imprimir y '/pt Nombre_impresora' para seleccionar la impresora (este último no lo probé). Pero ninguno que permita presentar el menu de impresión como solicitas en el mensaje #3.

Saludos.
__________________
Daniel Didriksen

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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Mandar llamar a otro programa desde delphi7 mar_a Varios 11 09-09-2010 17:23:10
Mandar el programa a la barra de tareas ledesma78 Varios 1 18-11-2007 05:50:34
problema al mandar imprimir nosferatu177 Impresión 15 06-07-2007 17:24:11
Mandar a Imprimir un PDF ludan508 Impresión 1 15-11-2006 11:14:51
abrir outlook desde mi aplicacion y mandar varios correos federiconqn21 Varios 2 20-09-2006 03:56:39


La franja horaria es GMT +2. Ahora son las 13:58:11.


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