Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 40038.doc
Скачиваний:
7
Добавлен:
30.04.2022
Размер:
229.89 Кб
Скачать

Получение текущей директории

Текущая директория отображается компонентой Edit1.   

TEdit *Edit1; 

DWORD dwCurDir;  

char lpCurDir[255]; 

void main () 

{dwCurDir=255;if (dwCurDir>=GetCurrentDirectory(dwCurDir,lpCurDir))Edit1->Text=lpCurDir;}

Получение пути к файлу

Входное имя файла берется из свойства FileName компоненты OpenDialog1. Компонента Edit1 выводит полный путь к файлу вместе с именем, Edit2 - имя файла.   

TEdit *Edit1;  TEdit *Edit2;  TOpenDialog *OpenDialog1;   DWORD dwPath;  char lpPath[255];//объявление указателя и выделение памяти для пути и имени файла  char *ppszFilePart;//объявление указателя на имя файла (использует память, выделенную выше)  void main ()  {dwPath=255;   if (cchPath>=GetFullPathName(OpenDialog1->FileName.c_str(),dwPath,lpPath,   &ppFilePart)) {Edit1->Text=lpPath;Edit2->Text=ppFilePart;}} 

Получение атрибутов файла

Входное имя файла берется из свойства FileName компоненты OpenDialog1. Компоненты Label1 - Label7 выводят значения атрибутов файла.   

TLabel *Label1;  TLabel *Label2;  TLabel *Label3;  TLabel *Label4;  TLabel *Label5;  TLabel *Label6;  TLabel *Label7;  TOpenDialog *OpenDialog1;  void main ()  {   DWORD f_attrib;   f_attrib=GetFileAttributes(OpenDialog1->FileName.c_str());   if (f_attrib!=0xffffffff)    {     if (f_attrib&FILE_ATTRIBUTE_NORMAL)    Label1->Caption="без атрибутов";     if (f_attrib&FILE_ATTRIBUTE_SYSTEM)    Label2->Caption="системный";     if (f_attrib&FILE_ATTRIBUTE_ARCHIVE)   Label3->Caption="архивный";     if (f_attrib&FILE_ATTRIBUTE_HIDDEN)    Label4->Caption="скрытый";     if (f_attrib&FILE_ATTRIBUTE_READONLY)  Label5->Caption="только для чтения";     if (f_attrib&FILE_ATTRIBUTE_TEMPORARY) Label6->Caption="временный";     if (f_attrib&FILE_ATTRIBUTE_DIRECTORY) Label7->Caption="директория";    }  } 

Получение размера файла

Входное имя файла берется из свойства FileName компоненты OpenDialog1. Компонента Edit1 выводит размер файла.  

TEdit *Edit1;  TOpenDialog *OpenDialog1;  HANDLE hFile;  void main ()  {  DWORD f_size;  char fsize[25];  hFile=CreateFile(OpenDialog1->FileName.c_str(),NULL,NULL,NULL,OPEN_EXISTING,NULL,NULL);  f_size=GetFileSize(hFile,NULL);if (f_size!=0xffffffff) Edit1->Text=ultoa(f_size,fsize,10);  CloseHandle(hFile);  } 

Поиск файла по маске

Входное имя файла берется из свойства Text компоненты Edit1. Компонента ListBox1 выводит имена найденных файлов в полном формате, а ListBox2  - в формате 8.3.  

TEdit *Edit1;  TListBox *ListBox1;  TListBox *ListBox2;  WIN32_FIND_DATA lpffd;   HANDLE hFile_find;  {  hFile_find=FindFirstFile(Edit1->Text.c_str(),&lpffd);  if (hFile_find!=INVALID_HANDLE_VALUE)   {ListBox1->Items->Append(lpffd.cFileName);   ListBox2->Items->Append(lpffd.cAlternateFileName);}  while (FindNextFile(hFile_find,&lpffd))  {ListBox1->Items->Append(lpffd.cFileName);  ListBox2->Items->Append(lpffd.cAlternateFileName);}  FindClose(hFile_find);  }