Форум » [x]Harbour » Как получить SET переменные компа ? » Ответить

Как получить SET переменные компа ?

Andrey: Всем привет ... Подскажите как получить SET переменные компьютера ? А то как я делаю - просто ... cRun := CurDrive()+":"+DirName()+"\setstart.bat" STRFILE("SET > win.set", cRun, .F.) ShellExecute(GetDeskTopWindow(), 'open',cRun, "", "" , , 0) INKEY(0.1) cTemp := FILESTR(cTmpFile) ..... далее анализ cTemp

Ответов - 11

gfilatov: Andrey пишет: как получить SET переменные Тестовый пример для MiniGUI: #include "minigui.ch" *--------------------------------------------------------* Procedure main() *--------------------------------------------------------* DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 640 ; HEIGHT 480 ; TITLE 'Demo' ; MAIN ; TOPMOST @ 50 ,100 BUTTON Button_1 ; CAPTION "Get Env vars" ; ACTION aeval( GetEnvVars(), {|e| msginfo(e[2],e[1])} ) ; WIDTH 140 ; HEIGHT 30 END WINDOW CENTER WINDOW Form_1 ACTIVATE WINDOW Form_1 Return *--------------------------------------------------------* Function GetEnvVars() *--------------------------------------------------------* local aEnvArray := ARRAY( FT_GETE() ), aRet := {} FT_GETE( aEnvArray ) aeval( aEnvArray, {|e| if(left(e, 1)== "=", , aadd(aRet, { token(e,"=",1), token(e,"=",2)}))} ) return aRet

Dima: Зачем тебе все ?

Andrey: gfilatov пишет: Зачем тебе все ? Хочу знать переменные на компе. Я же не поеду в другие города смотреть как у них там устроено. А так запишу в лог-файл и по телефону им скажу, что и где менять ....


Pasha: Andrey пишет: Подскажите как получить SET переменные компьютера ? Еще есть функция из tools GetEnv()

Andrey: Все это хорошо, то что вы мне дали.... А как получить сразу ВСЕ переменные, без их описания ??? Я же не знаю какие проги там установлены ... Ну SET PATH, SET INCLUDE, и т.д. я перечислю, а как быть с другими прогами, которые я не знаю. Far - например тоже пишет свою SET переменную и т.д. Я же просто хочу узнать что в компе установленно !!! Мне нужен аналог ДОСовсего SET ...

Dima: Чем не аналог ? Хош в файл пиши хош в переменную хош в массив и тд итп cEnvBlock := "" FT_GETE(@cEnvBlock) MEMOWRIT("ENVIRON.TXT", cEnvBlock)

Andrey: Dima пишет: FT_GETE(@cEnvBlock) Нет такой функции в хХарборе !!! По хелпу смотрел. Откуда она взята ?

Dima: LIBNF.LIB

Andrey: Dima пишет: LIBNF.LIB А где ее взять для хХарбора ? Не добавляя CONTRIB ?

Andrey: Прицепил getenvrn.c Собрал тест из вышеперечисленных строк и получил то что хотел за исключением какойто фигни в начале ..... Кто может подсказать что это такое ??? ----------------------------------- фигня в начале environ.txt --------------- =::=::\ =C:=C:\ABONENT2\temp =D:=D:\@Mail\ADZ-г.Красноярск =E:=P =L:=L:\ =U:=U:\ =W:=W:\FOND9\UTIL\SET.system =Z:=Z:\xHarbour\contrib\libnf ---------------------------------------------------- далее нормально --------------- ALLUSERSPROFILE=E:\Documents and Settings\All Users

Pasha: Это текущие папки на всех дисках. Выходит, GetEnvironmentStrings() возвращает их вместе с окружением



полная версия страницы