![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#31 |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
![]()
Я переделал через Мютекс, думал может так будет быстрее работать и правильно нифига(wait и т.д)(
Код:
Последний раз редактировалось stasJun; 17.10.2016 в 23:09. |
![]() |
![]() |
![]() |
#32 | |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#33 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Причем тут мьютекс? я ж написал в чем проблема.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#34 |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
![]() |
![]() |
![]() |
![]() |
#35 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Не делать ничего после запуска потоков, всю обработку результата и т.п. делать только по сигналу (completed, ...)
Я бы сделал у потока 2 сигнала: completed и progressChanged. Во втором просто передавать количество обработанных байтов: в цикле чтения если надо (только наверно лучше не каждую итерацию а как-то более редко) и в конце размер файла как сейчас. А в completed наверно надо передавать имя файла и результат (в данном случае bool найдено/не найдено). При его получении выводить результат и считать количество завершенных потоков для определения завершения всего поиска.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#36 | |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
![]() Цитата:
я все прочитал что ві написали, и не совсем понял. void completed(bool mIsCancelled); а от как с progressChanged сделать я не понял( Последний раз редактировалось stasJun; 18.10.2016 в 11:05. |
|
![]() |
![]() |
![]() |
#37 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Причем тут mIsCancelled?
Ну mIsCancelled конечно тоже можно сообщать в completed и часто это бывает удобно, но не обязательно и к основной задаче не относится. Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 18.10.2016 в 11:43. |
![]() |
![]() |
![]() |
#38 | |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
![]() Цитата:
[CODE]signals: void completed(QString, bool); Код:
у меня в виджете а не в класе поток. и оно не знает такую функцию : D:\Development\Pavlik\Qt\FindFilesW idget\FindWordInFileThread.cpp:40: error: C3861: 'progressChanged': identifier not found и у меня функцияпринимает аргумент number Код:
|
|
![]() |
![]() |
![]() |
#39 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ну видимо у вас нет сигнала с именем progressChanged в классе потока.
и пример выше был про случай когда один поток ищет только в одном файле, для переделывания под несколько файлов как тут надо не просто скопипастить ![]()
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 18.10.2016 в 13:23. |
![]() |
![]() |
![]() |
#40 |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск слов в файле | Stepan_P | Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) | 0 | 25.12.2015 14:14 |
Поиск слов в текстовом файле | slipkos | Помощь студентам | 4 | 02.06.2013 19:18 |
Поиск симметричных слов в файле | Almost | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 10.01.2013 08:53 |
Поиск слов в файле | сушка | Общие вопросы по программированию, компьютерный форум | 1 | 08.04.2012 12:44 |
Поиск слов в текстовом файле | svt | Помощь студентам | 8 | 07.11.2009 19:56 |