Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.24;
Скачать: CL | DM;

Вниз

Создать в каталоге, 35 подкаталогов с именами лат. алфавита и 0-9   Найти похожие ветки 

 
Леонид Артюхов   (2009-12-02 19:16) [0]

Всем привет,

Доброго времени суток, Уважаемые Мастера!

В своей ежедневной работе и так сказать ИТ жизни, сталкиваюсь с такой необходимостью, как каталогизирование различного софта и т д

Так вот, решил написать микро-утилиту, чтобы в один клик создавала в указанном каталоге, подкаталоги с именами от a...9. То есть теперь сам вопрос, не подскажите ли Вы Многоуважаемые, как создать такой Алгоритм (функцию)? подкаталоги должны быть в латинском алфавите и с именами: a,b,c,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9.

C Уважением, Леонид!


 
DVM ©   (2009-12-02 19:20) [1]


> Леонид Артюхов

Имена каталогов заносишь в массив.
Проходишь циклом по элементам массива
Создаешь каталоги


 
antonn ©   (2009-12-02 19:21) [2]

ord("a") - вернет код латинской буквы "а".
char(65) - вернет символ большой латинской А. Коды идут подряд, 66 - это большая В, 67 - С. Нетрудно догадаться, что все это можно запихнуть в цикл:
for i:=65 to 67 do
 createdir(char(i));


ну и дальше по аналогии :)


 
Anatoly Podgoretsky ©   (2009-12-02 19:30) [3]

Какую букву из 36 нельзя использовать?


 
Anatoly Podgoretsky ©   (2009-12-02 19:32) [4]

> antonn  (02.12.2009 19:21:02)  [2]

Фу какая глупость.

for I := "a" to "z"


 
antonn ©   (2009-12-02 19:39) [5]


> Фу какая глупость.
>
> for I := "a" to "z"
>

дальше, дальше где код? :)


 
DVM ©   (2009-12-02 19:53) [6]

С массивом имхо и нагляднее и удобнее. И пропускать буквы можно если надо.


 
Leonid Troyanovsky ©   (2009-12-02 23:32) [7]


> Леонид Артюхов   (02.12.09 19:16)

> 0,1,2,3,4,5,6,7,8,9

Оно ж не лат., бо арабские.

--
Regards, LVT.


 
Юрий Зотов ©   (2009-12-03 00:07) [8]

> antonn ©   (02.12.09 19:39) [5]

procedure CreateDir(DirName: string);
...
end;

var
 i: char;
begin
 for i := "0" to "9" do
   CreateDir(i);
 for i := "a" to "z" do
   CreateDir(i);
end;


 
Германн ©   (2009-12-03 01:46) [9]


> Leonid Troyanovsky ©   (02.12.09 23:32) [7]
>
>
> > Леонид Артюхов   (02.12.09 19:16)
>
> > 0,1,2,3,4,5,6,7,8,9
>
> Оно ж не лат., бо арабские.
>

Крамер против Крамера.
:)


 
brother ©   (2009-12-03 05:57) [10]

для таких вещей можно использовать .BAT файл с содержанием:
@ECHO OFF
FOR /l %%i IN (0,1,9) DO mkdir %%i
FOR %%i IN (q w e r t y u i o p a s d f g h j k l z x c v b n m) DO  mkdir %%i
pause

зы и никакого делфи ;)


 
brother ©   (2009-12-03 05:58) [11]

> (q w e r t y u i o p a s d f g h j k l z x c v b n m)

лень было по порядку набирать)))))))))


 
brother ©   (2009-12-03 06:00) [12]

ну, или так:
@ECHO OFF
FOR %%i IN (q w e r t y u i o p a s d f g h j k l z x c v b n m 0 1 2 3 4 5 6 7 8 9) DO  mkdir %%i
pause

удачи!


 
Anatoly Podgoretsky ©   (2009-12-03 08:50) [13]

> brother  (03.12.2009 05:57:10)  [10]

Изыди проклятый


 
Anatoly Podgoretsky ©   (2009-12-03 08:51) [14]

> brother  (03.12.2009 05:58:11)  [11]

А ты порядок знаешь?


 
Sergey13 ©   (2009-12-03 09:01) [15]

> [0] Леонид Артюхов   (02.12.09 19:16)

Не очень понятна сама идея - как создание 35 папок поможет в великом деле каталогизации софта.
При том что существует великое множество готовых каталогизаторов.


 
brother ©   (2009-12-03 09:17) [16]

> Изыди проклятый

не любите bat файлы?

> А ты порядок знаешь?

а то)


 
Anatoly Podgoretsky ©   (2009-12-03 09:30) [17]

> Sergey13  (03.12.2009 09:01:15)  [15]

Но нет 35ти каталоговых.


 
RWolf ©   (2009-12-03 09:55) [18]

Макрос для Far, создаёт папки от a до z:

%ch="a";
$While (asc(%ch)<=asc("z"))
 F7
 $Text %ch
 %ch=chr(asc(%ch)+1);
 Enter
$End


 
Леонид Артюхов   (2009-12-03 20:07) [19]

Всем Огромное Спасибо!
Попробовал все ваши варианты, акромя массива, не смог передать его в функцию!
В итоге заюзал батник :)


 
brother ©   (2009-12-04 04:25) [20]

> В итоге заюзал батник :)

+5 !)


 
Леонид Артюхов   (2009-12-04 06:21) [21]

var
 CharsArray: array[1..36] of Char;
 i: integer;
begin
   CharsArray := "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   for i := 1 to 36 do
   CreateDir("C:\Test\" + CharsArray[I]);
end;

Все получилось, спс еще раз Всем!


 
Дмитрий С ©   (2009-12-04 06:37) [22]

for c:=#0 to #255 do if c in ["a".."z","0".."9"] then CreateDir("C:\Test\" +c);


 
Наиль ©   (2009-12-05 23:49) [23]

Когда все папки уже есть, но ещё пусты я их закатываю Rar"ом в SFX-архив в режиме тихой распаковки.
Т.е. при распаковке не показываются окна и происходит автоматическая замена файлов существующих файлов.
Правда, у меня и названия подлинее и папок поменьше.
Поэтому папки я создаю вручную.
Этот метод особено удобен, когда нужно заменить десяток из тысячи файлов раскиданых по разным папкам на множестве компьютеров.
Повторяется структура папок оригинала, по папкам раскладываютя файлы, которые нужно заменить.
Делается SFX, который запускается на разных компьютерах.
Самый удобный способ для подобной задачи.
А что касается примера из [21], то exe-файл получается меньше размером, чем из Delphi.



Страницы: 1 вся ветка

Текущий архив: 2010.01.24;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.01 c
15-1258645461
И. Павел
2009-11-19 18:44
2010.01.24
Кпоблема с кодировками


15-1258146808
POOP
2009-11-14 00:13
2010.01.24
Редакторы кода в несколько колонок.


1-1234441892
Tack
2009-02-12 15:31
2010.01.24
Неразрывный пробел в RichEdit


15-1258538079
Palladin
2009-11-18 12:54
2010.01.24
Семь раз отмерь, один раз отрежь.


2-1259179871
sloosar
2009-11-25 23:11
2010.01.24
Удаление пустой строки