Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 30.04.2019
Сообщений: 10

Завершить процедуру при вводе слова

03.05.2019, 18:03. Показов 594. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если кому-то интересно, вот программа. Здесь в разделе Paint необходимо завершить процедуру OnMouseMove и OnMouseDown при вводе слова.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
uses graphabc;//создает командную строку и окно ввода
 
var
  d, p, w, s, m, t: real;
  h, g, l, k, q, b, c: String;
  a: integer;//переменные (Real:все числа. И дробные и целые с противоположными) и (String: слова и буквы). Про остальные можно прочитать в справке. А эти самые полезные.
 
begin//начало общей программы.
  MaximizeWindow; //разворачивает окно на полный экран.
  SetFontSize(15); //устанавливает размер шрифта.
  Window.Title := 'Упрощенная версия компьютера'; //создает или меняет  название окна ввода
       //setwindowsize (1280,720); //устанавливает разрешение 1280 на 720 точек, что равно HD разрешению.
  writeln('Запуск упрощенной версии компьютера.'); //заставляет появиться надпись в скобках.
  sleep(3000); //создает задержку.
  writeln('Запуск прошел успешно.'); //заставляет появиться надпись в скобках.
  sleep(1000); //создает задержку.
  writeln('Версия 0.3'); //заставляет появиться надпись в скобках.
  sleep(1000); //создает задержку.
  writeln('Введите имя пользователя.'); //заставляет появиться надпись в скобках.
  readln(h); //задает переменной  h введеное значение.
  writeln('Хорошо, ', h, ', создайте пароль.'); //заставляет появиться надпись в скобках.
  readln(g); //задает переменной  g введеное значение.
  clearwindow;
  c := ('Выбери программу: калькулятор(кальк), браузер, paint (ранний доступ), помощь, выход.');
  repeat//повторять.
    textOut(1, 1, c); //написать текст в определенном месте.
    readln(l); //задает переменной  l веденое значение.
    
       ///Калькулятор
    
    if (l = 'кальк') or (l = 'Кальк') then //если переменная  l равна слову в скобках то
    begin//создание программы внутри общей программы.
      clearwindow; //стереть  весь экран.
      Window.Title := 'Калькулятор'; //создает или меняет  название окна ввода
      sleep(1500); //создает задержку.
      textOut(1, 1, 'Запуск программы "калькулятор"'); //заставляет появиться надпись в скобках в определенном месте.
      sleep(1000); //создает задержку.
      textOut(1, 30, 'Запуск прошел успешно.'); //заставляет появиться надпись в скобках в определенном месте.
      sleep(1000); //создает задержку.
      textOut(1, 60, 'Версия 1.1'); //заставляет появиться надпись в скобках в определенном месте.
      sleep(1000); //создает задержку.
      textOut(1, 90, 'Введите два числа'); //заставляет появиться надпись в скобках в определенном месте.
      readln(d, p); //задает переменным  d и p веденое значение.
      textOut(1, 120, 'Что вам нужно с ними сделать? Напишите знак. (Примеры:+,-,*,/)'); //заставляет появиться надпись в скобках в определенном месте.
      readln(k); //задает переменной  k веденое значение.
      w := d * p; // данная переменная равна введеному выражению.
      s := d + p; // данная переменная равна введеному выражению.
      m := d - p; // данная переменная равна введеному выражению.
      t := d / p; // данная переменная равна введеному выражению.
      if (k = '+') then TextOut(1, 150, s);  //если знак это + то вывести на экран переменую s.
      if (k = '-') then TextOut(1, 150, m); //если знак это - то вывести на экран переменую m.
      if (k = '*') then TextOut(1, 150, w); //если знак это * то вывести на экран переменую w.
      if (k = '/') then TextOut(1, 150, t);  //если знак это + то вывести на экран переменую t.
      textOut(1, 180, 'Если хотите перейти в меню, нажмите "Enter".');  //заставляет появиться надпись в скобках.
      readln(b); //заставляет появиться надпись в скобках.
      ClearWindow; //стирает все рисунки.
      textOut(1, 1, c); //заставляет появиться надпись в скобках в определенном месте.
    end; //конец программы созданной внутри общей программы.
    
               ///Paint
    
    if (l = 'Paint') or (l = 'paint') then //если переменная  l равна слову в скобках то
    begin//создание программы внутри общей программы.
      clearwindow; //стереть  весь экран.
      Window.Title := 'Paint'; //создает или меняет  название окна ввода
      sleep(1500); //создает задержку.
      TextOut(1, 1, 'Запуск Paint'); //заставляет появиться надпись в скобках в определенном месте.
      sleep(1000); //создает задержку.
      TextOut(1, 30, 'Версия 0.2'); //заставляет появиться надпись в скобках в определенном месте.
      sleep(1000); //создает задержку.
      TextOut(1, 60, 'Запуск прошел успешно. Также напоминаем,что программа еще не готова.'); //заставляет появиться надпись в скобках в определенном месте.
      TextOut(1, 90, 'Какую вы хотите задать ширину кисти?'); //заставляет появиться надпись в скобках в определенном месте.
      readln(a); //задает переменной  a введеное значение.
      setpenwidth(a); //устанавливает ширину кисти равной переменной a.
      setpencolor(clred); //задает введеный цвет (сейчас красный).
      OnMouseDown := (x, y, mb) -> MoveTo(x, y); // устанавливает точку начала рисования при нажатии ЛКМ.
      OnMouseMove := (x, y, mb) -> if mb = 1 then LineTo(x, y); //рисует линию с точки начала рисования при нажатии ЛКМ.
      TextOut(1, 150, 'Если хотите закончить, нажмите "Enter".'); //заставляет появиться надпись в скобках в определенном месте.
      readln(q); //задает переменной  q введеное значение.
      if (q <> 'exit') or (q <> 'Exit') then ClearWindow; //если переменная q равна слову в скобках то делать все на следующей строчке. Иначе очистить все рисунки.
      textOut(1, 1, c); //заставляет появиться надпись в скобках в определенном месте.
    end; //заканчивает программу созданной внутри общей программы.
    
        ///Помощь
    
    if (l = 'помощь') or (l = 'Помощь') then //если переменная  l равна слову в скобках то
    begin//создание программы внутри общей программы.
      ClearWindow; //стирает все окно.
      Window.Title := 'Помощь'; //создает или меняет  название окна ввода.
      sleep(1500); //создает задержку.
      textOut(1, 1, 'Упрощенная версия компьютера.'); //заставляет появиться надпись в скобках в определенном месте.
      textOut(1, 30, 'Версия 0.3');  //заставляет появиться надпись в скобках в определенном месте.
      textOut(1, 60, 'Обратная Связь: [email]weareprogrammists@gmail.com[/email]'); //заставляет появиться надпись в скобках в определенном месте.
      textOut(1, 90, '©2019. Все права защищены.');  //заставляет появиться надпись в скобках в определенном месте.
      textOut(1, 120, 'Если хотите перейти в меню, нажмите "Enter".');  //заставляет появиться надпись в скобках в определенном месте.
      readln(b); //задает переменной  b введеное значение.
      if (b <> 'pascal') then ClearWindow; //если переменная b равна слову в скобках то стирает все рисунки.
      textOut(1, 1, c); //заставляет появиться надпись в скобках в определенном месте.
    end; //конец программы созданной внутри общей программы.
  until l = ('выход'); //до тех пора пока переменная l не будет равна слову в скобках.
  if (l = 'выход') then CloseWindow; //если переменная l является словом в скобках то закрыть программу.
end. //конец общей программы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2019, 18:03
Ответы с готовыми решениями:

Завершить при вводе пустой строки
Если ввести пробел, должен завершать цикл. Пробовал по разному. Думал что - ar.filename == ' ' break, будет работать. Но нет. int...

Завершить работу программы при вводе буквы
помню ктото прогу не мог написать чтоб вводишь цивры 12345.. и как тока нажал на букву выход я вот написал #include&lt;conio.h&gt; ...

Завершить игровой цикл при вводе нуля
Задание. Создать программу со структурой player. Структура должна содержать поля level - для сохранения уровня игрока (начальное...

1
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
04.05.2019, 09:31
OnMouseDown и OnMouseMove — это события и они с вашей программой связаны только своим определением.
Так сделайте переопределение и будет вам счастье!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2019, 09:31
Помогаю со студенческими работами здесь

Завершить цикл при вводе значения первой переменной
Сама задача: Водителям небезразличен пробег их автомобилей. Один водитель записал данные о нескольких заправках своей машины, записывая...

При вводе слова в TextBox, проверять наличие введенного слова в списке из текстового файла
Здравствуйте! У меня подготовлен список ссылок в файле 123.txt В списке допустим 3 ссылки: 123.com 66.ru cc.net Когда...

При вводе слова на русском языке переменная в программе принимает значение латиницы введенного слова
Добрый день уважаемые форумчане! Начал изучение C++, и вот решил создать небольшую программу которая сравнивает вводимое слово с заданным и...

Написать процедуру или функцию, позволяющую проверять при вводе массив
Вводится массив. Если пользователем будет введено не число, а символ, то нужно снова запросить ввод элемента.

Звездочки при вводе слова
Как сделать, чтобы при вводе либо цифр либо букв в текстовое поля, отображались не сами буквы, а звездочки &quot;*&quot;, как-будто вводишь...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru