Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 857
от 03.07.2007, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 467, Экспертов: 78
В номере:Вопросов: 3, Ответов: 8


Вопрос № 93159: Доброго времени. Здравствуйте. У меня такой вопрос? В базе данных нет ключевого поля но в таблице DBGrid куда заносятся данные, хотелось бы чтобы "Списки"(например ФИО) устанавливались в алфавитном порядке. Спасибо, за ранее....
Вопрос № 93197: Как получить позицию компонента (X и Y) просто хочу сделать, чтобы при нажатии накнопку открывалось PopUpMenu сразу под кнопкой - не зависимо в каком месте экрана расположена форма....
Вопрос № 93220: Здравствуйте Вот такая проблемка у меня Есть PageControl на нем несколько TabShet Как сделать, чтобы при клике колесиком мыши по заголовку закрывался тот, по которому кликнули (ну в браузере Operа еще так сделано) <...

Вопрос № 93.159
Доброго времени. Здравствуйте. У меня такой вопрос?
В базе данных нет ключевого поля но в таблице DBGrid куда заносятся данные, хотелось бы чтобы "Списки"(например ФИО) устанавливались в алфавитном порядке. Спасибо, за ранее.
Отправлен: 28.06.2007, 07:58
Вопрос задал: Веретенников Игорь Викторович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Dragon
Здравствуйте, Веретенников Игорь Викторович!

Table1.IndexFieldNames:='Наименование поля, по которому нужна сортировка';
Ответ отправил: Dragon (статус: 2-ой класс)
Ответ отправлен: 28.06.2007, 08:18

Отвечает: Градов Юрий Михайлович
Здравствуйте, Веретенников Игорь Викторович!
Вам необходимо в базу данных добавить индексное поле, для этого в пакете Delphi есть утилита DataBase DeskTop. Запускате программу, затем Tools>Utilities>Restructure... и открываете Вашу базу данных. Выбираете Fiels Name и в Properties>Выпадающий список>Выбрать Indexes>Define и выбираете поле, по которому хотите осуществить сортировку. Сохраняете базу. Далее в Delphi открывате Вашу программу и указываете:
Table1.IndexFieldNames:='Наименование поля, по которому нужна сортировка'; Если Вам необходимо сортировать сразу по нескольким полям, то необходимо в DataBase DeskTop>Table Properties>Выпадающий список>Выбрать Secondary Index>Define и добавить в него поля, по которым Вы хотите осуществить сортировку (например Name, FName, SName) и ввести название этого индексного поля (например ToName).
---------
Глаза боятся - руки делают!
Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 28.06.2007, 09:49

Отвечает: Виктор Пырлик
Здравствуйте, Веретенников Игорь Викторович!

Можно оформить в виде запроса (использовать TQuery, TADOQuery, TIBQuery…) в виде:
SELECT * FROM TABL ORDER BY FIO

Если используется технология ADO, то есть замечательное свойство sort
ADOQuery1.Sort := 'LastName ASC, DateDue DESC'
ADOQuery1->Sort = "LastName ASC, DateDue DESC"

Также можно использовать индекс


---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 4-ый класс)
Ответ отправлен: 28.06.2007, 15:54


Вопрос № 93.197
Как получить позицию компонента (X и Y)

просто хочу сделать, чтобы при нажатии накнопку открывалось PopUpMenu сразу под кнопкой - не зависимо в каком месте экрана расположена форма.
Отправлен: 28.06.2007, 13:11
Вопрос задал: source (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Omickron
Здравствуйте, source!

Попробуйте так: (вариант 1)
Либо можно использовать: (вариант 2)

Приложение:

Ответ отправил: Omickron (статус: 3-ий класс)
Ответ отправлен: 28.06.2007, 13:28

Отвечает: Dragon
Здравствуйте, source!

procedure TForm1.Button1Click(Sender: TObject);
begin
PopupMenu1.Popup(mouse.CursorPos.X,mouse.CursorPos.Y);
end;
Ответ отправил: Dragon (статус: 2-ой класс)
Ответ отправлен: 28.06.2007, 13:31


Вопрос № 93.220
Здравствуйте

Вот такая проблемка у меня

Есть PageControl
на нем несколько TabShet

Как сделать, чтобы при клике колесиком мыши по заголовку закрывался тот, по которому кликнули (ну в браузере Operа еще так сделано)

procedure TForm1.PageControl1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbMiddle then
begin
?????????????????????????????????????
end;
end;
Отправлен: 28.06.2007, 15:16
Вопрос задал: source (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Omickron
Здравствуйте, source!


Ответ удален, по одной из указанных причин:
- пустой;
- неверный;
- вредный;
- не соответствует вопросу
и помещен для обсуждения в ветку форума "О деятельности экспертов и работе портала/Удаленные ответы для обсуждения".
---------
=Устинов С.Е.=
Ответ отправил: Omickron (статус: 3-ий класс)
Ответ отправлен: 28.06.2007, 15:26

Отвечает: Sandy
Здравствуйте, source!
В данном случае ????????? эквивалентно:
PageControl1.ActivePageIndex := PageControl1.IndexOfTabAt(X, Y);
Ответ отправил: Sandy (статус: 5-ый класс)
Ответ отправлен: 28.06.2007, 15:26
Оценка за ответ: 5
Комментарий оценки:
спасибо за PageControl1.IndexOfTabAt(X, Y);

Отвечает: Устинов С.Е.
Здравствуйте, source!

Ну, например вот так:

if Button=mbMiddle then
begin
PageControl1.Pages[PageControl1.IndexOfTabAt(x,y)].Free;
end;

Удачи!
---------
Ждешь квалифицированного ответа? Задай правильно вопрос!
Ответ отправил: Устинов С.Е. (статус: Профессионал)
Украина, Славянск
Организация: SlavComp
WWW: Физико-математический факультет СГПУ
ICQ: 4343069
----
Ответ отправлен: 28.06.2007, 16:32
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное