|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Загрузка картинки в программу
Всем привет, вопрос следующий создаю программу с бд в которой хранятся все сотрудники работающие на предприятии и хочу добавить возможность просмотра фотографии, т.е. выводится вся информация по сотруднику и его фотка, нажимаешь далее выводится информация по следующему сотруднику и тоже его фотка. Подскажите как это дело можно реализовать в програме?
|
#2
|
|||
|
|||
В Дельфи идет папочка Demos. Смотри пример там (про рыб).
|
#3
|
|||
|
|||
незнал что так много примеров еще есть... но про рыбок что то не нашел можешь выложить?
|
#4
|
|||
|
|||
поторопился с ответом, нашел но непойму как в саму базу внести изображение нужно paradox ставить? и можно ли добавить возможность - если у сотрудника нет фото мы можем через программу ее загрузить в базу?
Последний раз редактировалось windaws, 28.08.2009 в 17:12. |
#5
|
|||
|
|||
парадокс это и есть база, возможность добавить можно, проверишь условием если ли фото, и дальше уже от ответа определиш свои действия
|
#6
|
|||
|
|||
Цитата:
|
#7
|
||||
|
||||
У меня встречные вопросы.
1.С какой БД вы работаете? 2.Как у вас реализовано редактирование карточки сотрудника. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#8
|
|||
|
|||
Цитата:
После запуска программы информация доступна только для просмотра, есть кнопочка редактирование, если что то исправить нужно нажимаем, исправляем и нажимаем на кнопку сохранить. Последний раз редактировалось windaws, 30.08.2009 в 14:10. |
#9
|
||||
|
||||
Ну вот вам примерчик:
Код:
unit uPhotoDemo; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBClient, ExtDlgs, StdCtrls, Mask, DBCtrls, Grids, DBGrids; type TForm1 = class(TForm) tblCustomer: TClientDataSet; tblCustomerID: TAutoIncField; tblCustomerFIO: TStringField; tblCustomerPhoto: TBlobField; DBGrid: TDBGrid; edPicture: TDBImage; edFIO: TDBEdit; btnLoad: TButton; dsCustomer: TDataSource; OpenPictureDialog: TOpenPictureDialog; procedure btnLoadClick(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btnLoadClick(Sender: TObject); begin if not OpenPictureDialog.Execute then Exit; tblCustomer.Edit; TBlobField(tblCustomer.FieldByName('Photo')).LoadFromFile(OpenPictureDialog.FileName); tblCustomer.Post; end; end. Код:
object Form1: TForm1 Left = 265 Top = 128 Width = 505 Height = 235 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object DBGrid: TDBGrid Left = 8 Top = 32 Width = 337 Height = 161 DataSource = dsCustomer TabOrder = 0 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText TitleFont.Height = -11 TitleFont.Name = 'Tahoma' TitleFont.Style = [] Columns = < item Expanded = False FieldName = 'ID' Width = 26 Visible = True end item Expanded = False FieldName = 'FIO' Width = 237 Visible = True end item Expanded = False FieldName = 'Photo' Width = 55 Visible = True end> end object edPicture: TDBImage Left = 352 Top = 8 Width = 137 Height = 153 DataField = 'Photo' DataSource = dsCustomer Stretch = True TabOrder = 1 end object edFIO: TDBEdit Left = 8 Top = 8 Width = 337 Height = 21 DataField = 'FIO' DataSource = dsCustomer TabOrder = 2 end object btnLoad: TButton Left = 376 Top = 168 Width = 97 Height = 25 Caption = 'Загрузить...' TabOrder = 3 OnClick = btnLoadClick end object tblCustomer: TClientDataSet Active = True Aggregates = <> Params = <> Left = 200 Top = 56 Data = { 8B0000009619E0BD0100000018000000030000000000030000008B0002494404 0001000000010007535542545950450200490008004175746F696E6300034649 4F01004900000001000557494454480200020032000550686F746F04004B0000 000100075355425459504502004900070042696E6172790001000C4155544F49 4E4356414C55450400010001000000} object tblCustomerID: TAutoIncField FieldName = 'ID' end object tblCustomerFIO: TStringField FieldName = 'FIO' Size = 50 end object tblCustomerPhoto: TBlobField FieldName = 'Photo' end end object dsCustomer: TDataSource DataSet = tblCustomer Left = 232 Top = 56 end object OpenPictureDialog: TOpenPictureDialog Left = 408 Top = 56 end end Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#10
|
|||
|
|||
Все работает спасибо большое!
|
#11
|
|||
|
|||
Еще 1 вопросик ! Нужно ту же самую операцию проделать только через ADO впринципе как я понял делается точно также , но у меня таблицы находятся отдельно в модуле данных а не на форме. Пытаюсь делать так :
if not OpenPictureDialog1.Execute then Exit; main_module.sotrudnik.Edit; main_module.SotrudnikDSDesigner4(main_module.sotru dnik.FieldByName('Photo')). LoadFromFile(OpenPictureDialog1.FileName); main_module.sotrudnik.Post; где SotrudnikDSDesigner4 - это Tblobfield, выдает ошибку Missing operator or semicolon. Подскажи пожалуйста |
#12
|
|||
|
|||
Цитата:
Извиняюсь только написал уже сам решение нашел нужно было записать так: main_module.SotrudnikDSDesigner4.LoadFromFile(Open PictureDialog1.FileName); можно ли добавить вохможность добавления jpg файлов? Последний раз редактировалось windaws, 02.09.2009 в 19:50. |
#13
|
||||
|
||||
No comments
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#14
|
|||
|
|||
Цитата:
можно, но показывать их придется "вручную". У меня в свое время так и не получилось заставить стандартный TDBImage показывать отличные от bmp форматы. Хотя я и не очень долго с этим мучался, т.к. потом заказчик сказал "хочу TIFF". |
#15
|
||||
|
||||
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |