PDA

Показать полную графическую версию : [решено] Как программно создать папку?


Viruss
02-08-2010, 19:41
а как создать папку, если ее нет?

ganselo
03-08-2010, 04:08
BOOL CreateDirectory
(
LPCTSTR lpPathName, // имя каталога
LPSECURITY_ATTRIBUTES lpSecurityAttributes // атрибуты безопасности
);

Viruss
03-08-2010, 14:14
ganselo, Мне надо на я зыке С++...

Drongo
03-08-2010, 16:40
Viruss, Так это и есть на С++ :) Ещё вариант.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
CreateDir("MyFolder");
}
//---------------------------------------------------------------------------

Viruss
03-08-2010, 17:29
Drongo, а как прописать что бы прорамма проверяла есть ли такая папка в заданном каталое?

ganselo
03-08-2010, 22:16
а как прописать что бы прорамма проверяла есть ли такая папка в заданном каталое? »
Если папка существует, то функция вернёт FALSE.

котвася
04-08-2010, 01:55
может это поможет:



TCHAR sPathTo [] = “c:\\1\\2\\3\\4\\5\\6\\7\\8”;//директория, которую нужно создать

bool AQLCreateDirectory(TCHAR * sPathTo)
{
//пока директория не создана, будем пытаться её создать//
while(CreateDirectory(sPathTo, NULL) == FALSE)
{
/* директория не создана, поэтому нужно сначала создать ”предыдущую” директорию */
TCHAR sTemp[MAX_PATH];
int k = strlen(sPathTo);
strcpy(sTemp, sPathTo);

//пытаемся найти и создать директорию самого “нижнего” уровня
while(CreateDirectory(sTemp, NULL) != TRUE)
{
/* пытаемся найти первичные половые признаки предыдущей директории.... */
while(szTemp1[--k] != '\\')
{
if(k<=1)
return FALSE;/* похоже, что директория создана быть вообще не может!
sTemp[k] = NULL;
}
/* ......а как только нашли - создать её */
}
//во время первого прохода будет создана директория “1”, во время второго – “2” и т.д.
}
return TRUE;
}

ganselo
04-08-2010, 15:53
пытаемся найти первичные половые признаки предыдущей директории.... »
каменты жгут)

Viruss
03-12-2010, 11:59
Подскажите, как создать новую папку на FTP сервере....

ganselo
03-12-2010, 12:39
Viruss, mkdir dir_name ?

Viruss
03-12-2010, 15:58
я сделал так: FTP->MakeDir("NAME");
но возникла проблема...
при повторной загрузке выкидывает ошибку, что папка существует...
Как обойти эту ошибку?

ganselo
03-12-2010, 16:14
Прежде чес создавать нужно проверить, существует ли эта директория.
Способы:
1. Почитать описание протокола ftp, м.б. есть готовые решения.
2. Извлечь список фалов и директорий, и проверить есть ли там нужная.
3. Попытаться перейти в нужную директорию.




© OSzone.net 2001-2012