Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Как программно создать папку? (http://forum.oszone.net/showthread.php?t=182002)

Viruss 02-08-2010 19:41 1465457

а как создать папку, если ее нет?

ganselo 03-08-2010 04:08 1465702

Код:

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


Viruss 03-08-2010 14:14 1465969

ganselo, Мне надо на я зыке С++...

Drongo 03-08-2010 16:40 1466074

Viruss, Так это и есть на С++ :) Ещё вариант.

Код:

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


Viruss 03-08-2010 17:29 1466103

Drongo, а как прописать что бы прорамма проверяла есть ли такая папка в заданном каталое?

ganselo 03-08-2010 22:16 1466296

Цитата:

Цитата Viruss
а как прописать что бы прорамма проверяла есть ли такая папка в заданном каталое? »

Если папка существует, то функция вернёт FALSE.

котвася 04-08-2010 01:55 1466412

может это поможет:
Код:



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 1466757

Цитата:

Цитата котвася
пытаемся найти первичные половые признаки предыдущей директории.... »

каменты жгут)

Viruss 03-12-2010 11:59 1557385

Подскажите, как создать новую папку на FTP сервере....

ganselo 03-12-2010 12:39 1557414

Viruss, mkdir dir_name ?

Viruss 03-12-2010 15:58 1557559

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

ganselo 03-12-2010 16:14 1557568

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


Время: 20:16.

Время: 20:16.
© OSzone.net 2001-