Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 50

/ вопрос открыт /

Я работаю на Дельфи5.
Работаю с базами *.dbf с помощью компонента
TDBF.
Компонент TDBF предназначен для непосредственного доступа (без
использования BDE, ODBC и т.п.) к файлам формата dbf версий
dBase III+, dBase IV, dBase V, dBase for Windows.

Мне нужно сортировать записи в *.dbf файле
по полю, которое укажет пользователь (есть поля таких типов - числовой, символьный/строковый/,дата).
Подскажите, как мне это сделать и с помощь чего (желательно TDBF,чтоб без
использования BDE, ODBC и т.п. )????
ПОМОГИТЕ!!!!!!!

Игорь Середюк Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Игорь Середюк (статус: Посетитель)
Вопрос отправлен: 21 июня 2006, 11:17
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Этот компонент предоставляет прямой доступ и соответственно записи выдаются в таком порядке, в котором они находятся в файле. Сортировать компонент кажеться не может. Но кто мешает сортировать ручками! Предлагаю два метода.
Первый)заводим массив записей, закачиваем в него базу и делаем, что наша душа желает.
Два)Читаем первую запись и добавляем её в список. Читаем вторую и сравниваем с первой. Решаем, добавить выше или ниже. И так далее.
Правда есть ещё один вариант - использовать EhLib - этот грид позволяет делать локальную сортировку, вот только позволяет ли он с TDBF соединиться, не знаю, но точно скажу, если стандартный DBGrid подключается, то EhLib тоже заработает.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 21 июня 2006, 11:30
Оценка за ответ: 4


Мини-форум вопроса

Всего сообщений: 6; последнее сообщение — 21 июня 2006, 18:09; участников в обсуждении: 3.
bruder

bruder (статус: 4-ый класс), 21 июня 2006, 11:34 [#1]:

Игорь, ты нафига 3 вопроса одинаковых задал?
Игорь Середюк

Игорь Середюк (статус: Посетитель), 21 июня 2006, 11:58 [#2]:

Так получило. Хотел удаль лишнее, не знаю как.
bruder

bruder (статус: 4-ый класс), 21 июня 2006, 14:23 [#3]:

А никак, вопросы не удаляются...
Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 21 июня 2006, 15:28 [#4]:

bruder: не 3, а 2 (№50 и №51).
Игорь Середюк: постарайтесь в дальнейшем не допускать подобных оплошностей.
Вопрос №51 удалён.
bruder

bruder (статус: 4-ый класс), 21 июня 2006, 17:28 [#5]:

2 Андрей: какая разница? Вот обязательно надо было исправить? :\
Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 21 июня 2006, 18:09 [#6]:

bruder: разница есть. Дублирующих вопросов вообще быть не должно.
P.S. Хватит флудить на форумах. Всё только по делу.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:56
Выполнено за 0.03 сек.