Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет «Львівська політехніка»
/
Лабораторна робота на Delphi №9.
Створення ужитку з використанням WEB-технологій
Мета роботи: Вивчення можливостей системи програмування Delphi по створенню динамічних HTML-сторінок.
Завдання
Перетворення числа з двійкової системи числення у 16-у.
unit Unit1;
interface
uses
SysUtils, Classes, HTTPApp, HTTPProd;
type
TWebModule1 = class(TWebModule)
PageProducer1: TPageProducer;
procedure WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
procedure WebModule1WebActionItem2Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
procedure PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings;
var ReplaceText: String);
private
{ Private declarations }
public
{ Public declarations }
end;
var
WebModule1: TWebModule1;
num,num1,num2,a:string;
val,i:integer;
implementation
{$R *.dfm}
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
i:=0;
num:=Request.ContentFields.Values['num1'];
val:=Length(num);
If (val mod 4 <> 0) then
While (val mod 4 <> 0) do
Begin
num:='0'+num;
val:=Length(num);
end;
while (i<val) do
begin
a:=a+num[i+1];
a:=a+num[i+2];
a:=a+num[i+3];
a:=a+num[i+4];
if a='0000' then num2:=num2+'0' else
if a='0001' then num2:=num2+'1' else
if a='0010' then num2:=num2+'2' else
if a='0011' then num2:=num2+'3' else
if a='0100' then num2:=num2+'4' else
if a='0101' then num2:=num2+'5' else
if a='0110' then num2:=num2+'6' else
if a='0111' then num2:=num2+'7' else
if a='1000' then num2:=num2+'8' else
if a='1001' then num2:=num2+'9' else
if a='1010' then num2:=num2+'A' else
if a='1011' then num2:=num2+'B' else
if a='1100' then num2:=num2+'C' else
if a='1101' then num2:=num2+'D' else
if a='1110' then num2:=num2+'E' else
if a='1111' then num2:=num2+'F' else
begin num2:=''; num2:='Wrong number'; break; end;
a:='';
i:=i+4;
end;
Response.Content:= '<b>Вiтаю!!!</b><p><p>ось результат! '+num2;
Handled:=True;
end;
procedure TWebModule1.WebModule1WebActionItem2Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
//генеруємо два множники
Randomize;
//Num1:=Random(15)+1; // змінні Num1 та Num2 оголошуються як глобальні !
Response.Content:=PageProducer1.Content;
Handled:=True;
end;
procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings; var ReplaceText: String);
begin
if (TagString='TNum1') then
ReplaceText:=Num1;//IntToStr(Num1)
end;
end.