![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#14
|
|||
|
|||
|
gracias a todos por sus comentarios
lo soluciones con este codigo ![]() unit Unit1; { Copyright (c) 2001 Ernesto De Spirito Latium Software http://www.latiumsoftware.com/ Email: [email protected] This example requires the BDE. Este ejemplo requiere de la BDE. } interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Db, DBTables, Grids, DBGrids, jpeg, ExtCtrls, DBCtrls, Menus, ExtDlgs; type TForm1 = class(TForm) Image1: TImage; DataSource1: TDataSource; Table1: TTable; dlgOpenPicture: TOpenPictureDialog; PopupMenu1: TPopupMenu; mnuLoad: TMenuItem; DBNavigator1: TDBNavigator; mnuClear: TMenuItem; Table1FOTO: TBlobField; procedure Table1AfterScroll(DataSet: TDataSet); procedure mnuLoadClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure mnuClearClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; type TGraphType = (gtBitmap, gtIcon, gtMetafile, gtJpeg); implementation {$R *.DFM} // ===================================================================== procedure TForm1.Table1AfterScroll(DataSet: TDataSet); var Stream: TMemoryStream; Jpg: TJpegImage; GraphType: TGraphType; begin Jpg := nil; Stream := nil; try Stream := TMemoryStream.Create; TBlobField(Table1.FieldByName('foto')).SaveToStream(Stream); if Stream.Size > 0 then begin Stream.Position := 0; Stream.Read(GraphType, 1); case GraphType of gtBitmap: Image1.Picture.Bitmap.LoadFromStream(Stream); gtIcon: Image1.Picture.Icon.LoadFromStream(Stream); gtMetafile: Image1.Picture.Metafile.LoadFromStream(Stream); gtJpeg: begin Jpg := TJpegImage.Create; Jpg.LoadFromStream(Stream); Image1.Picture.Assign(Jpg); end else Image1.Picture.Assign(nil); end; end else Image1.Picture.Assign(nil); except Image1.Picture.Assign(nil); end; jpg.Free; Stream.Free; end; // ===================================================================== procedure TForm1.mnuLoadClick(Sender: TObject); var Jpg: TJpegImage; Stream: TMemoryStream; FileExt: string; GraphType: TGraphType; begin if dlgOpenPicture.Execute then begin Jpg := nil; Stream := nil; try Stream := TMemoryStream.Create; FileExt := LowerCase(ExtractFileExt(dlgOpenPicture.FileName)); if (FileExt = '.bmp') or (FileExt = '.dib') then begin GraphType := gtBitmap; Stream.Write(GraphType, 1); with Image1.Picture.Bitmap do begin LoadFromFile(dlgOpenPicture.FileName); Image1.Picture.Bitmap.SaveToStream(Stream); end; end else if (FileExt = '.ico') then begin GraphType := gtIcon; Stream.Write(GraphType, 1); with Image1.Picture.Icon do begin LoadFromFile(dlgOpenPicture.FileName); Image1.Picture.Bitmap.SaveToStream(Stream); end; end else if (FileExt = '.emf') or (FileExt = '.wmf') then begin GraphType := gtMetafile; Stream.Write(GraphType, 1); with Image1.Picture.Metafile do begin LoadFromFile(dlgOpenPicture.FileName); Image1.Picture.Bitmap.SaveToStream(Stream); end; end else if (FileExt = '.jpg') or (FileExt = '.jpeg') or (FileExt = '.jpe') then begin Jpg := TJpegImage.Create; Jpg.LoadFromFile(dlgOpenPicture.FileName); Image1.Picture.Assign(Jpg); GraphType := gtJpeg; Stream.Write(GraphType, 1); Jpg.SaveToStream(Stream); end; if (Table1.State <> dsEdit) and (Table1.State <> dsInsert) then Table1.Edit; Stream.Position := 0; TBlobField(Table1.FieldByName('foto')).LoadFromStream(Stream); except jpg.Free; Stream.Free; raise; end; jpg.Free; Stream.Free; end; end; procedure TForm1.FormCreate(Sender: TObject); begin if Not FileExists('GraphTest.DB') then Table1.CreateTable; Table1.Open; end; procedure TForm1.mnuClearClick(Sender: TObject); begin Image1.Picture.Assign(nil); if (Table1.State <> dsEdit) and (Table1.State <> dsInsert) then Table1.Edit; Table1.FieldByName('foto').Assign(nil); end; end. Gracias a spitito por compartir este codigo es mejor gusrdar la informacion en una BD que fuera de ella, nsi no para que fueron creas |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|