Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.08.2009, 15:17
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию Загрузка картинки в программу

Всем привет, вопрос следующий создаю программу с бд в которой хранятся все сотрудники работающие на предприятии и хочу добавить возможность просмотра фотографии, т.е. выводится вся информация по сотруднику и его фотка, нажимаешь далее выводится информация по следующему сотруднику и тоже его фотка. Подскажите как это дело можно реализовать в програме?
Ответить с цитированием
  #2  
Старый 28.08.2009, 15:18
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В Дельфи идет папочка Demos. Смотри пример там (про рыб).
Ответить с цитированием
  #3  
Старый 28.08.2009, 16:44
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

незнал что так много примеров еще есть... но про рыбок что то не нашел можешь выложить?
Ответить с цитированием
  #4  
Старый 28.08.2009, 17:03
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

поторопился с ответом, нашел но непойму как в саму базу внести изображение нужно paradox ставить? и можно ли добавить возможность - если у сотрудника нет фото мы можем через программу ее загрузить в базу?

Последний раз редактировалось windaws, 28.08.2009 в 17:12.
Ответить с цитированием
  #5  
Старый 29.08.2009, 14:19
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

парадокс это и есть база, возможность добавить можно, проверишь условием если ли фото, и дальше уже от ответа определиш свои действия
Ответить с цитированием
  #6  
Старый 29.08.2009, 15:42
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

Цитата:
Сообщение от ApxaHGe1
парадокс это и есть база, возможность добавить можно, проверишь условием если ли фото, и дальше уже от ответа определиш свои действия
никак не могу понять каким образом добавить фотку в базу, в самой делфи через database explorer? вижу там поле для фото тип графический поставил но как вставить не пойму
Ответить с цитированием
  #7  
Старый 29.08.2009, 16:36
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

У меня встречные вопросы.
1.С какой БД вы работаете?
2.Как у вас реализовано редактирование карточки сотрудника.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 30.08.2009, 14:07
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
У меня встречные вопросы.
1.С какой БД вы работаете?
2.Как у вас реализовано редактирование карточки сотрудника.
Все довольно просто реализовано локальная БД, использую парадокс, доступ к данным через bde создал 1 таблицу "сотрудник" в которой и хранится вся информация по сотрудникам, в таблице следующие поля - фио, дата рождения номер паспорта..... и также присутствует графическое поле для фото.
После запуска программы информация доступна только для просмотра, есть кнопочка редактирование, если что то исправить нужно нажимаем, исправляем и нажимаем на кнопку сохранить.

Последний раз редактировалось windaws, 30.08.2009 в 14:10.
Ответить с цитированием
  #9  
Старый 30.08.2009, 17:19
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну вот вам примерчик:
Код:
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.
и DFM-файл
Код:
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  
Старый 01.09.2009, 21:58
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

Все работает спасибо большое!
Ответить с цитированием
  #11  
Старый 02.09.2009, 19:36
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

Еще 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  
Старый 02.09.2009, 19:41
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

Цитата:
Сообщение от windaws
Еще 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. Подскажи пожалуйста

Извиняюсь только написал уже сам решение нашел нужно было записать так:
main_module.SotrudnikDSDesigner4.LoadFromFile(Open PictureDialog1.FileName);

можно ли добавить вохможность добавления jpg файлов?

Последний раз редактировалось windaws, 02.09.2009 в 19:50.
Ответить с цитированием
  #13  
Старый 02.09.2009, 19:46
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

No comments
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #14  
Старый 02.09.2009, 23:54
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от windaws
можно ли добавить вохможность добавления jpg файлов?

можно, но показывать их придется "вручную". У меня в свое время так и не получилось заставить стандартный TDBImage показывать отличные от bmp форматы. Хотя я и не очень долго с этим мучался, т.к. потом заказчик сказал "хочу TIFF".
Ответить с цитированием
  #15  
Старый 03.09.2009, 00:48
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Цитата:
Сообщение от windaws
можно ли добавить возможность добавления jpg файлов?
Можно, достаточно в разделе юнитов подключить модуль JPEG и будут *.jpg обрабатываться.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:10.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter