![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Всем привет, вопрос следующий создаю программу с бд в которой хранятся все сотрудники работающие на предприятии и хочу добавить возможность просмотра фотографии, т.е. выводится вся информация по сотруднику и его фотка, нажимаешь далее выводится информация по следующему сотруднику и тоже его фотка. Подскажите как это дело можно реализовать в програме?
|
|
#2
|
|||
|
|||
|
В Дельфи идет папочка Demos. Смотри пример там (про рыб).
|
|
#3
|
|||
|
|||
|
незнал что так много примеров еще есть...
но про рыбок что то не нашел можешь выложить? |
|
#4
|
|||
|
|||
|
поторопился с ответом, нашел
но непойму как в саму базу внести изображение нужно paradox ставить? и можно ли добавить возможность - если у сотрудника нет фото мы можем через программу ее загрузить в базу?Последний раз редактировалось windaws, 28.08.2009 в 17:12. |
|
#5
|
|||
|
|||
|
парадокс это и есть база, возможность добавить можно, проверишь условием если ли фото, и дальше уже от ответа определиш свои действия
|
|
#6
|
|||
|
|||
|
Цитата:
![]() |
|
#7
|
||||
|
||||
|
У меня встречные вопросы.
1.С какой БД вы работаете? 2.Как у вас реализовано редактирование карточки сотрудника. |
|
#8
|
|||
|
|||
|
Цитата:
локальная БД, использую парадокс, доступ к данным через bde создал 1 таблицу "сотрудник" в которой и хранится вся информация по сотрудникам, в таблице следующие поля - фио, дата рождения номер паспорта..... и также присутствует графическое поле для фото.После запуска программы информация доступна только для просмотра, есть кнопочка редактирование, если что то исправить нужно нажимаем, исправляем и нажимаем на кнопку сохранить. ![]() Последний раз редактировалось 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
|
||||
|
||||
|
Цитата:
|