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

Как извлечь информацию из мемо-поля?

Добавлено: 03 июн 2003, 13:44
sol
Может кто знает?

Re: Как извлечь информацию из мемо-поля?

Добавлено: 03 июн 2003, 16:36
ecasoft
Если там текст, то можно вывести в форму..например в форму DocFilt из таблицы DocCont. См. ниже. СПРАВКА При работе с мемо полями идет ссылка на имя таблицы, т.к. таблица запись таблицы не может содержать более 1 мемо поля. Вообще-то в документации есть.


if (IsMemoText(#DocCont)) //текст ли это
while (MemoReadLn(str,DocCont) = tsOk)
{
DocFilt.write(str);
}
else
{ if (MemoSeek(longint(1),#DocCont) = 0 )
0 - это кон-та stOk
так хитро устанавливается есть ли вообще
что либо в мемо поле
т.е. попытка позиционироваться на 2й по
счету символ (на 1 позиционируется и при
пустом мемо поле DocFilt.write('<<<Документ содержит не текст>>>');
}

Re: Как извлечь информацию из мемо-поля?

Добавлено: 04 июн 2003, 09:11
maikl
Выведи в dbf, а затем смотри Visual Foxpro.

Re: Как извлечь информацию из мемо-поля?

Добавлено: 04 июн 2003, 10:24
Maverick
А можно и по другому - работаем с мемо как текстовым файлом.
Пример для поля Appendix.Contents
после описания лог таблы интерфейса описываем такую весчь
File MyFile ;
В своем обработчике событий прописываем:
If GetFirst Appendix = tsOk then
{
If Fm.OpenMemo ( Appendix.Contents ) then
{
fm.seek ( 0 );
/*можно циклом а можно фикс кол во раз считать в строку - привожу последний вариант - кол-во ReadLN соответствует кол-ву строк в мемополе*/
var st : string;
fm.ReadLn ( st );
Message(st);
....
fm.ReadLn ( st );
Message(st);
};
};

Re: Как извлечь информацию из мемо-поля?

Добавлено: 04 июн 2003, 10:25
Maverick
А можно и по другому - работаем с мемо как текстовым файлом.
Пример для поля Appendix.Contents
после описания лог таблы интерфейса описываем такую весчь
File MyFile ;
В своем обработчике событий прописываем:
If GetFirst Appendix = tsOk then
{
If Fm.OpenMemo ( Appendix.Contents ) then
{
fm.seek ( 0 );
/*можно циклом а можно фикс кол во раз считать в строку - привожу последний вариант - кол-во ReadLN соответствует кол-ву строк в мемополе*/
var st : string;
fm.ReadLn ( st );
Message(st);
....
fm.ReadLn ( st );
Message(st);
};
};

Re: Как извлечь информацию из мемо-поля?

Добавлено: 04 июн 2003, 12:08
Frodo
Еще вопрос:
1. Как работать с двоичными данными? Например: поле x$journal.datarec
2. У кого есть опыт вытаскивания данных из вышеуказвнного поля? Интересно как VIP-ом так и через ODBC.

Re: Как извлечь информацию из мемо-поля?

Добавлено: 04 июн 2003, 12:24
sth
для работы с журнальными мемо-полями есть специально заточенные функции:
GetJournalKeyNo
GetNewFieldValueFromJournal
GetOldFieldValueFromJournal

Re: Как извлечь информацию из мемо-поля?

Добавлено: 04 июн 2003, 14:22
Deinis