Нд, 19.11.2017, 03:07
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 7 з 14«12567891314»
Модератор форуму: НІКОЛЯ, Ktara, Bandalak, volevikt 
Форум інформатиків » РОЗДІЛ V: ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ » 5.10 Вільне програмне забезпечення » Інтегроване середовище розробки Lazarus
Інтегроване середовище розробки Lazarus
gromko Дата: Вт, 21.02.2017, 20:01 | Повідомлення № 91
Лінуксоїд
Повідомлень: 2664
Нагороди: 26
Рейтинг: 343
Цитата swetikccc ()
Потрібно розказати про таймер.

Ніяких таймерів - тупо через цикл кнопка ховається і показується в іншому місці.

Врахувати ширину і висоту кнопки при генерації координат.
Параметри для Rnd - довжина та ширина-50, потім додамо 20

Цитата swetikccc ()
Виділити метод для перемалювання кнопки(бо одне й теж при події натисненя кнопки і події Тік)

Властивість visible=false - сховати кнопку, true - показати з нвими координатами.

Цитата swetikccc ()
Розказати як створити метод.

Все простіше - десяток-півтора рядків
swetikccc Дата: Вт, 21.02.2017, 20:12 | Повідомлення № 92
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Цитата gromko ()
Ніяких таймерів - тупо через цикл кнопка ховається і показується в іншому місці.
Як відрахувати ту ж секунду показу?
gromko Дата: Вт, 21.02.2017, 20:16 | Повідомлення № 93
Лінуксоїд
Повідомлень: 2664
Нагороди: 26
Рейтинг: 343
Цитата swetikccc ()
Як відрахувати ту ж секунду показу?

Наобум, підібравши величину лічильника в циклі
swetikccc Дата: Вт, 21.02.2017, 20:44 | Повідомлення № 94
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
У Вас Бейсік, а мені всерівно кнопку потрібно переставити в нову точку new Point, то для чого мені ії ховати а потім показувати?
А з циклом який рахує час, взагалі мене в ступор загнали :-)
gromko Дата: Вт, 21.02.2017, 21:30 | Повідомлення № 95
Лінуксоїд
Повідомлень: 2664
Нагороди: 26
Рейтинг: 343
Цитата swetikccc ()
У Вас Бейсік, а мені всерівно кнопку потрібно переставити в нову точку new Point, то для чого мені ії ховати а потім показувати?

В Лазарусі:
Button2.Left=x;
Button2.Top=y;

В Бейсику:
Button2.x=x
Button2.y=y

Так, ховати не треба - всерівно "кнопка" перескочить в інше місце.
gromko Дата: Вт, 21.02.2017, 21:31 | Повідомлення № 96
Лінуксоїд
Повідомлень: 2664
Нагороди: 26
Рейтинг: 343
Цитата swetikccc ()
А з циклом який рахує час, взагалі мене в ступор загнали :-)

Це восьмикласники самі запропонували з того, що вони знають
Пилипчук_О_П Дата: Вт, 21.02.2017, 22:10 | Повідомлення № 97
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Цитата gromko ()
Ніяких таймерів - тупо через цикл кнопка ховається і показується в іншому місці.
А як же об'єктноорієнтований підхід? Засоби, закладені в візуальних компонентах дозволяють це зробити ефективніше. Ось мій програмний код (Lazarus) з бонусом у вигляді напису з рахунком в куточку: жодного явного циклу, таймер налаштований на 1500 мс:


Код
var k,n:integer;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Button2.Visible:=false;
  Button1.Visible:=true;
  Timer1.Enabled:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  inc(k);
  label1.Caption:=inttostr(k)+' з '+inttostr(n);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  k:=0;
  n:=0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  inc(n);
  Button1.Left:=Random(Form1.Width-Button1.Width);
  Button1.Top:=Random(Form1.Height-Button1.Height);
end;


Наразі не захищено від декількох швидких клацань. Але:
1) так може бути цікавіше;
2) це можна запропонувати зробити учням.


Відредаговано: Пилипчук_О_П - Вт, 21.02.2017, 22:11
Пилипчук_О_П Дата: Вт, 21.02.2017, 22:13 | Повідомлення № 98
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Цитата gromko ()
Ніяких таймерів - тупо через цикл кнопка ховається і показується в іншому місці.
Можна код глянути?
swetikccc Дата: Вт, 21.02.2017, 22:58 | Повідомлення № 99
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Цитата gromko ()
В Лазарусі:Button2.Left=x;
Button2.Top=y;

В Бейсику:
Button2.x=x
Button2.y=y
Це несуттево, просто я використовую метод, а ви властивість.
Цитата Пилипчук_О_П ()
Ось мій програмний код
Дійно незахищено, учні навряд чи самостійно додумаються зупинити таймер при клацанні на кнопці перемістити її і знову запустити, тому я і писав що потрібно окремо виділити метод появи, бо він використовується 2 рази
Пилипчук_О_П Дата: Вт, 21.02.2017, 23:55 | Повідомлення № 100
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Цитата swetikccc ()
Дійно незахищено, учні навряд чи самостійно додумаються зупинити таймер при клацанні на кнопці перемістити її і знову запустити,
Навіщо зупиняти таймер? Кнопку після клацання сховати (або зробити недоступною), а в обробнику таймера знову зробити видимою (доступною).


Відредаговано: Пилипчук_О_П - Вт, 21.02.2017, 23:56
volodschool2 Дата: Ср, 22.02.2017, 10:52 | Повідомлення № 101
Досвідчений учасник
Повідомлень: 1372
Нагороди: 12
Рейтинг: 277
Цитата volodschool2 ()
"Зіткнення" не зробили, спробуємо наступного тижня
Для відловлювання зіткнень дуже гарно працює функція intersectrect(overlay, image1.BoundsRect, image2.BoundsRect) із модуля Types, але треба буде багато всього пояснювати, учні не зрозуміють var overlay:TRect . Але це не складніше, аніж відслідковувати аналітично геометрію накладання двох прямокутників. Словом, це завдання не для 8-го класу.
Oxana_cher Дата: Ср, 22.02.2017, 11:13 | Повідомлення № 102
Місцева кадра
Повідомлень: 392
Нагороди: 2
Рейтинг: 44
Так всё таки!
Как в среде Lazarus набрать простую Паскалевскую программу без лишнего кода, скомпилировать и получить результат?

Например такую:

10.40



Только опишите подробно, пожалуйста. Какой проект создать, какие файлы, какие окна?
Самой ничего не получилось!
Прикріплення: 2078708.jpg(15Kb)
Bandalak Дата: Ср, 22.02.2017, 11:21 | Повідомлення № 103
Лідер форуму
Повідомлень: 5522
Нагороди: 39
Рейтинг: 260
У мене теж не виходить.
Створив проект "Консольна програма" - у текстовому редакторі згенерувалися дві сторінки якогось коду!
Як правильно це робиться сам не знаю!
volodschool2 Дата: Ср, 22.02.2017, 12:09 | Повідомлення № 104
Досвідчений учасник
Повідомлень: 1372
Нагороди: 12
Рейтинг: 277
Цитата Oxana_cher ()
Какой проект создать, какие файлы, какие окна?
Файл/Новий/Проект/Проста програма
Прикріплення: 7366858.png(188Kb)
Bandalak Дата: Ср, 22.02.2017, 12:41 | Повідомлення № 105
Лідер форуму
Повідомлень: 5522
Нагороди: 39
Рейтинг: 260
На жаль, у моїй версії Лазарусу немає такого проекту!

Прикріплення: 5458821.jpg(36Kb)
Форум інформатиків » РОЗДІЛ V: ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ » 5.10 Вільне програмне забезпечення » Інтегроване середовище розробки Lazarus
Сторінка 7 з 14«12567891314»
Пошук:


© Форум інформатиків України, 2007-2017.