Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45

Создать справочную систему по компонентам Delphi

22.11.2015, 20:25. Показов 4115. Ответов 60
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток , я первый курс , задача на курсовую работу "создать справочную систему по компонентам делфи" , Опыта мало , прошу помочь, хотя-бы расскажите что к чему.Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.11.2015, 20:25
Ответы с готовыми решениями:

Разработать информационно-справочную систему учета автомобилей
День добрый! Разработать информационно-справочную систему учета автомобилей. Предусмотреть индексно-последовательный поиск...

Комментарии к компонентам Delphi
Всем привет, прошу вашего совета. Имеется игра на Delphi и необходимо реализовать такую систему, чтобы при наведении на кнопки, к примеру...

Подскажие по DELPHI!!! Вопросы по компонентам
Народ! У меня есть 2 вопроса: 1. Как из Form1.Listbox1 скопировать информацию в Form2.Listbox1? 2. Есть какая-нибудь команда, которая...

60
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
25.11.2015, 16:48  [ТС]
Студворк — интернет-сервис помощи студентам
http://rghost.ru/8ykTLtLND вот залил
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
25.11.2015, 17:50
bewbewbew, посмотрел. Но вот смотрите у вас там по нескольку раз прописано одно и то же:
При перемещении объектов код одинаковый
При показе компонента( по нажатию кнопки с названием компонента )
Код по сути одинаковый и его можно и даже нужно сократить. Ну да бог с ним пока. По нажатию на что и по какому событию вы хотите менять цвет?
P.S. координаты у вас просто экранные - вам их нужно перевести в локальные - ScreenToClient, в твоем случае так
Delphi
1
pt := pnl1.ScreenToClient(pt);
это в таймере после получения положения курсора
0
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
25.11.2015, 23:56  [ТС]
мне нужно создать отдельную кнопку , при нажатии на которую вызывалась бы палитра

Добавлено через 9 минут
добавил эту строку , после
Label1.Caption:=IntToStr(pt.X)+' '+IntToStr(pt.Y);
pt := pnl1.ScreenToClient(pt); ничего не изменилось
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
26.11.2015, 00:39
Цитата Сообщение от bewbewbew Посмотреть сообщение
добавил эту строку , после
а надо до.... я же написал после получения положения курсора....
Delphi
1
2
3
получение положения курсора
pt := pnl1.ScreenToClient(pt);
Label1.Caption:=IntToStr(pt.X)+' '+IntToStr(pt.Y);
Цитата Сообщение от bewbewbew Посмотреть сообщение
нужно создать отдельную кнопку , при нажатии на которую вызывалась бы палитра
добавь на форму кнопку и ColorDialog при нажатии на кнопку напиши что-то вроде
Delphi
1
2
3
if ColorDialog1.Execute then
  // ОбъектКоторомуНужноЗадатьЦвет, например
  Form1.Color := ColorDialog1.Color;
0
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
26.11.2015, 01:35  [ТС]
Цитата Сообщение от VladWH Посмотреть сообщение
добавь на форму кнопку и ColorDialog при нажатии на кнопку напиши что-то вроде
я так делал , цвет кнопки не меняется вот..

Добавлено через 2 минуты
а как сделать , что бы координаты показывало только в приделах панели? Точка начала изменилась , спасибо)

Добавлено через 12 минут
меняет цвета всего , кроме кнопки , можно как то задать ее цвет? или загружать картинку , вместо нее?
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
26.11.2015, 01:43
Цитата Сообщение от bewbewbew Посмотреть сообщение
что бы координаты показывало только в приделах панели?
Проверять находится ли курсор над панелью, если нет, то не показывать.
Цитата Сообщение от bewbewbew Посмотреть сообщение
меняет цвета всего , кроме кнопки , можно как то задать ее цвет?
Для стандартной кнопки - TButton достаточно сложно....
Цитата Сообщение от bewbewbew Посмотреть сообщение
или загружать картинку , вместо нее?
Использовать TBitBtn у нее есть свойство Glyph - изображение
0
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
26.11.2015, 01:50  [ТС]
как проверить что над панелью?
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
26.11.2015, 02:01
bewbewbew, можно по тем же координатам, а можно
Delphi
1
2
3
 if ControlAtPos(pt, false)= Твоя панель
  then Показываем координаты
  else Не показываем координаты
но в твоем случае так как ты будешь перемещать объект, то данный код не совсем верен...
0
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
26.11.2015, 02:09  [ТС]
столкнулся с проблемой , поставил я кнопку , она меняет цвет одного элемента , если я делаю это ко всем элементам , то у меня окно палитры запускается 10 раз
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
26.11.2015, 02:18
bewbewbew, можно так
Delphi
1
2
3
4
5
6
7
8
uses TypInfo;
..................
var I: Integer;
begin
 if ColorDialog1.Execute then
  for I:=0 to pnl1.ControlCount-1 do
   if GetPropInfo(pnl1.Controls[I].ClassInfo, 'Color')<>nil then
    SetPropValue(pnl1.Controls[I], 'Color', ColorDialog1.Color);
Добавлено через 58 секунд
присвоит цвет всем контролам на панели у которых есть св-во Color
0
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
26.11.2015, 20:54  [ТС]
попробую , а с кнопкой что делать? Изображение заменить?
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
27.11.2015, 00:30
Цитата Сообщение от bewbewbew Посмотреть сообщение
а с кнопкой что делать? Изображение заменить?
можно добавить условие
Delphi
1
2
3
4
5
6
7
8
9
10
if GetPropInfo(pnl1.Controls[I].ClassInfo, 'Color')<>nil then
    SetPropValue(pnl1.Controls[I], 'Color', ColorDialog1.Color) else
if pnl1.Controls[I] is TBitBtn then
with TBitBtn(pnl1.Controls[I]) do
begin 
 Glyph.Width := Width;
 Glyph.Height := Height;
 Glyph.Canvas.Brush.Color := ColorDialog1.Color;
 Glyph.Canvas.Rectangle( Rect(0,0,Width, Height) );
end;
0
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
27.11.2015, 09:47  [ТС]
если присваивать это кнопке для замены цвета , то выдает ошибку между else и if
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
27.11.2015, 12:29
bewbewbew, какую ошибку?

Добавлено через 8 минут
попробовал на твоем проекте сейчас - все работает. Добавил кнопку для замены цвета, ColorDialog и заменил кнопку TButton на TBitBtn Код кнопки замены цвета
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.btn10Click(Sender: TObject);
 var I: Integer;
begin
 if ColorDialog1.Execute then
  for I:=0 to pnl1.ControlCount-1 do
   if GetPropInfo(pnl1.Controls[I].ClassInfo, 'Color')<>nil then
    SetPropValue(pnl1.Controls[I], 'Color', ColorDialog1.Color) else
   if pnl1.Controls[I] is TBitBtn then
    with TBitBtn(pnl1.Controls[I]) do
     begin
      Glyph.Width := Width;
      Glyph.Height := Height;
      Glyph.Canvas.Brush.Color := ColorDialog1.Color;
      Glyph.Canvas.Rectangle( Rect(0,0,Width, Height) );
     end;
end;
1
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
28.11.2015, 19:40  [ТС]
ну тогда последняя проблема , это как ограничить координаты
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
29.11.2015, 02:06
Цитата Сообщение от bewbewbew Посмотреть сообщение
последняя проблема , это как ограничить координаты
я же уже ответил до этого, что либо по координатам панели, либо
Цитата Сообщение от VladWH Посмотреть сообщение
можно
Delphi
1
2
3
if ControlAtPos(pt, false)= Твоя панель
 then Показываем координаты
 else Не показываем координаты
0
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
29.11.2015, 12:39  [ТС]
к как это сформулировать

Добавлено через 1 час 38 минут
Цитата Сообщение от VladWH Посмотреть сообщение
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.btn10Click(Sender: TObject);
*var I: Integer;
begin
*if ColorDialog1.Execute then
* for I:=0 to pnl1.ControlCount-1 do
* *if GetPropInfo(pnl1.Controls[I].ClassInfo, 'Color')<>nil then
* * SetPropValue(pnl1.Controls[I], 'Color', ColorDialog1.Color) else
* *if pnl1.Controls[I] is TBitBtn then
* * with TBitBtn(pnl1.Controls[I]) do
* * *begin
* * * Glyph.Width := Width;
* * * Glyph.Height := Height;
* * * Glyph.Canvas.Brush.Color := ColorDialog1.Color;
* * * Glyph.Canvas.Rectangle( Rect(0,0,Width, Height) );
* * *end;
end;
после then выдает ошибку.

Добавлено через 9 минут
http://rghost.ru/7KxBdP6Lq
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
29.11.2015, 22:09
Цитата Сообщение от bewbewbew Посмотреть сообщение
после then выдает ошибку
вообще надо проект прилагать, а не скрин и лучше на форум, а не на сторонний файлообменник. Возможно не подключен модуль Buttons в uses. На всякий случай прилагаю твой проект в котором этот код работает
Вложения
Тип файла: rar Kurs.rar (1.18 Мб, 3 просмотров)
0
 Аватар для VladWH
243 / 193 / 94
Регистрация: 01.05.2015
Сообщений: 732
29.11.2015, 22:12
Цитата Сообщение от bewbewbew Посмотреть сообщение
к как это сформулировать
например так
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.tmr1Timer(Sender: TObject);
var
  pt:TPoint;
begin
 GetCursorPos(pt);
 label1.Visible := ControlAtPos(ScreenToClient(pt), False, True) = pnl1;
 pt := pnl1.ScreenToClient(pt);
 Label1.Caption:=IntToStr(pt.X)+' '+IntToStr(pt.Y);
end;
0
2 / 2 / 0
Регистрация: 22.11.2015
Сообщений: 45
01.12.2015, 20:37  [ТС]
А как сделать чтобы кнопка красилась полностью , а не торчал кусок с именем?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.12.2015, 20:37

Как обратиться ко всем компонентам на форме?
как обратиться ко всем компонентам на форме delphi

Как создать справочную систему для web-application
Приветствую всех! У меня возникла задача создания справочной системы для динамической веб апликации, чтобы открывалась она (справочная...

Разработать справочную систему
Разработать справочную систему, выдающую в окно вывода текста информацию о четырех операторах языка программирования Паскаль. Выбор...

Разработать справочную систему по стандартным функциям
Помогите пожалуйста разработать справочную систему по стандартным функциям Турбо Паскаля.

Составить справочную систему по функциям Турбо Pascal
не могу понять в чем дело. Не работает. Нужно составить справочную систему по функциям Турбо Паскаль. program Spravochnik; type...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru