Имя: Пароль:
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) А для чего это вообще нужно? То есть какую задачу пытаешься решить? Простыми русскими словами можешь сформулировать?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.