Последняя версия DataExpress 3 beta от 2 ноября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

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

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

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

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

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

Аватара пользователя
admin
Разработчик
Сообщения: 3873
Зарегистрирован: Пн мар 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ть
Эксперт
Сообщения: 1210
Зарегистрирован: Пн ноя 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 КБ) 175 просмотров

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

Аватара пользователя
admin
Разработчик
Сообщения: 3873
Зарегистрирован: Пн мар 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ть
Эксперт
Сообщения: 1210
Зарегистрирован: Пн ноя 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ть
Эксперт
Сообщения: 1210
Зарегистрирован: Пн ноя 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

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