Страница 2 из 2

IMAGE-BLOB-IMAGE...

Добавлено: 28 Апрель 2015, 0:37
Дед Пахом
только вычесть 1 не забудь:
blob[0 : len(clip(grp:string)) - 1] = grp:string

IMAGE-BLOB-IMAGE...

Добавлено: 28 Апрель 2015, 23:08
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 символов, туда при каждом перезапуске приложения пишется что попало, каждый раз разное. Видимо, как по памяти ляжет. И как с этим бороться? Уже ведь почти получилось, но эти первые байты просто бесят, портят все труды!!!

IMAGE-BLOB-IMAGE...

Добавлено: 29 Апрель 2015, 0:02
gopstop2007
может укажите формат ?Image{Prop:PrintMode}= ???

IMAGE-BLOB-IMAGE...

Добавлено: 29 Апрель 2015, 0:15
Aragorn
У меня не экранные переменные. Обрабатываются табличные данные...

IMAGE-BLOB-IMAGE...

Добавлено: 29 Апрель 2015, 6:31
Игорь Столяров
Aragorn писал(а): пишется что попало, каждый раз разное. Видимо, как по памяти ляжет.
Наверно эти байты - что то описывают в структуре хранения исходного изображения.
Попробуй записать в поле картинки какой-нибудь текст "1234567890" и выгрузить в файл. Если первые 8 байт явно служебные -
просто обрежь их: FTPS:Image[0 : Size(Clip(FADO:Image)) - 9] = FADO:Image[9 : Len(Clip(FADO:Image))]

IMAGE-BLOB-IMAGE...

Добавлено: 29 Апрель 2015, 10:03
Aragorn
Увы, в исходной картинке эти первые байты как раз присутствуют, но другие. То есть если сравнить два файла (исходный и выгруженный), то у них ВСЕ одинаковое, за исключением начала - там в выгруженной картинке правильная информация замещается какой-то на первый взгляд случайной комбинацией...

IMAGE-BLOB-IMAGE...

Добавлено: 29 Апрель 2015, 10:08
Игорь Столяров
Мистика. Ну попробуй записать строку FADO:Image[1 : Len(Clip(FADO:Image))] напрямую в DOS файл, без работы с BLOB.

IMAGE-BLOB-IMAGE...

Добавлено: 29 Апрель 2015, 12:04
Алексей- Софт-Центр
Добрый день!

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


Алексей

IMAGE-BLOB-IMAGE...

Добавлено: 29 Апрель 2015, 16:47
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