Форум: "Базы";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
ВнизОпять Найти похожие ветки
← →
Bakch (2002-11-28 09:01) [0]Доброе утро всем!
Определено множество имен таблиц:
type
TNameTable = (Table1, Table2.....TableN);
TNameTableSet = set of TNameTable;
var
List_of_Name:TNameTableSet;
Делаю проверку
if not (MTable.TableName in List_of_Name) then
Получаю "Incompatible types WideStrings and TNameTable".
Как же покончить с этим инкомпетибл.
← →
Sima (2002-11-28 09:35) [1]Ну дак а ты что хотел?
Тип TNameTableSet - это Byte (т.к. set), а TableName - это строка
ну и как приказываешь делфи это сравнивать?
А типа использовать массив строк, в которых имена хранятся не пробовал? можно объявить константу и в ней искать
← →
xenon (2002-11-28 09:38) [2]type
TNameTable = (Table1, Table2.....TableN);
TNameTableSet = set of TNameTable;
Это не множество имен таблиц, а множество целочисленных констант.
(хотя это не совсем так)
Выход - создай массив из названий таблиц. И в цикле с ним сравнивай. Или используй TStringList.
← →
Victor_Cr (2002-11-28 10:59) [3]Перечисляемый тип для объектов (например TTable), это очень странная структура. Несовместимость очевидна множество состоящее из таблиц (т.е. объектов) не может сравниваться с строковыми переменными. Убери .TableName и получишь синтаксически правильную структуру.
Но я не могу понять зачем тебе это нужно. Для этого есть и другие методы, например присваивай своим таблицам уникальные идентификаторы, а их уже загоняй в множество (Инкремируешь свойство Tag у таблиц).
← →
Victor_Cr (2002-11-28 11:06) [4]Черт, я голодный и тупой от этого. Извени первый абзац отпадает.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c