Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.03;
Скачать: CL | DM;

Вниз

Переменные окружения XP   Найти похожие ветки 

 
Fantasy   (2008-01-04 05:03) [0]

Подскажите может кто знает есть ли функции по работе с переменными окружения;
Добавить Глобальную переменую, удалить, изменить(SetEnvironmentVariable, GetEnvironmentVariable эти функции      я знаю мне нужно другое).
Вот переменная PATH там пути разделены ";" есть ли готовая билиотека с функциями которая добавит или удалит путь или всетаки придется свой алгоритм писать выдиления строк по ";" поиска и замены ?


 
Cj ©   (2008-01-04 09:15) [1]

Get/Set EnviromentVariable
вроде так,непомню


 
Fantasy   (2008-01-04 09:47) [2]

procedure TForm1.Button1Click(Sender: TObject);
    var
      p : pChar;
    begin
      Memo1.Lines.Clear;
      Memo1.WordWrap := false;
     {$IFDEF WIN32}
      p := GetEnvironmentStrings;
     {$ELSE}
      p := GetDOSEnvironment;
     {$ENDIF}
      while p^ <> #0 do begin
    Memo1.Lines.Add(StrPas(p));
    inc(p, lStrLen(p) + 1);
      end;
     {$IFDEF WIN32}
      FreeEnvironmentStrings(p);
     {$ENDIF}
    end;
понятно но КАК ВНЕСТИ ИЗМИНЕНИЯ В PACH там пути разделены точкой заяпятой. Нужно писать свой алгоритм или есть стандартная функция, пример, библиотека. Я в инете ненашол :(


 
{RASkov} ©   (2008-01-04 15:01) [3]

var S: String;
begin
 S:=GetEnvironmentVariable("PATH");
 Memo1.Lines.Delimiter:=";";
 Memo1.Lines.DelimitedText:=S;
 showmessage(Memo1.Lines.DelimitedText);
end;


 
Fantasy   (2008-01-04 15:33) [4]


> {RASkov} ©   (04.01.08 15:01) [3]

C:\Program
Files\Borland\Delphi7\Bin
C:\Program
Files\Borland\Delphi7\Projects\Bpl\
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\Program
Files\Common
Files\Adobe\AGL

Пробелы тоже штает за новую переменую :(


 
{RASkov} ©   (2008-01-04 15:48) [5]

> [4] Fantasy   (04.01.08 15:33)

uses RxStrUtils;

procedure GetEnvirList(const SEnvir: String; Lst: TStrings);
var N, WCnt: Integer;
begin
 if not Assigned(Lst) then Exit;
 Lst.Clear;
 WCnt:=WordCount(SEnvir, [";"]);
 if WCnt=0 then Exit;
 for N:=1 to WCnt do Lst.Add(ExtractWord(N, SEnvir, [";"]));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 GetEnvirList(GetEnvironmentVariable("PATH"), Memo1.Lines);
end;


Только, как видно, нужна RxLib т.е. ее модуль RxStrUtils;
Можно и без нее, но кода будет немного больше)


 
Anatoly Podgoretsky ©   (2008-01-04 16:47) [6]

StringReplace или переход на 2006, там есть новое свойство


 
Fantasy   (2008-01-05 07:41) [7]

Спасибо всем кто помог
С новым годом 2008 ТОВАРИЩИ!



Страницы: 1 вся ветка

Текущий архив: 2008.02.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
2-1199874260
Ega23
2008-01-09 13:24
2008.02.03
Версия MSOffice


15-1198690334
I am man
2007-12-26 20:32
2008.02.03
MapInfo (ArcView) + delphi


15-1198268743
homm
2007-12-21 23:25
2008.02.03
Какая чушь :)


2-1199879502
Washington
2008-01-09 14:51
2008.02.03
Проблема с загрузкой DLL


9-1166529720
Kav
2006-12-19 15:02
2008.02.03
загрузчик obj