|
Преобразование пути к директории | ☑ | ||
---|---|---|---|---|
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) А для чего это вообще нужно? То есть какую задачу пытаешься решить? Простыми русскими словами можешь сформулировать?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |