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

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

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

Ответить
cot
незнакомец
Сообщения: 6
Зарегистрирован: 27.04.2022 15:52:35

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

Сообщение cot »

Существует кнопка на которую прописана процедура запуска цикла, в цикле случайно выбираются строки и если они небыли записаны ранее, записываются в поле мемо , но если они уже были записаны (а необходимо добавить запись), прога просто выходит из цикла и для добавления записи нужно как минимум еще раз нажать кнопку.
iskander
энтузиаст
Сообщения: 627
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

cot писал(а):Существует кнопка на которую прописана процедура запуска цикла, в цикле случайно выбираются строки и если они небыли записаны ранее, записываются в поле мемо , но если они уже были записаны (а необходимо добавить запись), прога просто выходит из цикла и для добавления записи нужно как минимум еще раз нажать кнопку.
С приветом от ЧатЖПТ?
Аватара пользователя
Vlad04
новенький
Сообщения: 80
Зарегистрирован: 11.12.2007 20:11:19
Откуда: Караганда. Казахстан

Сообщение Vlad04 »

Вопрос из цикла "Я куда-то нажал и теперь ничего не работает"
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Vlad04 писал(а):Вопрос из цикла "Я куда-то нажал и теперь ничего не работает"
Главное где сам вопрос ? :roll: Нажал то, получил это... А что нужно получить сказать забыл. Упс ! :wink:
(с пятого на десятое догадаться можно, но все-же как говорится "телепаты в отпуске " ! :idea: )
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

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

Сообщение cot »

Нужно не нажимать кнопку а чтобы прога запустилась, в том в случае если запись не добавлена, а запускалась еще раз как будто я нажал клавишу. Используя goto прописывая путь к строке перед началом цикла не помогает, повтора цикла не происходит
xchgeaxeax
постоялец
Сообщения: 198
Зарегистрирован: 11.05.2023 02:51:40

Сообщение xchgeaxeax »

Так добавьте таймер на форму и присвойте его OnTimer обработчик от кнопки. Наслаждайтесь.
jsa
постоялец
Сообщения: 295
Зарегистрирован: 28.11.2017 12:46:04

Сообщение jsa »

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

P.S. А вообще странная. Задача точно не жизненная, судя по своей бессмысленности она из школьной или студенческой методички. А в таком случае на практических и лабораторных занятиях, по моему, такие вещи в лоб объясняли как делать.
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

cot писал(а):Нужно не нажимать кнопку а чтобы прога запустилась, в том в случае если запись не добавлена, а запускалась еще раз как будто я нажал клавишу.
Если я верно понял там нужно просто написать Button1Click(Self); (или как там обработчик нажатия кнопки называются ) ( если будут проблемы можно написать что-то ворде application.ProcessMessages; Button1Click(Self); Exit; или использовать как посоветовали выше таймер но главное тут важно следить за возможным зацикливанием (если оно возможно и нежелательно можно сделать простой "счетчик вызовов" который при входе процедуру обработчика увеличивается на единицу, а при выходе соответственно уменьшается на единицу добавив проверку перед основным кодом обработчика ))
Ответить