Повторный запуск

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Повторный запуск

Сообщение cot » 19.12.2023 17:15:50

Существует кнопка на которую прописана процедура запуска цикла, в цикле случайно выбираются строки и если они небыли записаны ранее, записываются в поле мемо , но если они уже были записаны (а необходимо добавить запись), прога просто выходит из цикла и для добавления записи нужно как минимум еще раз нажать кнопку.
cot
незнакомец
 
Сообщения: 6
Зарегистрирован: 27.04.2022 16:52:35

Re: Повторный запуск

Сообщение iskander » 19.12.2023 18:50:29

cot писал(а):Существует кнопка на которую прописана процедура запуска цикла, в цикле случайно выбираются строки и если они небыли записаны ранее, записываются в поле мемо , но если они уже были записаны (а необходимо добавить запись), прога просто выходит из цикла и для добавления записи нужно как минимум еще раз нажать кнопку.

С приветом от ЧатЖПТ?
iskander
энтузиаст
 
Сообщения: 606
Зарегистрирован: 08.01.2012 18:43:34

Re: Повторный запуск

Сообщение Vlad04 » 20.12.2023 06:37:50

Вопрос из цикла "Я куда-то нажал и теперь ничего не работает"
Аватара пользователя
Vlad04
новенький
 
Сообщения: 79
Зарегистрирован: 11.12.2007 21:11:19
Откуда: Караганда. Казахстан

Re: Повторный запуск

Сообщение Alex2013 » 20.12.2023 07:00:15

Vlad04 писал(а):Вопрос из цикла "Я куда-то нажал и теперь ничего не работает"

Главное где сам вопрос ? :roll: Нажал то, получил это... А что нужно получить сказать забыл. Упс ! :wink:
(с пятого на десятое догадаться можно, но все-же как говорится "телепаты в отпуске " ! :idea: )
Alex2013
долгожитель
 
Сообщения: 3049
Зарегистрирован: 03.04.2013 11:59:44

Re: Повторный запуск

Сообщение Снег Север » 20.12.2023 09:11:09

cot писал(а):Существует кнопка на которую прописана процедура запуска цикла, в цикле случайно выбираются строки и если они небыли записаны ранее, записываются в поле мемо , но если они уже были записаны (а необходимо добавить запись), прога просто выходит из цикла и для добавления записи нужно как минимум еще раз нажать кнопку.

И что? Ну, так нажмите кнопку!
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3039
Зарегистрирован: 27.11.2007 16:14:47

Re: Повторный запуск

Сообщение cot » 20.12.2023 10:44:32

Нужно не нажимать кнопку а чтобы прога запустилась, в том в случае если запись не добавлена, а запускалась еще раз как будто я нажал клавишу. Используя goto прописывая путь к строке перед началом цикла не помогает, повтора цикла не происходит
cot
незнакомец
 
Сообщения: 6
Зарегистрирован: 27.04.2022 16:52:35

Re: Повторный запуск

Сообщение xchgeaxeax » 20.12.2023 17:04:18

Так добавьте таймер на форму и присвойте его OnTimer обработчик от кнопки. Наслаждайтесь.
xchgeaxeax
постоялец
 
Сообщения: 125
Зарегистрирован: 11.05.2023 03:51:40

Re: Повторный запуск

Сообщение jsa » 12.01.2024 12:04:54

cot писал(а):в цикле случайно выбираются строки

Откуда цикл выбирает строки?
Что это такое? другой Memo объект? Если то, откуда цикл делает выборку, находится в вашей же программе, то на нем есть свои События, и ваш цикл можно запускать по срабатыванию какого-то из этих событий,
Если это не подходит, то как написали выше, ставится Timer, на десяток секунд (10000) при срабатывании запускается ваш цикл.

P.S. А вообще странная. Задача точно не жизненная, судя по своей бессмысленности она из школьной или студенческой методички. А в таком случае на практических и лабораторных занятиях, по моему, такие вещи в лоб объясняли как делать.
jsa
постоялец
 
Сообщения: 282
Зарегистрирован: 28.11.2017 13:46:04

Re: Повторный запуск

Сообщение Alex2013 » 22.01.2024 14:51:58

cot писал(а):Нужно не нажимать кнопку а чтобы прога запустилась, в том в случае если запись не добавлена, а запускалась еще раз как будто я нажал клавишу.

Если я верно понял там нужно просто написать Button1Click(Self); (или как там обработчик нажатия кнопки называются ) ( если будут проблемы можно написать что-то ворде application.ProcessMessages; Button1Click(Self); Exit; или использовать как посоветовали выше таймер но главное тут важно следить за возможным зацикливанием (если оно возможно и нежелательно можно сделать простой "счетчик вызовов" который при входе процедуру обработчика увеличивается на единицу, а при выходе соответственно уменьшается на единицу добавив проверку перед основным кодом обработчика ))
Alex2013
долгожитель
 
Сообщения: 3049
Зарегистрирован: 03.04.2013 11:59:44


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: MailRu[bot] и гости: 12

Рейтинг@Mail.ru