Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переносимость программ. Кириллица 
:(
    Опции темы
suvorr
Дата 7.12.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 28.1.2006
Где: SPb

Репутация: нет
Всего: нет



А вот если у меня в проге забит путь с кириллицей ("c:/windows/рабочий стол/") то что -за бугром она не работает ?
 И если да, то как надо писать что бы везде работала ?
PM MAIL WWW Skype   Вверх
Naghual
Дата 7.12.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



В частном данном случае, нужно использовать не абсолютные пути, а собирать их из переменных системы.
Тоесть, получить путь к Рабочему столу, от самой Windows.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Alexeis
Дата 7.12.2006, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Еще есть функция SetThreadLocale(), которая заставляет использовать нужную локаль для переобразования юникода и анси. Для кирилицы это  SetThreadLocale(1251);

Это сообщение отредактировал(а) alexeis1 - 7.12.2006, 20:41


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
suvorr
Дата 8.12.2006, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 28.1.2006
Где: SPb

Репутация: нет
Всего: нет



Naqhual-y -- Сорри, конечно, но чой-то я ответ не понял! Ну знаю я АПИ-шку которая выдает путь к системному каталогу (хотя кому она нужна не понимаю). Но как у буржуев рабочий стол-то называется ?  Desk ? Working desk ? Main table ?  Или как называется константа в которой сидит его название ?

alexeis-y  Так зачем мне преобразовывать! Я бы и сам написал, та не знаююю как называется!
PM MAIL WWW Skype   Вверх
mihanik
Дата 8.12.2006, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



suvorr!!!

Тут дело такое...
В разных версиях Windows папки, выполняющие одни и те же функции, могут называться по-разному.
НО!!!
Внутреннее системное имя у них ОДИНАКОВОЕ!!!

Так вот. Когда ты пишешь какуюто прогу ты ориентируйся не на "внешние" имена папок (которые могут меняться), а на внутренние..

Копать сюда --->

Цитата

The WshShell object's SpecialFolders property returns the WshSpecialFolders object, which is a collection of special folders. This collection contains references to Windows special folders (for example, the Desktop folder, Start Menu folder, and Personal Documents folder). This collection retrieves paths to special folders using the special folder name as the index. A special folder's path depends on the user environment. The information stored in a special folder is unique to the user logged onto the computer system. If several different users have accounts on the same computer system, several different sets of special folders are stored on the hard disk.


Добавлено @ 15:24 
Следующий ниже пример создаёт ссылку на рабочем столе для файла ***.vbs , в котором этот самый скрипт находиться...


 
Код

        set WshShell = WScript.CreateObject("WScript.Shell")
         strDesktop = WshShell.SpecialFolders("Desktop")
         set oShellLink = WshShell.CreateShortcut(strDesktop & "\Shortcut Script.lnk")
         oShellLink.TargetPath = WScript.ScriptFullName
         oShellLink.WindowStyle = 1
         oShellLink.Hotkey = "CTRL+SHIFT+F"
         oShellLink.IconLocation = "notepad.exe, 0"
         oShellLink.Description = "Shortcut Script"
         oShellLink.WorkingDirectory = strDesktop
         oShellLink.Save


Добавлено @ 15:28 
Внутренние имена (SpecialFolders) смотреть в описаниях WScript.Shell


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 8.12.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: нет
Всего: 459



Цитата(suvorr @  8.12.2006,  14:39 Найти цитируемый пост)
Так зачем мне преобразовывать! Я бы и сам написал, та не знаююю как называется! 


А преобразование производится без спроса. Винда 2000 и выше все строки преобразует в юникод, а когда возвращает результат, то  юникод превращает в анси, так что проблемы иногда возникают.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
suvorr
Дата 10.12.2006, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 28.1.2006
Где: SPb

Репутация: нет
Всего: нет



Механику  - Усе это очень здорово, но чтой-то сложновато для такой простой задачи как добраться до десктопа! В связи с чем вопрос - уверен ли ты что название папки "различно в разных версиях винды" ?  Из приведенной цитаты у меня сложилось мнение что дело просто в том что винда дает юзеру возможность называть системные папки как вздумается в связи с чем ей приходится запоминать как он их назвал в спец.переменных и т.д.  И ежели это так, то наплевал бы я на орижиналов переименовывающих системные папки и написал просто 
"c:/windows/desktop/"  Ну а ежели действительно "различно в разных версиях" то это конечно другое дело... ?
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.