C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Прблема с кодом
dog
Отправлено: 07.12.2006, 14:13


Ученик-кочегар

Группа: Участник
Сообщений: 5



Задача вот такая: в определенной директории время от времени появляется файл который надо отловить(что он появился), открыть, проверить в первой строчке наличие определенного символа и если данный символ есть то переименовать файл После появления файла десятый раз вылетает ошибка приложения и приложение закрывается,
вот код который выполняется в таймере

CODE

Timer1->Interval = 1000;
if (FileExists("c:\\test.dat"))
{
}
else
{
if (FileExists("c:\\rec.dat"))
{
FILE *r;
r = fopen( "c:\\test.dat", "w+" );
fclose ®;
FILE *F;
  if ((F=fopen("c:\\rec.dat", "rt")) == NULL);
     ShowMessage("ошибка");
  return;
 strcpy(str1,"C1");
   do
    { fscanf(F, "%str", &str);
     if (feof(F) || !strcmp(str,str1)) break;
    }
   while(true);
  fclose(F);
    if (!strcmp(str,str1))
     {
      CopyFile("c:\\rec.dat","c:\\knt.dat",false);
//       DeleteFile("c:\\rec.dat");
      }
     else
     {
      CopyFile("c:\\rec.dat","c:\\mnt.dat",false);
//       DeleteFile("c:\\rec.dat");
      }
    if(FileExists("c:\\knt.dat"))
       {
       Image5->Picture = Image2->Picture;
       Label1->Caption = "товар";
       WinExec("c:\\apply.bat",SW_HIDE);
       }
     else
       {
       Image5->Picture = Image2->Picture;
       Label1->Caption = "клиент";
       WinExec("c:\\apply.bat",SW_HIDE);
       }
 }


в чем может быть проблема, у меня такое ощущение, что проблема в чтении файла

Пользуйся тегами CODE
gvg
Отправлено: 07.12.2006, 14:36


Машинист паровоза

Группа: Участник
Сообщений: 222



Ошибок много, возможно из-за помещения кода без тэгов кода.
Tantos
Отправлено: 10.12.2006, 12:13


Станционный диспетчер

Группа: Участник
Сообщений: 108



Может, тебе отказаться от таймера и применить ReadDirectoryChangesW?

Вернуться в Вопросы программирования в C++Builder