|
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 33
|
|||||||||||
Таймер в MFC01.03.2011, 14:08. Показов 6181. Ответов 7
Метки нет (Все метки)
Здравствуйте. Такая ситуация:
Я хочу читать построчно файл и выводить строки в ListBox (при нажатии на кнопку). Но не через одно время(как это предусмотрено в таймере) А, скажем, первую строку через 5 сек. Вторую через 10 и т д. Я делаю так:
А если допустим вставить AfxMessageBox('ляляля') после SetTimer,
Что вообще происходит??? Как сделать чтоб всё работало??? Заранее спасибо.
0
|
|||||||||||
| 01.03.2011, 14:08 | |
|
Ответы с готовыми решениями:
7
Таймер должен через время положить файл на БД. [Таймер] Поясните за таймер!) Или таймер на формах наследниках Из MFC 2012 в MFC 2005 |
|
1 / 1 / 2
Регистрация: 05.08.2009
Сообщений: 96
|
|
| 01.03.2011, 16:54 | |
|
А происходит следующее:
Пока у Вас циклит while(File.ReadString(str)!=FALSE){...} Никаких виндовских мессаджей не обрабатывается (в том числе WM_TIMER) Тимер начнёт обрабатываться только после выхода из void CMytimeDlg::OnButton1(){...} но к этому времени переменная str уже пустая(Весь файл прочитали) и соответственнон ничего нету. А когда ставите AfxMessageBox('ляляля');,то while останавливаеться и прога начинает обрабатывать виндавские мессаги(WM_TIMER).К примеру если Вы уберёте KillTimer(ID_TIMER_1); в OnTimer(...), то увас будет добавляться одна и таже строка с периодичностью 1 сек. Вот в другом Вашем вопросе от 19.12.2004 04:48, если Вы с ним уже разобрались,то должно всё работать.Немного изменить его под новые цели и порядок. Если, что то у Вас не получиться то подскажу.
0
|
|
|
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 33
|
|
| 03.03.2011, 10:59 [ТС] | |
|
Спасибо. С этим разобрался.
Теперь следующая проблема: Нужно по истечении времени таймера добавить эту же строку во второй ListBox. То есть раньше я просто читал строки из файла и выводил их в список (интервал каждый раз разный), а теперь нужно: 1. Считать строку из файла и записать её в ListBox1 2. Подождать указанное время 3. Записать эту же строку в ListBox2 И так, пока строки в файле не закончатся. То есть раньше выполнялось одно действие через определённый интервал (всегда разный), а сейчас нужно выполнить первое действие (прочитать строку из файла и добавить её в ListBox1, подождать указанный промежуток времени (тоже всегда разный), и выполнить второе действие (записать эту же строку в ListBox2). И так в цикле, пока строки не кончатся. Как это сделать??? Спасибо.
0
|
|
|
1 / 1 / 2
Регистрация: 05.08.2009
Сообщений: 96
|
||||||
| 03.03.2011, 12:33 | ||||||
|
Небось всё на таймерах.
Тогда организуй ещё один таймер(тимер2). В первом таймере считываешь строчку.Затем его убиваешь и включаешь тимер2.В тимере2 добавляешь строку в Лист2 и включаешь тимер1(не забыв убить тимер2). В OnTimer(UINT uTime) разделяешь их как нибуть так:
0
|
||||||
|
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
|
|
| 03.03.2011, 15:03 | |
|
а не проще сделать все на одном таймере и какой нить булевой переменной ?
bool x; если x=false читаем в первый лист бокс x=true; ...... если x==true читаем во второq листбокс x=false;
0
|
|
|
1 / 1 / 2
Регистрация: 05.08.2009
Сообщений: 96
|
|
| 03.03.2011, 16:01 | |
|
С bool тоже вариант.Только если понадобиться еще какая-нибуть задача,то уже не bool нуден а char.И получиться то же самое только в профиль.
)
0
|
|
|
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 33
|
|
| 04.03.2011, 13:38 [ТС] | |
|
Спасибо. Разобрался. Всё работает.
Ещё такой вопрос: Следующую программу мне предстоит делать тоже с использованием таймеров. Только там будет ListCtrl и для каждой строки нужно будет делать таймер. И на двойной клик по итему, нужно будет запускать таймер и тоже что-то выполнять. Причём количество итемов в списке будет неограничено. Значит и кол-во таймеров тоже. Можно ли такое будет реализовать с помощью такого таймера. Если нет, то какие средства ещё существуют в MFC для работы со временем? Спасибо...
0
|
|
|
0 / 0 / 0
Регистрация: 13.03.2011
Сообщений: 4
|
|
| 13.03.2011, 20:51 | |
|
Зайди на www.P-Lib.narod.ru, там есть подробное описание работы с таймером и есть чтото похожее на эту функцию.
0
|
|
| 13.03.2011, 20:51 | |
|
Помогаю со студенческими работами здесь
8
подключение классов MFC к не MFC Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll Таймер похожий на таймер в delphi Таймер, вложенный в таймер Звук и таймер - реализовать классы: "зв. сигал", "таймер" и "секундомер-сигнализатор" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|