Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-10-2005
fartycl fartycl is offline
Miembro
 
Registrado: jul 2003
Posts: 21
Poder: 0
fartycl Va por buen camino
generar e imprimir catalogo

Hola aqui pidiendo ayuda de nuevo.

me gustaria ver si alguien me puede dar un empujon necesito realizar un informe con imagenes los datos del informe los tengo en una base de datos pero las imagenes en una carpeta y si es que se puede hacer con quickreport
me gustaria si me pueden dar un ejemplo.

lo que quiero hacer es un catalogo ya que tengo un administrador de productos donde ingreso los datos y en un campo coloco la ubicacion de la imagen ("c:\img\silla.jpg") y necesito generar listados donde me aparesca la imagen y la descripcion del producto y imprimirla.

si es que me pueden ayudar gracias
Responder Con Cita
  #2  
Antiguo 08-10-2005
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
Pues si mal no recuerdo, en la propiedad OnPrint de la imagen, puedes asignarla al momento de imprimir, la otra, que seme ocurre es que hagas un campo calculado, y en el evento OnCalcFields asignes la imagen, y en tu reporte usas un componente para imagen de bases de datos...
Responder Con Cita
  #3  
Antiguo 11-10-2005
fartycl fartycl is offline
Miembro
 
Registrado: jul 2003
Posts: 21
Poder: 0
fartycl Va por buen camino
Question

Es que soy medi lento me gustaria ver si me pudieran mostrar un ejemplo para asi poser entender mejor
Responder Con Cita
  #4  
Antiguo 11-10-2005
lento manu lento manu is offline
Miembro
 
Registrado: oct 2004
Posts: 29
Poder: 0
lento manu Va por buen camino
opción DB to HTML de Marco Cantu

Te pego código aquí para q valores esta opción. Lo difícil es paginar el Explorer, pero basando en cm el patrón, se consiguen resultados excelentes. Asimismo, puedes usar el componente TPageProcucer, o sus primos DB, como si fuera un servidor web, pero pasas el htm directamente al explorer. Los resultados son los mismos.
Con el ejemplo de Cantu he podido generar listados de sitios web enteros, así como impresión matricial.
Todos los méritos de Marco Cantu (unidad HTMLstr.pas):
Código:
unit HtmlStr;
interface
uses
  Classes, DB;
type
  THtmlStrings = class (TStringList)
  public
	procedure AddHeader (Title: string);
	procedure AddFooter;
	procedure OutputTable (Data: TDataSet);
  private
	procedure AddTableContents (Data: TDataSet);
  end;
implementation
uses
  SysUtils;
procedure THtmlStrings.AddHeader (Title: string);
begin
  Clear;
  Add ('<HTML>');
  Add ('<HEAD>');
  Add ('<TITLE>' + Title + '</TITLE>');
  Add ('</HEAD>');
  Add ('<BODY>');
  Add ('<H1><CENTER>' + Title + '</CENTER></H1>');
end;
procedure THtmlStrings.AddFooter;
begin
  Add ('<HR>');
  Add ('Generado por el programa ' +
	ExtractFileName (ParamStr(0)));
  Add ('</BODY>');
  Add ('</HTML>');
end;
procedure THtmlStrings.OutputTable (Data: TDataSet);
var
  I: Integer;
begin
  // iniciamos la tabla con bordes
  Add('<table border>');
  // nueva fila, con las cabeceras de tabla (etiqueta <th>)
  Add('<tr>');
  for I := 0 to Data.FieldCount - 1 do
	if Data.Fields[i].Visible then
	  Add('<th>' + Data.Fields[i].FieldName + '</th>');
  Add('</tr>');
  // nueva fila para cada registro, con los campos apropiados
  AddTableContents (Data);
  // hecho
  Add('</table>');
end;
procedure THtmlStrings.AddTableContents (Data: TDataSet);
var
  Bookmark: TBookmark;
  I: Integer;
begin
  // inhabilitamos el UI
  Data.DisableControls;
  try
	// almacenamos la posición actual
	Bookmark := Data.GetBookmark;
	try
	  // exploramos la tabla de base de datos
	  Data.First;
	  while not Data.EOF do
	  begin
		Add('<tr>'); // nueva fila, con los datos de la tabla (etiqueta <td>)
		for I := 0 to Data.FieldCount - 1 do
		  if Data.Fields[i].Visible then
			Add('<td>' + Data.Fields[i].DisplayText + '</td>');
		Add('</tr>');
		Data.Next;
	  end;
	finally
	  // volvemos a la anotación y la destruimos
	  Data.GotoBookmark (Bookmark);
	  Data.FreeBookmark (Bookmark);
	end;
  finally
	// rehabilitamos los controles
	Data.EnableControls;
  end;
end;
end.
He tenido que quitar las etiquetas Delphi, ya q se veía destrozado el texto. Ahora el método para llamar a esta unidad y generar la salida pre_impresa:
Código Delphi [-]
procedure TMainForm.SpeedButton2Click(Sender: TObject);
var
  Str: THtmlStrings;
begin
  SaveDialog1.FileName := ChangeFileExt (
    Table1.TableName, '.htm');
  if SaveDialog1.Execute then
  begin
    Str := THtmlStrings.Create;
    try
      Str.AddHeader (Caption);
      Str.OutputTable (Table1);
      Str.AddFooter;
      Str.SaveToFile (SaveDialog1.Filename);
      if CheckBox1.Checked then
        ShellExecute (Handle, 'open',
          PChar (SaveDialog1.FileName),
          '', '', sw_ShowNormal);
    finally
      Str.Free;
    end;
  end;
end;
Enseguida entenderas como funciona y es un método perfectamente extensible. He generado Facturación y más listados a PRN matricial, y va estupendo. Además no tienes ningún problema con las imágenes gif o JPG.
Tambien estan los comonentes para listados de HTMLreport. La versión de prueba no tiene limitación de uso, solo firma el documento de salida. Hace lo mismo de otra manera. Su sitio es http://www.htmlreport.com pero parece colgada.
Espero q te sirva.
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


La franja horaria es GMT +2. Ahora son las 17:24:50.


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