Программирование - это просто
Advertisement
Главная arrow Web-программирование arrow Web-программирование на Delphi arrow Web-программирование на Delphi. Урок 4. Получение списка переменных окружения (CGI, переменные окруж
25.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Web-программирование на Delphi. Урок 4. Получение списка переменных окружения (CGI, переменные окруж Печать E-mail
Автор megabax   
03.01.2011 г.
New Page 1

Web-программирование на Delphi. Урок 4. Получение списка переменных окружения (CGI, переменные окружения).

Внимание! Если у вас возникли проблемы с компиляцией или запуском данных примеров из web-браузера, посмотрите урок 1 и урок 2.

На прошлом уроке мы научились читать содержимое переменной окружения по ее имени. А как узнать, какие вообще есть переменные окружения? Для этого можно воспользоваться функцией GetEnvironmentStrings. Вот пример использования данной функции:

program envar;

 

uses

  Windows, Classes, SysUtils;

 

{$R *.RES}

{$APPTYPE CONSOLE}

 

procedure GetEnvStrings(L: TStrings);

var P: PChar; z: string; i: integer;

begin

  if not Assigned(L) then Exit;   // если список пустой, то уходим

  P := GetEnvironmentStrings;     // получаем указатель на блок переменных

  try                             // обработка исключений

    L.Clear;                      // чистим список на всякий случай

    z := ''; i := 0;              // обнуляем переменные поначалу

    while True do begin           // бесконечный цикл (но нужно условие выхода из цикла)

      z := StrPas(@p[i]);         // получаем пару имя=значение до NULL

      if z <> '' then begin       // если непустая пара ...

        L.Append(Z);              // то добавляем в список

        inc(i, Length(z) + 1);    // едем дальше по строке

      end else Break;             // иначе выходим из цикла (инвариант)

    end;                          // закрываем цикл

  finally                         // и наконец-то

    FreeEnvironmentStrings(P);    // освобождаем блок

  end;                            // конец защищённой зоны

end;

 

var

  i: integer;   // переменная перебора для цикла

  X: TStrings;  // определяем переменную для нашего списка (абстрактный класс)

 

begin

  WriteLn('Content-type: text/html');              // тип вывода

  WriteLn;                                         // необходимая пустая строка

  WriteLn('<HTML>');                               // начало HTML файла

  WriteLn('<HEAD>');                               // начало заголовка файла

  WriteLn('<TITLE>Environment variables!</TITLE>');      // название документа

  WriteLn('</HEAD>');                              // конец заголовка

  WriteLn('<BODY>');                               // начало тела документа

  WriteLn('<H1>Environment variables:</H1>');      // крупным шрифтом !!!

  WriteLn('<BR>');                                 // перевод строки

 

  X := TStringList.Create;            // создаем объект-список

  GetEnvStrings(X);                   // собираем список переменных

  for i := 0 to X.Count - 1 do        // и в цикле

    WriteLn(X.Strings[i] + '<BR>');   // их выводим (с переводом строки)

  X.Free;                             // освобождаем объект-список

 

  WriteLn('</BODY>');                        // конец тела документа

  WriteLn('<HTML>');                        // конец HTML файла

end.

А вот результат работы данного примера*:

Web-программирование на Delphi. Урок 4. Получение списка переменных окружения (CGI, переменные окружения).

Обратите внимание, что на прошлом уроке  у нас в примере выводились пустые переменные (те, что не заданы), так как мы обращались к ним по имени. в этом же случае мы получаем список существующих переменных и выводим их, так что пустых переменных у нас теперь не будет.


Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями   программного продукта "Internet Explorer", авторское право на который принадлежит "Microsoft".


 

Последнее обновление ( 15.07.2012 г. )
 
Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги