Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.02.2012, 19:16   #1
Hooligan
 
Регистрация: 05.05.2009
Сообщений: 4
По умолчанию При запуске программы, выдает пустое окно.

Код:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}


int __fastcall TForm1::ListDirItems(char *dir, char *mask)
{
  WIN32_FIND_DATA DIR={0};
  HANDLE hFile=0;
  BOOL done=TRUE;
  char dirname[128]={0};
  TCHAR LevelUp='.';
  int ItemCount=0;
  char fullpath[256]={0};
  AnsiString TempString;

  strcpy(dirname,dir);
  strcat(dirname,mask);

  hFile=FindFirstFile(dirname, &DIR);

  while(done)
  {
    if (! (DIR.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
    {
      if (DIR.cFileName[0] != LevelUp && DIR.cFileName[0] != 0)
      {
        ItemCount++;
        GlobalFiles++;
        strcpy(fullpath, "íàéäåí - ");
        strcat(fullpath, dir);
        strcat(fullpath, DIR.cFileName);
        ListBox1->Items->Add(fullpath);
        Edit3->Text=TempString.sprintf("%d",GlobalFiles);
      }
    }
    else
    {
      ItemCount++;
    }

    done=FindNextFile(hFile, &DIR);
  }
  return ItemCount;
}

int __fastcall TForm1::DelListDirItems(char *dir, char *mask)
{
  WIN32_FIND_DATA DIR={0};
  HANDLE hFile=0;
  BOOL done=TRUE;
  char dirname[128]={0};
  TCHAR LevelUp='.';
  int ItemCount=0;
  char fullpath[256]={0};
  AnsiString TempString;
  char DelStr[256]={0};

  strcpy(dirname,dir);
  strcat(dirname,mask);

  hFile=FindFirstFile(dirname, &DIR);

  while(done)
  {
    if (! (DIR.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
    {
      if (DIR.cFileName[0] != LevelUp && DIR.cFileName[0] != 0)
      {
        ItemCount++;
        GlobalFiles++;
        strcpy(fullpath, "óäàëåí - ");

        strcpy(DelStr, dir);
        strcat(DelStr, DIR.cFileName);

        if(DeleteFile(DelStr)==0)
        {
          strcat(fullpath, "[ÎØÈÁÊÀ] - ");
        }

        strcat(fullpath, dir);
        strcat(fullpath, DIR.cFileName);
        ListBox1->Items->Add(fullpath);
        Edit3->Text=TempString.sprintf("%d",GlobalFiles);
      }
    }
    else
    {
      ItemCount++;
    }

    done=FindNextFile(hFile, &DIR);
  }
  return ItemCount;
}

void __fastcall TForm1::ListDir(char *dir, char *maskdir, char *maskfile, int fd)
{
  WIN32_FIND_DATA DIR={0};
  HANDLE hFile=0;
  BOOL done=TRUE;
  char dirname[128]={0};
  TCHAR LevelUp='.';
  int NumberOfItems=0;

  strcpy(dirname,dir);
  strcat(dirname,maskdir);

  hFile=FindFirstFile(dirname, &DIR);

  while(done)
  {
    if (DIR.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    {
      if (DIR.cFileName[0] != LevelUp)
      {
        NodeCount++;

        char dirname2[256]={0};

        strcpy(dirname2,dir);
        strcat(dirname2,DIR.cFileName);
        strcat(dirname2, "\\");

        if(fd==0)
          NumberOfItems=ListDirItems(dirname2, maskfile);
        else
          NumberOfItems=DelListDirItems(dirname2, maskfile);

        ListDir(dirname2, maskdir, maskfile, fd);
      }
    }

    done=FindNextFile(hFile, &DIR);
  }
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  NodeCount=0;
  GlobalFiles=0;
  ListBox1->Items->Clear();

  char Text1[128]={0};
  char Text2[128]={0};

  strcpy(Text1,Edit1->Text.c_str());
  strcpy(Text2,Edit2->Text.c_str());

  ListDirItems(Edit1->Text.c_str(), Edit2->Text.c_str());
  ListDir(Edit1->Text.c_str(), "*.*", Edit2->Text.c_str(), 0);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
  NodeCount=0;
  GlobalFiles=0;
  ListBox1->Items->Clear();

  char Text1[128]={0};
  char Text2[128]={0};

  strcpy(Text1,Edit1->Text.c_str());
  strcpy(Text2,Edit2->Text.c_str());

  DelListDirItems(Edit1->Text.c_str(), Edit2->Text.c_str());
  ListDir(Edit1->Text.c_str(), "*.*", Edit2->Text.c_str(), 1);
}

 //---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  NodeCount=0;
  GlobalFiles=0;
}

Последний раз редактировалось ACE Valery; 29.02.2012 в 21:41.
Hooligan вне форума Ответить с цитированием
Старый 29.02.2012, 19:20   #2
Hooligan
 
Регистрация: 05.05.2009
Сообщений: 4
По умолчанию

Программа позволяет осуществить наиболее быстрый поиск и удаление нужного пользователю файла посредством задания маски этого файла. При компилировании появляется чистое окно. Где я допустил ошибку???
Hooligan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При каждом запуске Word 2010 вылезает окно настройки iukash Microsoft Office Word 0 23.11.2011 23:05
При запуске VS выдает сообщение "exception has been thrown by the target of an invocation" hackgirl Софт 0 08.10.2011 00:59
Поток. Не получается создать поток. Выдает ошибки при запуске bigory Общие вопросы по Java, Java SE, Kotlin 3 23.09.2010 00:40
Выскакивает окно при запуске операционки: Windows не удаётся найти 'svchost.exe'..... СисТемникс Windows 2 15.08.2010 09:23
При запуске еще не дойдя до Windows выдает сообщение 92avenu Windows 5 18.03.2010 16:34