Запись мемо поля в Галактику

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
pavel_rts
Постоянный гость
Сообщения: 55
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва ЗАО "Рантайм Системс"
Контактная информация:

Запись мемо поля в Галактику

Сообщение pavel_rts »

Что лучше использовать для записи мемо поля Галактику??? Фокус с ImportFileToMemo (Table.MemoName, FileName, true) не проходит.
.`)
Galpro_
Посетитель
Сообщения: 38
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Запись мемо поля в Галактику

Сообщение Galpro_ »

А MyMemo.WriteLn(ххххххххх);
не подходит?
У меня ImportFileToMemo тоже не работает.

============prim code================
if ( inStr('FROM:',TekStr)>0 ) { FROM := trim(replace(TekStr,'FROM:','')) }
if ( inStr('BODYLENGTH:',TekStr)>0 ) { BODYLENGTH := trim(replace(TekStr,'BODYLENGTH:','')) }
if ( inStr('BODYTYPE:',TekStr)>0 ) { BODYTYPE := trim(replace(TekStr,'BODYTYPE:','')) }
if ( inStr('BODY:',TekStr)>0 )
{
IsBody:= True; //все поля считали создаем документ
if((Insert TABLEDOC set
TABLEDOC.DocName := UNIVERSALID,
TABLEDOC.DocDate := Cur_Date,
TABLEDOC.DocTime := Cur_Time,
TABLEDOC.TypeCode := FORMTYPE,
TABLEDOC.code := NOTEID,
TABLEDOC.Primech0 := CREATED,
TABLEDOC.Primech1 := LASTACCESSED,
TABLEDOC.Primech2 := Ansi2Oem(SUBJECT), //41 СИМВОЛ
TABLEDOC.FILENAME := Ansi2Oem(SUBJECT), //101 СИМВОЛ
TABLEDOC.CINTCODESOST := ReVidDoc, //Viddoc-Системный вид документа на который ответ
TABLEDOC.CTABLEDOC := ReNrecDoc, //Nrec-Nrec документа на который ответ
TABLEDOC.Primech3 := Ansi2Oem(FROM),
TABLEDOC.Primech4 := BODYLENGTH,
TABLEDOC.Primech5 := BODYTYPE,
TABLEDOC.Primech6 := Substr(SUBJECT,Poz1+2,3) ,
TABLEDOC.cIntCodeSost := ISDELETED
)=tsOk)
if(( Insert DOCCONT set DOCCONT.CTABLEDOC := TABLEDOC.nrec )= tsOk)
if (MyMemo.OpenMemo(DOCCONT.DOCDATA))
{
IsOpenMemo := True;
MyMemo.Seek(0);
! MyMemo.WriteLn(CREATED);
}

}
}
else
{
// если поле текта документа то все строки далее загоняем в мемополе! ИТ ПАРК itpark.ru
If IsOpenMemo MyMemo.WriteLn(Ansi2Oem(TekStr));
}
pavel_rts
Постоянный гость
Сообщения: 55
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва ЗАО "Рантайм Системс"
Контактная информация:

Re: Запись мемо поля в Галактику

Сообщение pavel_rts »

To GalPro
MyMemo.WriteLn(ххххххххх);
Это мы загоняем мемо в память, а как мемо записать в БД Галактики, например в ALLMEMO.MEM .`)
AtlantG
Сообщения: 15
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Запись мемо поля в Галактику

Сообщение AtlantG »

вероятно Вы не поняли:
сначала объявляем как
File MyMemo;
далее
открываем наше мемо для записи
if (MyMemo.OpenMemo(ALLMEMO.MEM))
{
IsOpenMemo := True;
}
далее пишем и закрываем.
Апдейтим таблицу и усе ;)

"Это мы загоняем мемо в память"
;)
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Запись мемо поля в Галактику

Сообщение Maverick »

Если стандартный ImportFileToMemo не проходит, следовательно и построчная запись не прокатит... видимо файл слишком большой - см. ограничение на хранение данных в мемополях.
тем более для бинарников построчное чтение/запись однозначно не пойдет.
рекомендую все-таки разобратьс, почему у вас не работает ImportFileToMemo.
Я например этой функцией без проблем храню в мемополях RTF и PDF файлы...
кроме того, если файлы слишком большие я их автоматически пакую и только потом пишу в мемо-поле... при этом используется стандартная ImportFileToMemo.
Ройтесь в этом направлении
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
pavel_rts
Постоянный гость
Сообщения: 55
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва ЗАО "Рантайм Системс"
Контактная информация:

Re: Запись мемо поля в Галактику

Сообщение pavel_rts »

Проблема была не с размером, ведь я заменял просто строчку в существующем мемо, на самом деле, там есть еще один ключик к ларчику, без которого ничего не получается. Пришлось запрашивать исходники Галки, чтобы во всем разобраться. Спасибо всем за помощь! :D
Johny
Местный житель
Сообщения: 291
Зарегистрирован: 29 мар 2005, 17:49
Откуда: С-Петербург
Контактная информация:

Re: Запись мемо поля в Галактику

Сообщение Johny »

А что, нынче раздают исходники Галки?
Безвыходных ситуаций не бывает: DO LOOP WHILE TRUE
pavel_rts
Постоянный гость
Сообщения: 55
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва ЗАО "Рантайм Системс"
Контактная информация:

Re: Запись мемо поля в Галактику

Сообщение pavel_rts »

Просто, некоторые за них платят деньги.
edd
Постоянный обитатель
Сообщения: 170
Зарегистрирован: 29 мар 2005, 17:49

как быть с мемо без частей

Сообщение edd »

Всем привет!

Апну темку, чтобы не плодить.

В katmc есть примечание, в котором храним фотки продукции.

в мемо есть записи, не имеющие частей (GetPartMemoCount дает -1)

SQL запрос к такому мемо полю
возвращает одну строку, владелец записи не я.
Если открыть карточку этой мц, и заглянуть в комментарий, то мы увидим пустое белое поле с расширением TXT.

Т.е. мемо по сути чисто? Видимо владелец записи добавил файл, потом удалил?

ОК, если я в цикле записываю что-то в это поле, причем не важно, полностью заменяя содержимое

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

ImportFileToMemo(allmemo.mem, path + NameFile[i], FALSE)
    if (UpDate current AllMemo = tsOK)
...
или записывая в конец

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

ImportFileToMemo(allmemo.mem, path + NameFile[i] , TRUE)
    if (UpDate current AllMemo = tsOK)
...
в результате в карточке отображается файл, который добавлен первым!

В логе ошибок нет, файлы разные.

В мемо-поля, имеющих несколько частей, добавляются новые файлы без проблем.

Что я делаю не так? Что можно сделать? Я бы добавлял новую часть в мемо, но не вижу такой функции..
edd
Постоянный обитатель
Сообщения: 170
Зарегистрирован: 29 мар 2005, 17:49

Re: Запись мемо поля в Галактику

Сообщение edd »

Нашел, это функция ImportFileToMemoAZM
Именно она и создает часть в мемо, что решает мой вопрос.
Всем спасибо за прочтение! :)
Ответить