Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переменные окружения XP [D7, WinXP]


Fantasy ©   (2008-01-04 05:03:00) 

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


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

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


Anatoly Podgoretsky   (2008-01-04 16:47:00) [2]

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


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

> [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;
Можно и без нее, но кода будет немного больше)


Fantasy   (2008-01-04 15:33:00) [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:01:00) [5]

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


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

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 там пути разделены точкой заяпятой. Нужно писать свой алгоритм или есть стандартная функция, пример, библиотека. Я в инете ненашол :(


Cj   (2008-01-04 09:15:00) [7]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо