Имя: Пароль:
IT
 
Преобразование пути к директории
0 Вильнар
 
30.07.14
05:56
Добрый день, комрады! Требуется ваша помощь.
Есть путь к директории. Надо создать директорию в другом месте из названия которой можно считать этот путь. Подскажите что гулить по этому вопросу или как это сделать. Желательно Delphi.
1 Escander
 
30.07.14
06:03
>Есть путь к директории.

например C:\ttt\111\

>Надо создать директорию в другом месте из названия которой можно считать этот путь.

наприемр в E:\rrr тогда оно так, например:

E:\rrr\StartOldCatalog\C\ttt\111

>Подскажите что гулить по этому вопросу или как это сделать. Желательно Delphi.

курсы по программированию для самых начинающих
2 MiniMuk
 
30.07.14
06:06
Вот как теме назвал, добавь дельфи и  в яндекс/гугл/нигму/....
3 MiniMuk
 
30.07.14
06:06
теме =*тему
4 Вильнар
 
30.07.14
06:12
(1) Любезный, саркастичный комрад. Я переведу смысл в более понятный, как запихать с название файла знаки / и \ и большое количество символов. Так понятнее? Мне нужно на выходе получить код по типу такого {sdf345sdf452sdf345gsg} который единозначно разложиться в некий адрес.

Насчет гугла, разумеется я изрядно поискал прежде чем создавать пост.
5 Лодырь
 
30.07.14
06:16
Использовать управляющий символ, для указания символов которые обычно нельзя использовать по их скажем аски коду, не предлагать?
6 Вильнар
 
30.07.14
06:18
(5) я думал над этим но длинна имени директории ограничена. и большинство путей не влезет. Поэтому ищу  более универсальный вариант.
7 Лодырь
 
30.07.14
06:19
(6) Тогда создай где то табличку твоих путей с ключом и пользуй ее
8 DJ Anthon
 
30.07.14
06:20
все равно нихера не понял.
9 DJ Anthon
 
30.07.14
06:23
(6) исходи уж тогда из условий - какие символы можно использовать, какова максимальная длина твоего пути (если неограничено, то твой подход не подойдет, придется хранить в файлах и считывать уже оттуда). надо ли паковать имя каталога, надо ли скрывать имя каталога. вообще попахивает примитивным шифрованием, но если ты совсем начинающий, у тебя ничего так просто не получится.
10 Лодырь
 
30.07.14
06:23
(8) Есть у него путь аля c:\Путь\К\Некой\Директории\
Он хочет где то создать каталог с именем
c:\Где\то\Далеко\Аццкий_Ключ_По_Которому_Можно_Что_ТО_Найти
и шоб по этому второму каталогу можно было вычислить первый исходный путь.
11 Вильнар
 
30.07.14
06:30
(9) я далеко не начинающий.
(10) у меня есть путь к любой директории
с:\любые директории\любые директории\любые директории\любые директории\
Мне надо получить строку которая не привысит максимальную длинну имени директории и не будет содержать недопустимых символов.
12 Вильнар
 
30.07.14
06:31
(10) да, аццкий ключ это то что надо))
13 DJ Anthon
 
30.07.14
06:33
ну замени \ на Alt+255, допустимый, но совершенно никем не используемый.
14 DJ Anthon
 
30.07.14
06:33
вопрос в другом, даст ли ФС тебе создать такое ДЛИННОЕ название директории?
15 MiniMuk
 
30.07.14
06:35
(11)Если у тебя файл с максимальной длинной имени, дальше ты его уже не спрячешь
16 Вильнар
 
30.07.14
06:38
(14) В (5) комрад именно это и предложил. Это решит вопрос со слешем (а еще есть двоеточие), но не решит вопрос с длинной.
17 Лодырь
 
30.07.14
06:38
(14) Файловая система (NTFS) поддерживает пути до 32767 символов юникода
18 Лодырь
 
30.07.14
06:39
(16) Строго говоря, без внешнего хранилища соответствия/словаря и т.д., ты нифига не выловишь.
19 MiniMuk
 
30.07.14
06:40
(0) У меня есть корзина вместимостью 100 яблок, в которой лежит 100 яблок, как мне туда поместить свое яблоко перемешав уже имеющиеся яблоки чтобы я мог зная где лежит мое яблоко восстановить прежнее расположение яблок
21 DJ Anthon
 
30.07.14
06:41
(10) это я понял. он хочет найти код, который впихнет невпи***мое и свято верит, что он существует. я имею в виду, есть ли какие-либо дополнительные условия.
(16) кстати, запомни, длина пишется с одной н, а прилагательное длинный - с двумя.
23 Escander
 
30.07.14
06:47
(4) где в нулевом посте про название файла? Мысли можно внятно формулировать?

курите про кодирование словарём с сокращённым набором символов
24 Escander
 
30.07.14
06:48
+ (23) хинт, вспомни как в 1С написать строку для вывода сообщения в которой будет символ "
25 Вильнар
 
30.07.14
06:48
(22) Уважаемый, уменьшите сарказм пожалуйста, он не уместен. Вы конечно же самый умный и на сквозь видите сколько опыта у человека и знаете на перечет все алгоритмы и методики.
Я не свято верю, я пришел узнать как возможно такое осуществить.  Спасибо.
26 Вильнар
 
30.07.14
06:53
(23) да, сори, описался. В название директории разумеется.
27 DJ Anthon
 
30.07.14
06:54
(25) ну ты сам подумай. вот у тебя есть путь длиной, скажем, 1000 символов. допустимая длина имени каталога, скажем - 255. то есть ты хочешь заархивировать 1000 символов в не более чем 255 так, чтобы получить потом обратно те же 1000? не важно, что гуглить по этому вопросу, если нет понимания, что не получится уничтожить информацию а потом ее из ниоткуда воскресить. с помощью неиспользуемых битов, конечно, можно подтянуть буквочки раза в два, но не больше. архиватор у тебя написать не получится, конечно же, и при достаточно большой плотности информации в имени каталога (например, если ты захочешь спрятать в шифр уже шифрованный каталог) ты в положенные 255 букв не уложишься. и после всего этого окажется, что следующий путь уже будет 2000 символов - вот тут тебе уже твой код совсем не поможет. это не сарказм, а логика.
28 Escander
 
30.07.14
07:00
(27) если набор символов в этих 1000 мал + много повторов подряд - может и удастся ужать... но конечно без гарантий.

кста, в NTFS и почти во всех униховых ФС имена файлов могут быть очень длинные (насколько помню)
29 Вильнар
 
30.07.14
07:02
(27) В шифр шифрованный каталог прятаться не будет.

Длина пути в win не может превышать 255 символов. Поэтому если мне удастся упрятать 255 символов в 100 это хватит абсолютное большинство случаем и меня устроит
30 DJ Anthon
 
30.07.14
07:05
(29) вот видишь, начинают появляться дополнительные условия. без которых изначально задача была нерешима.
31 DJ Anthon
 
30.07.14
07:06
(28) тут про нтфс ничего сказано не было
32 Escander
 
30.07.14
07:06
(29) ограничение NTFS = 32000 символа, ограничение WinAPI = 255 символов... вывод: не пользуйтесь стоковым API.
33 Escander
 
30.07.14
07:07
(31) чел не написал подробностей, поэтому трактую как хочу - имею полное право!
34 DJ Anthon
 
30.07.14
07:09
(33) может, у него линух был, кто его знает?
35 Escander
 
30.07.14
07:10
(34) дельфей вроде под линух нет, хотя может из под ВмВаре...
36 Escander
 
30.07.14
07:11
+ (35) на подмонтированном диске с Фат32
37 Вильнар
 
30.07.14
07:11
Друже, не наводите тень на плетень,а. Если не сказано дополнительных условий то речь разумеется идет о стандартах win. А там 255.
38 Escander
 
30.07.14
07:13
(37) с чего это? Никакого такого дефолта не предпологается
39 Вильнар
 
30.07.14
07:14
Вернемся к сути. Может ли кто подсказать алгоритм который позволит сложить 255 любых символов в 100, так что бы не было символов недоступных для имени директории?
40 DJ Anthon
 
30.07.14
07:17
(39) если любых, то смотри (27)
41 DJ Anthon
 
30.07.14
07:19
42 zva
 
30.07.14
07:26
<<Вернемся к сути. Может ли кто подсказать алгоритм который позволит сложить 255 любых символов в 100>>
Потом тем же алгоритмом 100 символов сложим в 33, 33 в 10, 10 в ...
43 Fish
 
30.07.14
08:53
Какая-то имхо идиотская задача. Непонятно, зачем автору хранить некий путь именно в имени каталога? Почему не хранить эту информацию в файле?
44 Серго62
 
30.07.14
08:56
(0) А для чего это вообще нужно? То есть какую задачу пытаешься решить? Простыми русскими словами можешь сформулировать?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан