Мемо поля - чтение/запись через функции.

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

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

Ответить
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Мемо поля - чтение/запись через функции.

Сообщение Алексей »

Давно, чтобы добавить что-то в мемо-поле программно, выгружал его в текстовый файл, потом дописывал в конец в текстовый файл строчку и загружал его обратно в мемо-поле.

С тех пор не работал с ними, но вот понадобилось.

Может быть появились функции чтения/записей мемо-полей напрямую?

Необходима возможность периодически дописывать строки вконец мемо-поля. (типа журнала).
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Тоже не встречал ничего нового...
Только выгружать в текстовой файл существующие данные необязательно, если 3-й параметр ImportFileToMemo true. То бишь просто дописываешь что тебе нужно и все.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Мемо поля - чтение/запись через функции.

Сообщение Алексей »

и снова мемо-поля! :) храню xls файлы в мемо-полях, но необходимо чтобы пользователь зашел в этот файл по даблклику мыши и внес изменения в файл. потом нажимает сохранить файл, закрывает. входит повторно - изменения в файле не сохранились. есть какой-нибудь решение позволяющее оставить внесенные изменения в эксель файле, живущем в мемо-поле?
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Re: Мемо поля - чтение/запись через функции.

Сообщение n0where »

Сохранить в файл, импорт из файла
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Мемо поля - чтение/запись через функции.

Сообщение Алексей »

каким образом? есть интерфейс, у него выведено мемо-поле. пользователь заходит в файл правит жмет сохранить и закрывает. в каком момент ловить и записывать а главное откуда? файл в же в темп открывается. вроде бы раньше сохраненные изменения в экселе сохранялись с мемо-поле... 5.4.35 атлантис.
Semi-bit
Постоянный обитатель
Сообщения: 123
Зарегистрирован: 01 фев 2007, 12:45
Откуда: Магнитогорск
Контактная информация:

Re: Мемо поля - чтение/запись через функции.

Сообщение Semi-bit »

Я вот так выцеплял мемо-поле:

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

   select mem.MemoData
    FROM gal.indent ind
    LEFT OUTER JOIN gal.sys#memo mem
          ON ind.fInfo = mem.id
Потом перекодировал его в виндовую кодировку, и отображал.
Чтобы закинуть изменённый документ в базу, надо отловить событие его изменения. В Галактике это сделать проблематично, но на помощь приходит распрекрасный и замечательный Visual Basic! Создайте в нём макрос, повесьте его на Ctrl+S, сделайте ссылку проекта на ADODB и напишите примерно следующее:

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

Sub MySaveMemo()
    ActiveDocument.Save 'обновление документа на диске
    Dim Qry As ADODB.Query
    Qry.ConnectionString = "строка соединения"
    Qry.CommandText = "update gal.sys#memo set <назначения> where id = " & Cells(1,1)
    Qry.Execute
End Sub
 
В приведённом примере значение mem.id берётся из верхней левой ячейки документа, но можно поместить его в любую другую, чтоб не маячило перед глазами. При распаковке документа можно просто обновлять значение id в этой ячейке.
P.S. Можно сделать и не через ADODB, через запросы самого документа, но мне такой способ не очень нравится
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Мемо поля - чтение/запись через функции.

Сообщение Алексей »

это всё хорошо, но к чему изобретать велосипед? Это работало штатными средствами... у кого галактика обновлена, проверьте пожалуйста, работает сохранение изменений в эксель файле?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Мемо поля - чтение/запись через функции.

Сообщение Алексей »

Ответ из ТП:
Подобная проблема решилась в Атлантисе 5.4.36
Номер ПИР 103.5101 "На SQL Server 2000 не получается модифицировать мемо-поле, если таблица журналируется."
Инструкция по настройке: "Выполнить проверку БД в режиме исправления с параметром "Проверка корректности триггеров" (ChkBase.Triggers=on)."

я попробовал на 5.4.37 - у нас не получилось, попробуйте кто нибудь ещё плиз, чтобы знать на кого бочку катить, на нашего админа или на ТП.
Semi-bit
Постоянный обитатель
Сообщения: 123
Зарегистрирован: 01 фев 2007, 12:45
Откуда: Магнитогорск
Контактная информация:

Re: Мемо поля - чтение/запись через функции.

Сообщение Semi-bit »

ТП писал(а):Подобная проблема решилась в Атлантисе 5.4.36
Алексей писал(а):я попробовал на 5.4.37 - у нас не получилось
Похоже, опять поломали :)
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Мемо поля - чтение/запись через функции.

Сообщение Алексей »

Мне не верят, ответ ТП:
Подробнее опишите проблему, откуда Вы открываете документ, как сохраняете. Желательно скриншоты или видеоролик.
Нужна информация какая версия ОС установлена на сервере и версия Microsoft SQL Server (версия с SP).

Под всеми пользователями такая ошибка возникает? Без пользовательских ресурсов ошибка повторяется?

Пришлите сводный отчет. Корректна система в Патчменеджере?
у кого нибудь есть MSSQL атлантис 5.4.37. Попробуйте в любое мемо-поле сохранить эксель файл. потом открыть его двойным мышкой в мемо-поле, там поправить, нажать сохранить и закрыть. открыть заново. изменения сохранятся? спасибо.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Мемо поля - чтение/запись через функции.

Сообщение Алексей »

Выяснилось следующее: карточка объекта ремонта, вкладка документы. создаем новый документ, в мемо-поле пишем эксель файл.
выходим. заходит пользователь, вкладка документы и видит в мемо-поле эксель. жмет два раза мышкой - правит сохраняет выходит - ничего не сохранилось. НО если нажать на позиции документа ф4 - то мы как бы проваливаемся в редактирование документа. и вот если там уже нажать 2 раза мышкой и провалится в эксель, то изменения внесённые в файл сохраняются.

плохо что в открытом экселе не видно как он открывался, на редактирование или нет.
Semi-bit
Постоянный обитатель
Сообщения: 123
Зарегистрирован: 01 фев 2007, 12:45
Откуда: Магнитогорск
Контактная информация:

Re: Мемо поля - чтение/запись через функции.

Сообщение Semi-bit »

Алексей писал(а):плохо что в открытом экселе не видно как он открывался, на редактирование или нет.
Докомпилируйте интерфейс, что ли, и сделайте по cmDefault вызов cmEdit... Должно помочь.
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Мемо поля - чтение/запись через функции.

Сообщение Алексей »

тогда уж свойство протект у мемо-поля снять будет достаточным. ну, куда копать понятно...
Ответить