Последняя версия DataExpress 3 beta от 31 января 2019 года. Скачать. Энциклопедия DX. Форум на develop-soft.

Импорт фоток в базу клиентов

Вопросы, связанные с конструктором приложений баз данных DataExpress.
imantur06
Новичок
Сообщения: 21
Зарегистрирован: Ср июл 04, 2018 12:18 pm

Импорт фоток в базу клиентов

Сообщение imantur06 » Ср июл 11, 2018 12:02 pm

есть база клиентов, ИД, Код клиента, ФИО, ....., есть еще на форме поле изображение, чтобы была фотка клиента. Базу наполнили, а фотки не вставляли. Есть ли возможность автоматом подгрузить фотки, если имена файлов сделать в формате "Код клиента.jpg"?

Аватара пользователя
admin
Разработчик
Сообщения: 4127
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Импорт фоток в базу клиентов

Сообщение admin » Ср июл 11, 2018 12:09 pm

Скриптом можно. Примерно так:

Код: Выделить всё

Self.DisableControls;
Self.MoveFirst;
while not Self.Eof do
begin
   Self.Edit;
   dxDBImage1.LoadFromFile('...');
   Self.Post;
   Self.MoveNext;
end;
Self.EnableControls;

Аватара пользователя
Гocть
Эксперт
Сообщения: 1424
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Импорт фоток в базу клиентов

Сообщение Гocть » Ср июл 11, 2018 3:03 pm

Риторический вопрос: а это действительно "проще"? переименовать все фото вручную в нужный код клиента чтобы потом залить в базу, чем выполнить ту же самую операцию но через "парадный вход" из самой записи?
Фрилансер. Разработка на заказ. Консультирование.

imantur06
Новичок
Сообщения: 21
Зарегистрирован: Ср июл 04, 2018 12:18 pm

Re: Импорт фоток в базу клиентов

Сообщение imantur06 » Ср июл 11, 2018 6:57 pm

Гocть писал(а):Риторический вопрос: а это действительно "проще"? переименовать все фото вручную в нужный код клиента чтобы потом залить в базу, чем выполнить ту же самую операцию но через "парадный вход" из самой записи?

просто при сканировании, им присваивали код клиента.

imantur06
Новичок
Сообщения: 21
Зарегистрирован: Ср июл 04, 2018 12:18 pm

Re: Импорт фоток в базу клиентов

Сообщение imantur06 » Ср июл 11, 2018 7:18 pm

admin писал(а):Скриптом можно. Примерно так:

Код: Выделить всё

Self.DisableControls;
Self.MoveFirst;
while not Self.Eof do
begin
   Self.Edit;
   dxDBImage1.LoadFromFile('...');
   Self.Post;
   Self.MoveNext;
end;
Self.EnableControls;

Не получается
Посмотрите базу
Вот так стоят фотки
Clipboard01.jpg
Clipboard01.jpg (22.03 КБ) 273 просмотра

вот так выглядит база
Clipboard02.jpg
Clipboard02.jpg (71.25 КБ) 273 просмотра
Вложения
Фото.zip
(2.02 КБ) 12 скачиваний

Аватара пользователя
admin
Разработчик
Сообщения: 4127
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Импорт фоток в базу клиентов

Сообщение admin » Ср июл 11, 2018 7:30 pm

Это что?

Код: Выделить всё

...
dxDBImage1.LoadFromFile('C:\2018\Фото\Х2018\Фотки\33333\11\'+'ggg1');
...

Вам просто надо правильно составить путь к файлу. Фотки в одной папке? Тогда так примерно:

Код: Выделить всё

dxDBImage1.LoadFromFile('C:\2018\Фото\Х2018\Фотки\33333\11\'+Self.AsS['Код'] + '.jpg');

Аватара пользователя
Гocть
Эксперт
Сообщения: 1424
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Импорт фоток в базу клиентов

Сообщение Гocть » Ср июл 11, 2018 7:55 pm

Код: Выделить всё

procedure Foto1(Sender:TObject);
begin
Self.DisableControls;
Self.MoveFirst;
while not Self.Eof do
begin
   
   if (FileExists('C:\2018\Фото\Х2018\Фотки\33333\11\'+Self.AsS['Код'] + '.jpg')) and
     (dxDBImage1.SourceFileName='')   then
     begin
      Self.Edit;
       dxDBImage1.LoadFromFile('C:\2018\Фото\Х2018\Фотки\33333\11\'+Self.AsS['Код'] + '.jpg');
       Self.Post;
     end;
   Self.MoveNext;
end;
Self.EnableControls;
end;

procedure Form_Create;
begin
  dxButton1.OnClick:=@Foto1;
end;               

Сканировать новое в дальнейшем можно через модуль.
Фрилансер. Разработка на заказ. Консультирование.

imantur06
Новичок
Сообщения: 21
Зарегистрирован: Ср июл 04, 2018 12:18 pm

Re: Импорт фоток в базу клиентов

Сообщение imantur06 » Ср июл 11, 2018 9:16 pm

Спасибо большое!!!! С первого раза все работает, но если еще раз запустить то зависает.
Подскажите, где можно прочитать про все эти команды Self, loadfromfile и т.д. Никак не могу получить в скрипте текстовое значение числа, пробовал STR, CSTR всякие варианты ни что не подходит. Пытаюсь перевести русские буквы в латиницу, не видит русские, только латиница видна. MsgBox пишет каракули вместо русских букв. ит.д. Где почитать не знаю, подскажите где можно почитать развернуто, а не вкратце и наполовину.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1424
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Импорт фоток в базу клиентов

Сообщение Гocть » Ср июл 11, 2018 9:27 pm

imantur06 писал(а):но если еще раз запустить то зависает.
Проверьте код. Я пост редактировал позже.

imantur06 писал(а):Никак не могу получить в скрипте текстовое значение числа

IntToStr('n');

imantur06 писал(а):Пытаюсь перевести русские буквы в латиницу, не видит русские, только латиница видна.
WinCpToUtf8('текст');
Utf8ToWinCp('текст');

imantur06 писал(а):Где почитать не знаю, подскажите где можно почитать развернуто, а не вкратце и наполовину.
Читайте форум, смотрите примеры, юзайте встроенную справку и прочие пункты меню "помощь", гуглите.
Фрилансер. Разработка на заказ. Консультирование.

imantur06
Новичок
Сообщения: 21
Зарегистрирован: Ср июл 04, 2018 12:18 pm

Re: Импорт фоток в базу клиентов

Сообщение imantur06 » Чт июл 12, 2018 12:15 pm

Спасибо большое! Я так и делаю юзаю), но ни одного слова во встроенной про вот эти команды нет. Я имел ввиду может есть хороший ресурс или книга?