Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2016, 23:00   #11
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Почему так долго? Заснул что ли? (лучше говорить как есть - ничего не приукрашивая или "никого не дуря")...

Вот случайно обнаружил (как же просто оказалось можно создать обработчики событий), например для меню:

8.jpg

9.jpg


А дальше пишешь код.

Кстате, а вот обработчик события "двойное нажатие на stringGrid".

10.jpg


Оказалось всё очень просто (выделить элемент, зайти на вкладку "Evens", выбрать обработчик и написать его название).

p.s.: нам надо "сверить часы" (а то я чувствую какое-то расхождение). Обговорить что сделано, а что нет. Что понятно, а что нет. Лично для меня многое прояснилось. Ну вот смотри:
1) Рисование таблицы будет осуществляться по двойному клику на StringGrid (как создать обработчик этого события - ты уже знаешь).
Изначально "n, m" будут равняться "7" (на случай если пользователь захочет изобразить таблицу не поработав с меню). Параметры "m, n" будут "глобальными", чтобы они виделись везде (и в процедурах пунктов меню и в двойном обработчике события StringGrid). Когда пользователь выбирает пункт меню "столбец 8", тогда "m" присваивается "8"; а чтобы это изменение отобразилась - нужно кликнуть 2 раза по StringGrid. С этим пока всё.

2) Матрицу "А" тоже надо делать "глобальной". А еще она динамическая. Единственно: я знаю как это сделать теоретически, но не практически (думаю тебе поручить этот вопрос разузнать, а потом меня научить).

3) Закрашивание. В интернете нашёл пример (я думаю можно приспособить под наши нужды). Обрати внимание обработчик здесь нужен "OnDrawCell":

97.jpg

98.jpg

Единственно, в задании нужно не "сразу красить, а по команде контекстного меню". Такого примера не нашёл... И если найти не удатца, тогда как один из выхода из положения: ввести "внешнее управление раскраской через глобальные переменные. Сначала они равны "-1", а когда пользователь выбирает "контекстное меню"(найти минимальные элементы в матрице "А"), тогда принимают какие-то значения и... перерисовка StringGrid". Способ не очень эстетичен, но рабочий.

4) Контекстное меню. Пока ничего не знаю по нём.

5) Поиск наименьшего элемента. Это не вызовет никаких трудностей.

p.s.1: попробуй раскрасить свой StringGrid.
p.s.2: экспериментируй на копиях проекта; и только если будет получаться "нормально" - тогда перенесёшь в оригинал.
ura_111 вне форума Ответить с цитированием
Старый 23.10.2016, 23:02   #12
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Вот код для раскраски (напомню, сначала создай обработчик OnDrawCell).


Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 if ARow mod 2=0 then
   StringGrid1.Canvas.Brush.Color := cllime
   else  StringGrid1.Canvas.Brush.Color := clRed;
 StringGrid1.Canvas.FillRect( Rect );
 StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[ACol, ARow]);
end;
ura_111 вне форума Ответить с цитированием
Старый 24.10.2016, 20:23   #13
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Вот видеоролик сделал по программе (где что искать):

https://www.youtube.com/watch?v=rd96gu-YFPA

смотри 5 раз.
ura_111 вне форума Ответить с цитированием
Старый 24.10.2016, 20:33   #14
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
смотри 5 раз.
оО
А 6 можно?

Цитата:
Сообщение от ura_111 Посмотреть сообщение
экспериментируй на копиях проекта; и только если будет получаться "нормально" - тогда перенесёшь в оригинал.
для этого давно придуманы системы контроля версий типа git
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.10.2016, 22:48   #15
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

Извиняюсь что долго не появлялась. Я пишу курсовую параллельно.
Часовой пояс +2.
Moraine93 вне форума Ответить с цитированием
Старый 26.10.2016, 23:04   #16
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

На какой ты стадии сейчас?

А по-поводу: "долго не появлялась"... Здесь у каждого в профили есть отметка "последнего посещения":

5.jpg

Если периодически заходить на какой-нибудь профиль(пускай даже ради интереса), то можно определять, когда были посещения, а когда нет...


Ну ладно. На чём ты остановилась?

Последний раз редактировалось ura_111; 26.10.2016 в 23:13.
ura_111 вне форума Ответить с цитированием
Старый 26.10.2016, 23:20   #17
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

У меня прикреплена вкладка.
Moraine93 вне форума Ответить с цитированием
Старый 26.10.2016, 23:21   #18
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

Я еще разбираюсь с тем что написано выше.
Moraine93 вне форума Ответить с цитированием
Старый 26.10.2016, 23:22   #19
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Я не понял.

Покажи на скрин-картинке.
ura_111 вне форума Ответить с цитированием
Старый 26.10.2016, 23:24   #20
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

В видеоролике я всё обобщил.
ura_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программирование блок схема. пожалуйста, нарисуйте блок схему. очень срочно нужно! Bogdan96 Помощь студентам 4 22.09.2015 09:33
Pascal ABC(нарисуйте пожалуйста блок-схему, очень нужно) Deril Паскаль, Turbo Pascal, PascalABC.NET 2 05.01.2015 10:18
помогите пожалуйста написать решение задачи и блок схему к ней очень нужно( Alexandr1806 Помощь студентам 1 16.06.2014 22:31
помогите пожалуйста очень нужно решение задачки Satenka Microsoft Office Excel 4 28.05.2014 21:57
Нарисуйте пожалуйста блок-схему лёгкой задачки, не знаю как,очень нужно... prikolist Паскаль, Turbo Pascal, PascalABC.NET 2 28.11.2008 15:27