IMAGE-BLOB-IMAGE...

ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

IMAGE-BLOB-IMAGE...

Сообщение Дед Пахом »

только вычесть 1 не забудь:
blob[0 : len(clip(grp:string)) - 1] = grp:string
С уважением, ДП
Аватара пользователя
Aragorn
Активист
Сообщения: 113
Зарегистрирован: 11 Июль 2005, 12:40
Откуда: Москва

IMAGE-BLOB-IMAGE...

Сообщение Aragorn »

Ну в общем почти получилось. Ключевое слово - ПОЧТИ. Ибо, как примерно говорится в авиации, почти (чуть-чуть то есть) не считается. И это самое западло!!! Сделал вот что:

FTPS:Image{prop:size} = 0
FTPS:Image{prop:size} = FADO:ISize !в sql-таблице хранится исходный размер изображения
FTPS:Image[0 : Size(Clip(FADO:Image)) - 1] = FADO:Image[1 : Len(Clip(FADO:Image))]
BlobToFile(FTPS:Image, 'c:\img.jpg')

Итог - в c:\img.jpg выгружается исходное изображение, за исключением того, что начало файла отличается от исходного, примерно первые 8 символов, туда при каждом перезапуске приложения пишется что попало, каждый раз разное. Видимо, как по памяти ляжет. И как с этим бороться? Уже ведь почти получилось, но эти первые байты просто бесят, портят все труды!!!
-------------------------------
В истинном золоте блеска нет...
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

IMAGE-BLOB-IMAGE...

Сообщение gopstop2007 »

может укажите формат ?Image{Prop:PrintMode}= ???
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Aragorn
Активист
Сообщения: 113
Зарегистрирован: 11 Июль 2005, 12:40
Откуда: Москва

IMAGE-BLOB-IMAGE...

Сообщение Aragorn »

У меня не экранные переменные. Обрабатываются табличные данные...
-------------------------------
В истинном золоте блеска нет...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7328
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

IMAGE-BLOB-IMAGE...

Сообщение Игорь Столяров »

Aragorn писал(а): пишется что попало, каждый раз разное. Видимо, как по памяти ляжет.
Наверно эти байты - что то описывают в структуре хранения исходного изображения.
Попробуй записать в поле картинки какой-нибудь текст "1234567890" и выгрузить в файл. Если первые 8 байт явно служебные -
просто обрежь их: FTPS:Image[0 : Size(Clip(FADO:Image)) - 9] = FADO:Image[9 : Len(Clip(FADO:Image))]
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Aragorn
Активист
Сообщения: 113
Зарегистрирован: 11 Июль 2005, 12:40
Откуда: Москва

IMAGE-BLOB-IMAGE...

Сообщение Aragorn »

Увы, в исходной картинке эти первые байты как раз присутствуют, но другие. То есть если сравнить два файла (исходный и выгруженный), то у них ВСЕ одинаковое, за исключением начала - там в выгруженной картинке правильная информация замещается какой-то на первый взгляд случайной комбинацией...
-------------------------------
В истинном золоте блеска нет...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7328
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

IMAGE-BLOB-IMAGE...

Сообщение Игорь Столяров »

Мистика. Ну попробуй записать строку FADO:Image[1 : Len(Clip(FADO:Image))] напрямую в DOS файл, без работы с BLOB.
За теми кто отстал - не возвращаться. (С) Кодекс
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

IMAGE-BLOB-IMAGE...

Сообщение Алексей- Софт-Центр »

Добрый день!

В качестве "бреда". А может там все же csting?


Алексей
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

IMAGE-BLOB-IMAGE...

Сообщение Yufil »

1. Если Prop:PrintMode = 2, в блоб пишется сам файл. И не стоит возиться с Prop:Image.
Загрузил файл и переписал в блоб, без отображения.

2. Байты блоба нумеруются с 0, поэтому
blob{Prop:Printmode} = 3
blob{Prop:Size} = Len(ImageString)
blob[ 0 : Len(ImageString)-1] = ImageString

3. Класс Cstr отлично выполняет нужные манипуляции. См. сообщение от 25 апреля
https://mega.co.nz/#!RlAilJIT!2hvwWBkAn ... J3FmCLcmvw
Ответить