Текущий архив: 2006.12.24;
Скачать: CL | DM;
Вниз
Короткий путь Найти похожие ветки
← →
apic © (2006-08-17 17:30) [0]Ситуация...
У меня есть список полных имен файлов (путь, имя, расширение), причем файлов может и не быть, просто список путей, ВОПРОС: как мне преобразовать их в короткие имена как в досе. Замечу, что русские пути и файлы винда преобразовывает в какието имены с цифирками, в которых и буков то нет, я это узнал когда изучал скрипты, там это делается легко, всебы нечего, до объектной модели скриптов можно добраться и через делфи с помощью OLE, но дело втом, что WSH возвращает короткое имя только в том случае, если файл существует, а мне нужно получить короткое имя еще до того как этот файл может появиться....
← →
clickmaker © (2006-08-17 17:37) [1]
> когда изучал скрипты, там это делается легко, всебы нечего,
> до объектной модели скриптов можно добраться и через делфи
> с помощью OLE
зачем так сложно?
GetShortPathName()
← →
apic © (2006-08-17 17:43) [2]Извини clickmaker может быть я был пьян, но я эту функцию раз 5 пробывал, какой путь я ей даю, тот она мне и возвращает, хоть короткий он, хоть длинный, попробуй, если эта тварь выдаст тебе короткий путь, то я еще раз попробую и если у тебя получиться, буть добр вышли вызов этой функции буква в букву... Может это я в единственном параметре запутался...
← →
clickmaker © (2006-08-17 17:46) [3]
> Может это я в единственном параметре запутался
может... а как вызывал?
← →
apic © (2006-08-17 17:51) [4]Насколько я помню (комп не мой, Делфи не установлен) у это твари один параметр =>, что примерно так:
var
ShortPath:String;
fullLongPath:String;
...
fullLongPath:="c:\winnt\document and settings\cool.txt"; // к примеру
ShortPath:=GetShortPathName(fullLongPath);
← →
begin...end © (2006-08-17 17:51) [5]> apic © (17.08.06 17:30)
> а мне нужно получить короткое имя еще до того как этот файл
> может появиться....
Сомневаюсь, что это возможно.
← →
apic © (2006-08-17 17:55) [6]begin...end, а можно по подробнее, у меня исходник не верный или это не возможно в принципе...
← →
Ketmar © (2006-08-17 17:57) [7]> [0] apic © (17.08.06 17:30)
"до" не получишь. помжно максимум попробовать угадать. и ошибиться.
← →
apic © (2006-08-17 17:58) [8]Так я не был пьян?!
← →
begin...end © (2006-08-17 17:59) [9]> apic © (17.08.06 17:55) [6]
И то, и другое.
← →
apic © (2006-08-17 18:02) [10]Недогон, что ли?...
← →
clickmaker © (2006-08-17 18:03) [11]
> Сомневаюсь, что это возможно
кстати, да. Вот у меня есть папки
Microsoft ActiveSync
Microsoft Baseline Security Analyzer
Microsoft Firewall Client
Microsoft Office
Microsoft SQL Server
Microsoft Visual Studio
Microsoft Works
и как генерить имя, если заранее не известно, сколько у меня папок будет с Microsoft начинаться?
← →
begin...end © (2006-08-17 18:05) [12]> apic © (17.08.06 18:02) [10]
У Вас?
← →
apic © (2006-08-17 18:06) [13]Но винда то это как-то делает, кроме того я знаю, как это делает дос, но дос русские имена не коверкает, а винда их еще и цифирки превращает и в конце концов, зачем эти уроды из Microsoft, придумали GetShortPathName(), если она не хрена не делает...
← →
begin...end © (2006-08-17 18:16) [14]> apic © (17.08.06 18:06) [13]
> придумали GetShortPathName(), если она не хрена не делает...
Она делает. Если файл существует на диске. А если его на диске нет, то не делает.
Что тут непонятного-то?
← →
clickmaker © (2006-08-17 18:16) [15]
> зачем эти уроды из Microsoft, придумали GetShortPathName(),
> если она не хрена не делает
чуть что, сразу MS виноват? Это из серии "кофе на клавиатуру тоже вирус пролил?"
var szShortPath: array[0..MAX_PATH] of char;
GetShortPathName("D:\Program Files\Microsoft SQL Server\80\Tools\Templates", szShortPath, SizeOf(szShortPath));
дает
D:\PROGRA~1\MICROS~4\80\Tools\TEMPLA~1
← →
Ketmar © (2006-08-17 18:17) [16]> [13] apic © (17.08.06 18:06)
напиши лучше.
← →
clickmaker © (2006-08-17 18:23) [17]Да, что мешает?
Возьми путь, разбей на части (папка(и), имя, расширение), урежь каждую до 8 символов, вот тебе и будет короткое имя
← →
apic © (2006-08-18 07:23) [18]Извините мужики, до меня хоть позно, но дошло.....
Страницы: 1 вся ветка
Текущий архив: 2006.12.24;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.03 c