Проблемы с таймером в MFC.
Добавлено: 19 дек 2004, 04:52
Здравствуйте. Такая ситуация:
Есть txt файл. Я хочу читать построчно и выводить строки в ListBox (при
нажатии кнопки)через
каждые ,допустим, 5 секунд. Когда строки заканчиваются,
нада чтоб таймер останавливался. Я делаю так:
CMytimerDlg::Timer()
{
int r=2000;
if (!Test)
{
Test=true;
SetTimer(ID_TIMER_1,5000,NULL);
}
else
{
Test=false;
KillTimer(ID_TIMER_1);
}
// TODO: Add your control notification handler code here
}
void CMytimerDlg::OnButton2() // кнопка
{
File.Open("time.txt", CFile::modeReadWrite );
File.SeekToBegin();
Timer();
}
void CMytimerDlg::OnTimer( UINT uTime)
{
if( File.ReadString(str)!=FALSE) читаем строку из файла
{
m_List.AddString(str); добавляем в список
}
else
{KillTimer(ID_TIMER_1); // если стр =0, то закрывем таймер
File.Close(); //закрываем файл
AfxMessageBox(str, MB_OK);} // эта строка должна быть нулевая
// Проверяем простро для наглядности
}
Вроде всё нормально работает, но только один раз.
При повторном нажатии на кнопку выскакивает
ошибка чтения( или записи) файла. Что происходит???
Что я делаю не так???
Заранее спасибо
Есть txt файл. Я хочу читать построчно и выводить строки в ListBox (при
нажатии кнопки)через
каждые ,допустим, 5 секунд. Когда строки заканчиваются,
нада чтоб таймер останавливался. Я делаю так:
CMytimerDlg::Timer()
{
int r=2000;
if (!Test)
{
Test=true;
SetTimer(ID_TIMER_1,5000,NULL);
}
else
{
Test=false;
KillTimer(ID_TIMER_1);
}
// TODO: Add your control notification handler code here
}
void CMytimerDlg::OnButton2() // кнопка
{
File.Open("time.txt", CFile::modeReadWrite );
File.SeekToBegin();
Timer();
}
void CMytimerDlg::OnTimer( UINT uTime)
{
if( File.ReadString(str)!=FALSE) читаем строку из файла
{
m_List.AddString(str); добавляем в список
}
else
{KillTimer(ID_TIMER_1); // если стр =0, то закрывем таймер
File.Close(); //закрываем файл
AfxMessageBox(str, MB_OK);} // эта строка должна быть нулевая
// Проверяем простро для наглядности
}
Вроде всё нормально работает, но только один раз.
При повторном нажатии на кнопку выскакивает
ошибка чтения( или записи) файла. Что происходит???
Что я делаю не так???
Заранее спасибо