![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]() ![]()
Сообщение
#1
|
|
![]() Пользователь ![]() ![]() Группа: Posters Сообщений: 87 Регистрация: 28.11.2007 Из: Ядрин Пользователь №: 12,105 ![]() |
Имеется цикл в программе, при его запуске форма сразу же начинает тормозить, а через 10 сек. вообще зависает, помогает только Ctrl+Alt+Del. Хотел пихнуть в поток, но не знаю как
![]() -------------------- Программист ошибается дважды: первый раз - при рождении, а второй раз - при выборе профессии.
Мой сайт: http://max35soft.narod.ru |
|
|
![]() |
![]()
Сообщение
#2
|
|
![]() Мега постер ![]() Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 ![]() |
Код покажи.
-------------------- |
|
|
![]()
Сообщение
#3
|
|
![]() Пользователь ![]() ![]() Группа: Posters Сообщений: 87 Регистрация: 28.11.2007 Из: Ядрин Пользователь №: 12,105 ![]() |
CODE If chNoComments.Checked then
begin s2:=Form1.Synedit1.text; Application.ProcessMessages; while pos('', s2); endln:=endln+3; delete(s2, start, endln-start); end; Form1.SynEdit1.Text:=s2; end; -------------------- Программист ошибается дважды: первый раз - при рождении, а второй раз - при выборе профессии.
Мой сайт: http://max35soft.narod.ru |
|
|
![]()
Сообщение
#4
|
|
![]() Супер постер ![]() Группа: Local moder Сообщений: 888 Регистрация: 23.10.2005 Из: п.Кугеси Пользователь №: 106 ![]() |
Имеется цикл в программе, при его запуске форма сразу же начинает тормозить, а через 10 сек. вообще зависает, помогает только Ctrl+Alt+Del. Хотел пихнуть в поток, но не знаю как ![]() В тему баян:"Учёные Японии придумали майнфрейм, который может вычислить бесконечный цикл за полторы секунды". ![]() CODE If chNoComments.Checked then while pos('', s2); весь цикл замыкается здесь. s2 в нём не изменяется=> зависание. Видимо, автор хотел получить что-то подобное: Код while pos('', s2)
begin endln:=endln+3; delete(s2, start, endln-start); end; |
|
|
![]()
Сообщение
#5
|
|
![]() Пользователь ![]() ![]() Группа: Posters Сообщений: 87 Регистрация: 28.11.2007 Из: Ядрин Пользователь №: 12,105 ![]() |
Блин, чё такое? Почему код неправильно скопировался???
Вот настоящий код: CODE If chNoComments.Checked then
begin s2:=Form1.Synedit1.text; Application.ProcessMessages; while pos('', s2); endln:=endln+3; delete(s2, start, endln-start); end; Form1.SynEdit1.Text:=s2; end; -------------------- Программист ошибается дважды: первый раз - при рождении, а второй раз - при выборе профессии.
Мой сайт: http://max35soft.narod.ru |
|
|
![]()
Сообщение
#6
|
|
![]() Пользователь ![]() ![]() Группа: Posters Сообщений: 87 Регистрация: 28.11.2007 Из: Ядрин Пользователь №: 12,105 ![]() |
Непонял...
Короче, вместо строчки while pos('<!--', s2) begin должно быть while pos('<!--', s2)<>0 do begin Вот... -------------------- Программист ошибается дважды: первый раз - при рождении, а второй раз - при выборе профессии.
Мой сайт: http://max35soft.narod.ru |
|
|
![]()
Сообщение
#7
|
|
![]() Устаревший Дракон ![]() Группа: Global moder Сообщений: 1,579 Регистрация: 10.10.2005 Из: NChK Пользователь №: 100 ![]() |
сделай скриншот кода :-)
-------------------- Атдам наски в хорошие руки. Цвет мокрый асфальт. Запах мокрые ноги. Пробег 17 км. На ходу. Требуют стирки. Вывертыш. и почему вам 17 лет?.. |
|
|
![]()
Сообщение
#8
|
|
![]() Пользователь ![]() ![]() Группа: Posters Сообщений: 87 Регистрация: 28.11.2007 Из: Ядрин Пользователь №: 12,105 ![]() |
Воть:
If chNoComments.Checked then begin s2:=Form1.Synedit1.text; Application.ProcessMessages; while pos('<!--', s2)<>0 do begin start:=Pos('<!--', s2); endln:=Pos('-->', s2); endln:=endln+3; delete(s2, start, endln-start); end; Form1.SynEdit1.Text:=s2; end; -------------------- Программист ошибается дважды: первый раз - при рождении, а второй раз - при выборе профессии.
Мой сайт: http://max35soft.narod.ru |
|
|
![]()
Сообщение
#9
|
|
N.N.G. ![]() ![]() ![]() Группа: Posters Сообщений: 292 Регистрация: 16.10.2005 Пользователь №: 103 ![]() |
ты суть скажи, че ты хочешь на примерах. т.е. что есть, что делать, какой результат
|
|
|
![]()
Сообщение
#10
|
|
![]() Пользователь ![]() ![]() Группа: Posters Сообщений: 87 Регистрация: 28.11.2007 Из: Ядрин Пользователь №: 12,105 ![]() |
ты суть скажи, че ты хочешь на примерах. т.е. что есть, что делать, какой результат Из кода должно быть понятно. Короче, программа должна удалять из HTML файла, загруженного в Synedit, комментарии, всего-то! Удалять она удаляет, но при большом файле программа виснет, виснет как раз на этом цикле - проверял трассировкой! -------------------- Программист ошибается дважды: первый раз - при рождении, а второй раз - при выборе профессии.
Мой сайт: http://max35soft.narod.ru |
|
|
![]()
Сообщение
#11
|
|
Новичок ![]() Группа: Members Сообщений: 20 Регистрация: 7.4.2007 Из: Шир, Хоббитон Пользователь №: 6,001 ![]() |
Application.processmessages на самом деле не продолжает работу программы
, лишь сигнализирует системе, что программа занята ![]() Интересует вынос в потоки, пиши в пм, здесь мало места, чтобы всё расписать -------------------- //The P@Kx86\\
Он же PaveLiArcH |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18th June 2025 - 19:45 |