Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать директорию... ... в нужной мне директории? 
:(
    Опции темы
Bangladesh
Дата 15.7.2005, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



собственно заголовок[b]


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
RaIDeR
Дата 15.7.2005, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.6.2005

Репутация: 1
Всего: 4



CreateDirectory
PM MAIL   Вверх
vadims
Дата 15.7.2005, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



А что то типа CreateDir в Дельфи не существует ???


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
Bangladesh
Дата 15.7.2005, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



Это то я понял - я не знаю как это пременить!... покажите на примере пжалста...


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
RaIDeR
Дата 15.7.2005, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.6.2005

Репутация: 1
Всего: 4



Код

CreateDirectory('C:\MyCoolDir', nil);

smile
PM MAIL   Вверх
Bangladesh
Дата 15.7.2005, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



Цитата(RaIDeR @ 15.7.2005, 07:27)
Код

CreateDirectory('C:\MyCoolDir', nil);

smile

а что такое нил??? и че туда моно еще поставить?


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
vadims
Дата 15.7.2005, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



Нет у меня дельфей сейчас под руками, поэтому точно сказать не могу
Но если делать на Builder'е что по сути то же самое

bool CreateDir(AnsiString Dir);

Description:

CreateDir creates a new directory. The return value is true if a new directory was successfully created, or false if an error occurred.


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
RaIDeR
Дата 15.7.2005, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.6.2005

Репутация: 1
Всего: 4



Цитата(I @ 15.7.2005, 08:29)
Цитата(RaIDeR @ 15.7.2005, 07:27)
Код

CreateDirectory('C:\MyCoolDir', nil);

smile

а что такое нил??? и че туда моно еще поставить?

CreateDirectory
Цитата

Syntax

BOOL CreateDirectory(LPCTSTR lpszPath, LPSECURITY_ATTRIBUTES lpsa)

Limitations:

LPSECURITY_ATTRIBUTES is not supported; fails if non-null.

PM MAIL   Вверх
Bangladesh
Дата 15.7.2005, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



Код

procedure TDialogSave.bbNewFolderClick(Sender: TObject);
begin
 CreateDirectory(SaveFolders.Directory, nil);
end;


не работает.


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Bangladesh
Дата 15.7.2005, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



для наглядности вот:

Присоединённый файл ( Кол-во скачиваний: 19 )
Присоединённый файл  Untitled_1_copy.gif 15,06 Kb


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
RaIDeR
Дата 15.7.2005, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.6.2005

Репутация: 1
Всего: 4



Что такое SaveFolders.Directory ? - если это строка, то попробуй так:
PChar(SaveFolders.Directory)
PM MAIL   Вверх
Alex
Дата 15.7.2005, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162





--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Bangladesh
Дата 15.7.2005, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



Код

procedure TDialogSave.bbNewFolderClick(Sender: TObject);
begin
 CreateDirectory(PChar(SaveFolders.Directory), nil);
end;


не работает. смотрите скрин выше. там SaveFolder - это с папками эта фишка, она же TDirectoryListBox


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
RaIDeR
Дата 15.7.2005, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.6.2005

Репутация: 1
Всего: 4



Код

procedure TForm1.Button1Click(Sender: TObject);
var
  NewPath: String;
begin

  NewPath := DirectoryListBox1.Directory + '\MyCoolDir';

  CreateDirectory(PChar(NewPath), nil)
end;

PM MAIL   Вверх
Bangladesh
Дата 15.7.2005, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



поправте меня если че не так...

Код

function CheckDir(Dir: string): Boolean;
// Если дириктория не существует, то она создается
begin
 Result := True;
 if Length(Dir) = 0 then begin
   Result:= False;
   Exit;
 end;
 Dir := ExcludeTrailingPathDelimiter(Dir);

 if (Length(Dir) < 3) and not DirectoryExists(Dir) then begin
   Result:= False;
 end;

 if (Length(Dir) < 3) or DirectoryExists(Dir)
     or (ExtractFilePath(Dir) = Dir) then
    Result := CheckDir(ExtractFilePath(Dir)) and CreateDir(Dir) and DirectoryExists(Dir);
end;


вот короче говоря код. у меня есть TDirectoryListBox и кнопка. алгоримт таков.
1. Получить путь из этого бокса (SaveDirectory.Directory)
2. Создать в нем папку с именем, которое будет заранее задано...
а) Необходимо проверить, чтобы введенное имя не существовало.

как это будет выглядеть???
Добавлено @ 09:14
Цитата(RaIDeR @ 15.7.2005, 08:04)
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  NewPath: String;
begin

  NewPath := DirectoryListBox1.Directory + '\MyCoolDir';

  CreateDirectory(PChar(NewPath), nil)
end;

а если эта директория есть??? че надо делать надо создавать такуюже, но в скобках (2), если есть (2) то (3) и так далее. но не писать де это все условиями??


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Rennigth
Дата 15.7.2005, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



юзай ForceDirectories


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
RaIDeR
Дата 15.7.2005, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 20.6.2005

Репутация: 1
Всего: 4



Чуточку подправил smile

Код

function ChkDir(DirName: String) : String; // Ф-ия вернёт имя не существующеё папки
var
  I: Integer;
  NewDir: String;
begin

  Result := '';

  NewDir := DirName;

  for I := 0 to 1000 do
    if DirectoryExists(NewDir) then
      NewDir := DirName  + '(' + IntToStr(I) + ')'
    else begin
      Result := NewDir;
      Break;
    end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateDirectory(PChar(ChkDir(DirectoryListBox1.Directory + '\MyCoolDir')), nil);  // Использование
end;


p.s
Не проверял

Это сообщение отредактировал(а) RaIDeR - 15.7.2005, 09:50
PM MAIL   Вверх
mvdr
Дата 15.7.2005, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Код

function CheckDir(Dir: string): Boolean;
begin
 Result := True;
 if Length(Dir) = 0 then begin
   Result:= False;
   Exit;
 end;
 Dir := ExcludeTrailingPathDelimiter(Dir);
 if (Length(Dir) < 3) and not DirectoryExists(Dir) then begin
   Result:= False;
   Exit;
 end;
 if (Length(Dir) < 3) or DirectoryExists(Dir)
     or (ExtractFilePath(Dir) = Dir) then
   Exit;
 Result := CheckDir(ExtractFilePath(Dir)) and CreateDir(Dir) and DirectoryExists(Dir);
end;



Код

procedure TForm1.FormCreate(Sender: TObject);
begin
 checkDir('C:\Program Files\Papka\');
 checkDir('C:\Program Files\Papka\SubPapka');
end; 

Добавлено @ 09:32
Когда то давал Alex

Это сообщение отредактировал(а) Femida - 15.7.2005, 09:31


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Alex
Дата 15.7.2005, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Alex @ 15.7.2005, 09:58)
http://vingrad.ru/DELPHI-DLP-002500

Ведь дал ссылку где все давно уже объяснено smile


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Bangladesh
Дата 17.7.2005, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



Цитата(Alex @ 15.7.2005, 11:31)
Цитата(Alex @ 15.7.2005, 09:58)
http://vingrad.ru/DELPHI-DLP-002500

Ведь дал ссылку где все давно уже объяснено smile

так я ведь её смотрел, но не много там понял...


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.