Функция GetTableMemo Назад В начало Вперед

Назначение

Возвращает хендл для работы с мемо-полем. Предназначена для вызова в обработчике триггера.

Описание

function GetTableMemo: longInt;

Возвращаемое значение

Хендл на мемо-поле.

Функция не выбрасывает исключений.

Пример

#include recAaa1.inc

handler with replace c_aaa1 on trigger aaa1 convert
action
{
  var old_buf: record as table aaa1; // буфер старой таблицы
  var new_buf: recAAA1; // буфер новой таблицы, берем из include-файла
  var f,ff: longint; 
  var s,n: string;

  GetTableBuffer(old_buf);  // считываем старый буфер
  new_buf := recAAA1(old_buf); // копируем не изменившиеся поля
  new_buf.x := '['+string(old_buf.w)+']'; // и модифицированное поле
 
  f := OpenFileHandle(GetTableMemo); // открываем поток с мемо-полем
  ff := CreateFileHandle('xxx');  // создаем хендл с именем ххх
  n := CreateTmpFileName; 	
  file_openFile(n, stCreate, ff); // открываем файл для нового мемо-поля
  file_readln(s, f); 			 // читеам старое
  s := '['+s+']'; 				// как-то обрабатываем
  file_writeln(s, ff); 		 // записываем в файл
  SetTableMemo(GetMemoHandleFF(ff)); // сохраняем изменения как мемо-поле
 
 // реальное копирование мемо-поля из файла происходит в этой функции
 // поэтому закрывать хендлы нужно после нее
 ModifyTableRecord(new_buf);

 DeleteFileHandle(f); 		 // закрываем хендл
 DeleteFileHandle(ff); 		// закрываем хендл

 result := true;
}

Версия

Атлантис 5.0.02.