![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как восстановить диапазон таблицы Paradox? [D6, Paradox]
Ильдар © (2002-11-09 17:15:00)Мастера, кто ответит? Как узнать параметры диапазона установленные методом
Table1.SetRange(StartValues, EndValues)? Где хранится информация о границах установленного диапазона, этих самых StartValues и EndValues?
Ильдар (2002-11-11 10:52:00) [1]Спасибо, мастерУченик! Ты велик и твой уровень не доспупен для меня, но твой пример работает и я каюсь, что не проверил его после первого письма.
Ученик (2002-11-10 12:18:00) [2]>Ильдар (10.11.02 11:26)
for i := 0 to KeyFieldCount - 1 do
ShowMessage(GetIndexField(i).AsString);
показывает элементы этих массивов, если
SetKeyBuffer(kiCurRangeStart, False);
то элементы StartValues,
SetKeyBuffer(kiCurRangeEnd, False);
то элементы EndValues,
как массивы значения не хранятся
Ильдар (2002-11-10 11:26:00) [3]Извините, уважаемый Ученик, но Ваш пример абсолютно не понятен. Возможно, я не точно сформулировал вопрос. Пример:
var
Table1: TTable;
begin
Table1.FileName:= "Customer.db"; // Таблица Paradox
Table1.Active:= True;
Table1.IndexFieldName:= "Field1"; // Индекс по полю Integer
Table1.SetRange([5], [7]); // Установить диапазон
end;
Теперь видны только записи со значениями в поле Field1 от 5 до 7.
Вопрос. Существует ли свойство или метод возвращающий текущие границы диапазона таблицы Table1? Видимо, это два массива. Если так, то для приведённого примера это массивы [5] и [7].
Ученик (2002-11-10 00:18:00) [4]Возможно так:
type
TTableWrapper = class(TTable);
procedure TForm1.Button2Click(Sender: TObject);
var
i : Integer;
begin
with TTableWrapper(Table1) do begin
DisableControls;
try
SetKeyBuffer(kiCurRangeStart{kiCurRangeEnd}, False);
for i := 0 to KeyFieldCount - 1 do
ShowMessage(GetIndexField(i).AsString);
PostKeyBuffer(False)
finally
EnableControls
end
end
end;