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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2011, 04:39   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
Вопрос Как создать директории по порядку с 00 до 100, а не с 0?

Добрый день! Сабж в названии темы. Вот мой код создания:
Код:
procedure TForm4.sCheckBox1Click(Sender: TObject);
var
  i: Integer;
  bib: string;
begin
  if Form4.sCheckBox1.Checked = True then
  begin
    CreateDir(ExtractFilePath(Application.ExeName) + 'Folder');
    bib:=ExtractFilePath(Application.ExeName) + 'Folder';
    for i:=00 to 100 do
    begin
      CreateDir(bib + '\' + '0' + IntToStr(i));
    end;
  end;
end;
таким образом создается директория Folder и в ней создается заданное количество директорий, но, у них в имени находится в начале лишний "0". Нужно, чтобы этот "0" был только у первых 9 папок, а начиная с 10ой его уже не было. Если вместо
Код:
CreateDir(bib + '\' + '0' + IntToStr(i));
написать
Код:
CreateDir(bib + '\' + IntToStr(i));
то папки также создадуться, но у них в начале не будет "0". Вот. Думаю, что понятно написал. У кого какие мысли на этот счет?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.01.2011, 06:27   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
procedure TForm4.sCheckBox1Click(Sender: TObject);
var
  i: Integer;
  bib: string;
begin
  if Form4.sCheckBox1.Checked = True then
  begin
    CreateDir(ExtractFilePath(Application.ExeName) + 'Folder');
    bib:=ExtractFilePath(Application.ExeName) + 'Folder';
    for i:=0 to 100 do
    begin
If i<10 then      CreateDir(bib + '\' + '0' + IntToStr(i)) else CreateDir(bib + '\' + IntToStr(i)) 
    end;
  end;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 27.01.2011, 06:57   #3
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Код:
function IntToStrPad(const Int, Len: Integer): String;
begin
  Result := IntToStr(Int);
  if Length(Result) < Len then
    Result := StringOfChar('0', Len - Length(Result)) + Result;
end;
и заменить в коде IntToStr(i) на IntToStrPad(i, 3) (или IntToStrPad(i, 2))
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 27.01.2011, 10:02   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
 CreateDir(bib + '\'  + Formatfloat('00',i));
SERG1980 вне форума Ответить с цитированием
Старый 28.01.2011, 01:00   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Formatfloat
Оригинально и свежо.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 28.01.2011, 04:02   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а зачем Float?
простого Format хватит.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диалог выбора директории с кнопкой "Создать папку" artemavd Общие вопросы Delphi 8 24.11.2010 11:26
Воплотить идею: for i:=0 to 100 Edit[i].text:=random(100) tigr1991 Общие вопросы Delphi 6 29.09.2010 18:53
создать таблицу подстановкой столбцов со 100 листов того же файла EvgeniyaZ Microsoft Office Excel 4 16.05.2010 00:51
заполнить файл целыми числами из отрезка [—100; 100] с помощью датчика случайных чисел. ALEX-7-7-7 Паскаль, Turbo Pascal, PascalABC.NET 4 05.04.2009 14:51
как посчитать даты по порядку? Vorchun Microsoft Office Excel 4 27.11.2008 21:32