Преобразование констант вида "%ProgramFiles%

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Преобразование констант вида "%ProgramFiles%

Сообщение Williams » 11.08.2009 (Вт) 9:32

Есть ли какая-то апишка для этих целей? Беру путь из реестра, вручную нет желания преобразовывать.
И вы думаете, что вас оставят в живых после прочтения этого поста?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Преобразование констант вида "%ProgramFiles%

Сообщение ANDLL » 11.08.2009 (Вт) 10:22

Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Преобразование констант вида "%ProgramFiles%

Сообщение Williams » 11.08.2009 (Вт) 11:39

спс. То, что надо
И вы думаете, что вас оставят в живых после прочтения этого поста?

Visual Вова
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 19
Зарегистрирован: 28.06.2009 (Вс) 2:57
Откуда: г. Петропавловск-Камчатский

Re: Преобразование констант вида "%ProgramFiles%

Сообщение Visual Вова » 18.08.2009 (Вт) 16:44

Можно и встроенной VB-функцией Environ. Например, ты хочешь получить папку Windows:

Код: Выделить всё
MsgBox Environ("windir"), vbInformation, "Программа для получение папки Windows"
С уважением, 12-летний мальчик Вова.

Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Преобразование констант вида "%ProgramFiles%

Сообщение Viper » 18.08.2009 (Вт) 18:28

Visual Вова писал(а):Можно и встроенной VB-функцией Environ. Например, ты хочешь получить папку Windows
А человек разве хотел получить какую-либо из системных папок?
Весь мир матрица, а мы в нем потоки байтов!

Visual Вова
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 19
Зарегистрирован: 28.06.2009 (Вс) 2:57
Откуда: г. Петропавловск-Камчатский

Преобразование констант вида "%ProgramFiles%

Сообщение Visual Вова » 18.08.2009 (Вт) 20:12

Viper писал(а):А человек разве хотел получить какую-либо из системных папок?

%ProgramFiles% - Environ("programfiles"), %Temp% - Environ("temp")... и так далее.
С уважением, 12-летний мальчик Вова.

Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Преобразование констант вида "%ProgramFiles%

Сообщение alibek » 18.08.2009 (Вт) 20:27

Visual Вова, если не умеешь читать предложениями, читай по слогам.
Автору не нужен Environ.
Lasciate ogni speranza, voi ch'entrate.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Преобразование констант вида "%ProgramFiles%

Сообщение iGrok » 18.08.2009 (Вт) 21:48

Visual Вова писал(а):
Viper писал(а):А человек разве хотел получить какую-либо из системных папок?

%ProgramFiles% - Environ("programfiles"), %Temp% - Environ("temp")... и так далее.

То есть вместо простого вызова одной API ты предлагаешь:
1) Поискать в строке переменную, заключенную в "% %".
2) Выделить её имя из строки.
3) Преобразовать в нижний регистр.
4) Получить путь из Environ$.
5) Заменить переменную вместе с %% на полученный путь.
6) Если переменной в Environ$ не окажется, то... ?

Ты серьёзно думаешь, что твой способ лучше?
label:
cli
jmp label


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Mail.ru [бот] и гости: 87

    TopList