Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 22
1

Работа с файлом- остановка чтения

06.09.2011, 20:43. Показов 1166. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пожалуйста помогите бедной мне, все глаза уже проплакала с этой программой((((
Задание: на форме две кнопочки,
при нажатии на первую читается файл на диске;
при нажатии на вторую чтение приостанавливается;
при повторном нажатии чтение возобновляется.

Вот и все, а чувствую себя полной дурой))
Помогите плиз.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2011, 20:43
Ответы с готовыми решениями:

работа с файлом
Помогите! Как написать программу которая открывает уже сеществующий файл и считывает из него...

Работа с Wav файлом
Пишу курсовую. Надо получить спект Wav файла. Прочитал достаточно статей и форумов. В общем оформил...

Работа с текстовым файлом
Напишите программу, которая позволяет: а) выводить на экран содержи-мое указанного текстового...

Работа с bin файлом
Доброго дня. Прошу совета - с чего начать - нужно с bin файла вытащить информацию - текстовые...

18
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
06.09.2011, 21:09 2

Не по теме:

Цитата Сообщение от Meltary Посмотреть сообщение
все глаза уже проплакала
аж читать жалко:-[не плакай


а есть какие-то наработки - что именно не получается??
0
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 22
06.09.2011, 21:38  [ТС] 3
из наработок только:

C++
1
2
3
4
5
6
7
fstream myfile;
myfile.open("f:\\list.txt",ios::in);
this->timer1->Start();
for(;;)
{
if(myfile.read("f:\\list.txt",ios::in)==NULL)break;
}
и то не уверена что правильно, а так вообще ничего в голову не приходит
0
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
06.09.2011, 22:49 4
ага.. ну тут и без таймера можно обойтись(и нужно)

Добавлено через 22 секунды
ща посмотрим

Добавлено через 15 минут
ну собственно одна кнопка запускает цикл чтения файла(пока не конец файла или некая переменная не равна истине)
после нажатии второй кнопки нужно изменить значение той переменной на обратное
C++
1
2
3
4
5
6
7
8
9
10
    
while (!input.eof()) {   //пока не конец файла
    if (stop) {      //если нажали кнопку "стоп"
        break;
    }
    input >> buff;  //чтение
    Memo1->Text = buff; //ет можешь удалить - просто чтоб видно было что читает
    Application->ProcessMessages();  //ет чтоб форма не зависала(хотя всеравно чуть будет)
    Sleep(100); //делаем паузу а то все прочитает и на кнопку нажать не успеешь
}
buff описана как
C++
1
char *buff = new char[1024];
0
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
06.09.2011, 22:53 5
кароче держи
Вложения
Тип файла: 7z 001.7z (24.7 Кб, 11 просмотров)
2
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
06.09.2011, 22:54 6
там если проэкт не совместим с твоей средой то просто код у себя вставишь
0
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 22
06.09.2011, 23:18  [ТС] 7
Огромнейшее спасибо тебе за помощь, буду разбираться (хотя у меня почему то не запускается(может потому что билдер6), и даже если сама копирую выдает ошибку связанную с ProcessFile(((
0
LK
Заблокирован
06.09.2011, 23:25 8
а поподробнее
0
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
06.09.2011, 23:46 9
Цитата Сообщение от Meltary Посмотреть сообщение
может потому что билдер6
да - это не проэкт 6 билдера

ты наверно копируешь только .cpp?
тогда добавь в файл .h(заголовочный) описание этой функции
C++
1
void __fastcall ProcessFile(bool &);
1
Прогер
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
07.09.2011, 04:05 10
Meltary,

Цитата Сообщение от Meltary Посмотреть сообщение
хотя у меня почему то не запускается
Ну lady обясните хоть какую ошибку пишет?
0
Прогер
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
07.09.2011, 04:05 11
Meltary,

Цитата Сообщение от Meltary Посмотреть сообщение
хотя у меня почему то не запускается
Ну lady обясните хоть какую ошибку пишет?
0
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 22
07.09.2011, 08:51  [ТС] 12
Все отлично работает это я дура)))) Всем приогромнейшее спасибо
1
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 22
07.09.2011, 17:49  [ТС] 13
ох-ох-ох
Оказывается я еще и не полностью задание поняла)))
Надо что бы файл для чтения открывался DialogOpen и
что бы в Memo выводилось в двоичной системе, тобишь 0 и 1

Кто готов помочь дальше налетай))) Всем заранее спасибо
0
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
07.09.2011, 18:16 14
Из хелпа к BCB
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void __fastcall TForm1::Button1Click(TObject *Sender)
 
{
  int iFileHandle;
  int iFileLength;
  int iBytesRead;
  char *pszBuffer;
  if (OpenDialog1->Execute())
  {
    try
    {
      iFileHandle = FileOpen(OpenDialog1->FileName, fmOpenRead);
      iFileLength = FileSeek(iFileHandle,0,2);
      FileSeek(iFileHandle,0,0);
      pszBuffer = newchar[iFileLength+1];
      iBytesRead = FileRead(iFileHandle, pszBuffer, iFileLength);
      FileClose(iFileHandle);
 
      for (int i=0;i<iBytesRead;i++)
      {
        StringGrid1->RowCount += 1;
        StringGrid1->Cells[1][i+1] = pszBuffer[i];
        StringGrid1->Cells[2][i+1] = IntToStr((int)pszBuffer[i]);
      }
      delete [] pszBuffer;
    }
    catch(...)
    {
      Application->MessageBox("Can't perform one of the following file operations: Open, Seek, Read, Close.", "File Error", IDOK);
    }
  }
}
0
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 22
07.09.2011, 18:29  [ТС] 15
Спасибо конечно, но мне надо через ifstream
0
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
07.09.2011, 19:41 16
Цитата Сообщение от Meltary Посмотреть сообщение
но мне надо через ifstream
Это в задании так или вы так додумали?
В любом случае
C++
1
2
3
4
if (OpenDialog1->Execute())
  {
   AnsiString filename=OpenDialog1->FileName;
   ... // получили имя файла, а дальше делайте что хотите
0
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 22
07.09.2011, 21:54  [ТС] 17
Да я как только не пробовала, и так как вы советовали и подругому, так ведь не работает
0
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
08.09.2011, 07:08 18
Цитата Сообщение от Meltary Посмотреть сообщение
Да я как только не пробовала, и так как вы советовали и подругому, так ведь не работает
А вы исходные тексты того, что напробовали, выкладывайте сюда и пишите конкретно что не работает.
0
LK
Заблокирован
08.09.2011, 07:34 19
народ, запостите комплектный - all inclusive - код , и решите проблему , а то тут слезы прям с монитора капают
0
08.09.2011, 07:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2011, 07:34
Помогаю со студенческими работами здесь

Работа с bat-файлом
Подскажите, вот создаю батник: FileCreate(&quot;C:\\dd.bat&quot;); Как открыть этот батник и добавить туда...

Работа с текстовым файлом
Поставлена задача находить ссылки на страницы из загруженной страницы HTML. ее получаю благодаря...

Работа с текстовым файлом
В первом Memo1 в один столбик записаны значения координат X. Во втором Memo2 - значения координат...

Работа с текстовым файлом
Задание: &quot;Удалить все четные числа из текстового файла&quot; Предварительно я загрузила текстовый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru