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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2010, 22:12   #1
Sonyalex90
Пользователь
 
Регистрация: 20.09.2009
Сообщений: 23
По умолчанию file manager

помогите пожалуйста. есть файловый менеджер написанный на с++ с использованием win api. нужно добавить возможность копирования и перемещения файлов и папок, и удаление файлов по маске.

Вот код:
#include <iostream>
#include <stdio.h>
#include <windows.h>
#include <winbase.h>

using namespace std;

WIN32_FIND_DATA wfd;
HANDLE hFile;

HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO SCRN_INFO;

COORD pos;

void show(char z[50]);
void clr();
void newf(char z[50]);
char folder[30]="C:/*.*";
char text[30];
char fil[30];

int i1=0;
int q=1;
int main()
{
int i=0;

show(folder);
show(folder);

while (q) {

cin>>i;
if(i<7)cin>>folder;
switch (i)
{
case 1:show(folder);break;
case 2:newf(folder);break;
case 3:RemoveDirectory(folder);clr();bre ak;
case 4:FILE *fp; fp = fopen(folder, "w");fclose(fp);clr();break;
case 5:FILE *fp1; fp1 = fopen(folder, "r");
fscanf(fp1,"%s",&fil);
clr();
pos.X=5;
pos.Y=10;
SetConsoleCursorPosition(hOutput,po s);
SetConsoleTextAttribute(hOutput, 30);
cout<<fil;
pos.X=46;
pos.Y=23;
fclose(fp1);
fp1 = fopen(folder, "w");
cin>>text;
fprintf(fp1,"%s",fil);
fprintf(fp1,"%s",text);
SetConsoleCursorPosition(hOutput,po s);
fclose(fp1);
break;
case 6:DeleteFile(folder);clr();break;
case 7:q=0;break;
}
}


}


void show(char z[50])
{
int z1=0;
clr();
SetConsoleTextAttribute(hOutput, 30);
hFile=FindFirstFile(folder, &wfd);
cout << wfd.cFileName<<endl;
int i=0;
for(i=0; i<17; i=i+1)
{
z1=FindNextFile(hFile, &wfd);
pos.X=3;
pos.Y=(i+3);
SetConsoleCursorPosition(hOutput,po s);
if (z1==0) goto m3;
cout << wfd.cFileName<<endl;
m3:
;
}
pos.X=46;
pos.Y=23;
SetConsoleCursorPosition(hOutput,po s);
cout<<" ";
pos.X=46;
pos.Y=23;
SetConsoleCursorPosition(hOutput,po s);
}

void clr()
{
system("cls");
cout<<folder<<endl;
SetConsoleTextAttribute(hOutput, 3);
int j;
cout<<"____________________________ ___________________________________ _________________";
SetConsoleTextAttribute(hOutput, 30);
for(j=0;j<19;j=j+1)
cout<<" ";
SetConsoleTextAttribute(hOutput, 3);
cout<<"____________________________ ___________________________________ _________________";
cout<<"[1:show fldr][2:new fldr] [3el fldr][4:new doc] [5:ed doc][6el doc] [7:exit]";
SetConsoleTextAttribute(hOutput, 15);
cout<<"<enter command (command and way to a file)> > " ;
}

void newf(char z[30])
{
CreateDirectory(folder, 0 );
clr();
}


Помогите кто знает, нужно максимум до утра четверга... помогите пожалуйста =(((

Последний раз редактировалось Sonyalex90; 01.06.2010 в 22:32.
Sonyalex90 вне форума Ответить с цитированием
Старый 01.06.2010, 22:14   #2
Sonyalex90
Пользователь
 
Регистрация: 20.09.2009
Сообщений: 23
По умолчанию

просто после того как получил задание попал на месяц в больницу не по своей воле =((((
Sonyalex90 вне форума Ответить с цитированием
Старый 02.06.2010, 01:43   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Вы ослепли и оглохли, забыли русский (английский) язык... и поэтому не могли читать книги, конспекты?
p51x вне форума Ответить с цитированием
Старый 02.06.2010, 03:35   #4
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Вот, за тобой дело разобрать что тебе нужно.

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

Код:
void Execute::TSearchFile()
{
	WIN32_FIND_DATAA FindFile;

	printf("[SEARCH FILE]\n Name: "); gets(wwf.lpSearchFile); printf("\n");

	if (strlen(wwf.lpSearchFile) > szCHAR)
	{ MessageBoxA(NULL, "The file name exceeds limit of char!", "Error!", MB_OK); }

	int kFile = 0; 
	char *File = "\\*.*";
	
	if ( GetCurrentDirectoryA(sizeof(szPATH), szPATH) )
	{  
		lstrcatA(szPATH, File);

		HANDLE hFile = FindFirstFileA(szPATH, &FindFile);

		if (hFile != INVALID_HANDLE_VALUE)
		{ 
			do
			{
				if (kFile > 2)
				{
					if ( strcmp(wwf.lpSearchFile, FindFile.cFileName) != 0 )
					{ 
						printf("[%2d]: Fisier apropiat de \"%s\"\n[%2d]: (%d) - Fisier asemanator \"%s\"\n\n", 
							kFile - 2, wwf.lpSearchFile, kFile - 2, TLongestSubsequence(wwf.lpSearchFile, FindFile.cFileName), FindFile.cFileName); 
					}
					else
					{ 
						printf("------------------------------\n");
						printf("[%d]: Fisier cautat -> %s\n", kFile - 2, FindFile.cFileName); 
						printf("------------------------------\n\n");
					}
				} 
				kFile++;
			}
			while ( FindNextFileA(hFile, &FindFile) != 0 ); 		
	    }
		FindClose(hFile);
	}

	printf("\n"); this->TSelect();
}
#Удаления файлов

Код:
void Execute::TDeleteFile()
{	
	printf("[DELETE FILE]\n Name: "); gets(wwf.lpDeleteFile);

    if (strlen(wwf.lpDeleteFile) > szCHAR)
	{ MessageBoxA(NULL, "The file name exceeds limit of char!", "Error!", MB_OK); }
	
	DeleteFileA(wwf.lpDeleteFile);

	printf("\n"); this->TSelect();
}
#Winapi функции для копирования и перемещения файлов.

Код:
BOOL WINAPI CopyFile(
  __in  LPCTSTR lpExistingFileName,
  __in  LPCTSTR lpNewFileName,
  __in  BOOL bFailIfExists
);

BOOL WINAPI MoveFile(
  __in  LPCTSTR lpExistingFileName,
  __in  LPCTSTR lpNewFileName
)

Последний раз редактировалось coNsept; 02.06.2010 в 03:38.
coNsept вне форума Ответить с цитированием
Старый 02.06.2010, 09:51   #5
Sonyalex90
Пользователь
 
Регистрация: 20.09.2009
Сообщений: 23
По умолчанию

а никто доделать не может? финансовый вопрос решим без проблем!!!!! =(((
Sonyalex90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чём разница между unit, header file, cpp file? TwiX Общие вопросы C/C++ 6 29.04.2012 19:49
Error 1 fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory s20 Общие вопросы C/C++ 2 26.09.2009 23:28
Получаю сообщение "This file is used by the project manager only and should be treated like the project f fs444 C++ Builder 1 22.09.2009 11:05
Что такое File Server Resource Manager? Stilet Операционные системы общие вопросы 2 19.08.2008 17:40