Ver Mensaje Individual
  #2  
Antiguo 08-06-2010
Avatar de afunez2007
afunez2007 afunez2007 is offline
Miembro
 
Registrado: oct 2007
Ubicación: La Ceiba, Honduras
Posts: 170
Reputación: 17
afunez2007 Va por buen camino
Lightbulb

Yo hace un tiempo hice una aplicacion que tenia un pageframe que capturaba varias fotos correspondientes a un vehiculo que entraba a reparacion en un taller, el codigo que usaba era el siguiente:
Este es para guardar la foto en la base de datos:
Código Delphi [-]
procedure TFotosxEquipo.BitBtn1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
  begin
    if table1.RecordCount=0 then begin
      dbedit1.Text:=REPARA.HOJA.Text;
      q1.sql.Text:=('insert into FOTOSXREPFB01 (CVE_DOC,'+FOTOS.ActivePage.Caption+') values (:CVE_DOC,agina)');
      q1.parambyname('CVE_DOC').AsString:= REPARA.HOJA.Text;
      q1.parambyname('pagina').LoadFromFile(OpenPictureDialog1.filename,ftGraphic       );
      q1.execsql;
      FotosxEquipo.Database1.Commit;
      Table1.Active:=false;
      Table1.Filtered:= FALSE;
      Table1.Filter:='CVE_DOC='+QuotedSTR(REPARA.HOJA.Text);
      Table1.Filtered:= True;
      Table1.Active:=true;
     end else begin
      q1.sql.text:=('update FOTOSXREPFB01 set '+FOTOS.ActivePage.Caption+'=agina where CVE_DOC=:CVE_DOC');
      q1.parambyname('CVE_DOC').AsString:= table1.fieldbyname('CVE_DOC').Text;
      q1.parambyname('pagina').LoadFromFile(OpenPictureDialog1.filename,ftGraphic       );
      q1.execsql;
      FotosxEquipo.Database1.Commit;
      Table1.Active:=false;
      Table1.Filtered:= FALSE;
      Table1.Filter:='CVE_DOC='+QuotedSTR(REPARA.HOJA.Text);
      Table1.Filtered:= True;
      Table1.Active:=true;
     end;
  end;
end;

Y este es para guardarla como archivo luego que ya habia sido guardada en la base y por ejemplo requiero guardarla en jpg para enviarla por email:
Código Delphi [-]
procedure TFotosxEquipo.BitBtn2Click(Sender: TObject);
var
  jp: TJPEGImage;  //Requires the "jpeg" unit added to "uses" clause.
begin
  jp := TJPEGImage.Create;
  try
    with jp do
    begin
      jp.LoadFromStream(Table1.CreateBlobStream(table1.FieldByName(FOTOS.ActivePage.Caption),bmread));
      SaveToFile(ExtractFilePath(Application.ExeName)+FOTOS.ActivePage.Caption+'.jpg');
      Messagedlg('Imagen Guardada en:'+#13+ExtractFilePath(Application.ExeName)+FOTOS.ActivePage.Caption+'.jpg',mtWarning, [mbok],1);
    end;
  finally
    jp.Free;
  end;
end;

Y este ultimo sirve para imprimirla a traves de un quick report:
Código Delphi [-]
procedure TFotosxEquipo.BitBtn3Click(Sender: TObject);
var cved:string;
    jp: TJPEGImage;  //Requires the "jpeg" unit added to "uses" clause.
begin
  jp := TJPEGImage.Create;
  try
    with jp do
    begin
      jp.LoadFromStream(Table1.CreateBlobStream(table1.FieldByName(FOTOS.ActivePage.Caption),bmread));
      SaveToFile(ExtractFilePath(Application.ExeName)+FOTOS.ActivePage.Caption+'.jpg');
      //Messagedlg('Imagen Guardada en:'+#13+ExtractFilePath(Application.ExeName)+FOTOS.ActivePage.Caption+'.jpg',mtWarning, [mbok],1);
    end;
  finally
    jp.Free;
  end;
rptImpFoto := TrptImpFoto.Create(Application);
  Try
  cved:=DBEdit1.Text;
  rptImpFoto.Query1.Active:=false;
  rptImpFoto.Query2.Active:=false;
  rptImpFoto.Query1.ParamByName('initialcod').Text:=cved;
  rptImpFoto.Query2.ParamByName('initialcod').Text:=cved;
  rptImpFoto.QRLabel5.Caption:=FOTOS.ActivePage.Caption;
  rptImpFoto.QRImage1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+FOTOS.ActivePage.Capti  on+'.jpg');
  //rptImpFoto.QRDBImage1.DataField:=FOTOS.ActivePage.Caption;
  rptImpFoto.Query1.Active:=true;
  rptImpFoto.Query2.Active:=true;
  rptImpFoto.QuickRep1.previewmodal;
  Finally
  rptImpFoto.Release;
  End;
end;

Espero estas ideas te sirvan para resolver tu situacion

Saludos
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!!
Responder Con Cita