Текущий архив: 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