Главная страница
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.03 c
15-1199109800
DillerXX
2007-12-31 17:03
2008.02.03
Новогодняя задачка


15-1198385722
Dust
2007-12-23 07:55
2008.02.03
почему перестал развиваться сайт?


15-1198128892
Artur
2007-12-20 08:34
2008.02.03
Поиск текста в pdf


15-1198164826
No_Dead
2007-12-20 18:33
2008.02.03
А кто он Великий?


3-1190631434
misha_gr
2007-09-24 14:57
2008.02.03
Уважаемый модератор раздела "Базы".