ПредишенСледващото

процедура getPaths # 40; Искане: TWebRequest; Var ScriptPath, LocalPath. низ # 41; ;

ScriptPath: = Заявка. За изпълнението на скрипта;

ScriptFileName: = ExtractFileName # 40; ParamStr # 40; 0 # 41; # 41; ;

// Премахване на името на EXE / DLL, за да получите по начин,

изтривам # 40; ScriptPath, Поз # 40; ScriptFileName, ScriptPath # 41; -1. дължина # 40; ScriptFileName # 41; 1 # 41; ;

// Премахване на главния наклонено

изтривам # 40; ScriptPath, 1. 1 # 41; ;

LocalPath: = ExtractFilePath # 40; ParamStr # 40; 0 # 41; # 41; ;

// Изтриване ScriptPath ни дава корен пътя

изтривам # 40; LocalPath, Поз # 40; ScriptPath, LocalPath # 41; -1. дължина # 40; ScriptPath # 41; 1 # 41; ;

SetVariable процедура се използва за инициализиране на променливите от които се нуждаем.

процедура SetVariable # 40; Var S. String; Конст стойност, по подразбиране. низ # 41; ;
започвам
S: = стойност;
ако S = '' след това
S: = подразбиране;
приключи;

Целият смисъл на CGI скрипт е OnAction събитие. Нека да разгледаме това стъпка по стъпка.
процедура TWebModule1.WebModule1WebActionItem1Action (Sender: TObject;
Искане: TWebRequest; Отговор: TWebResponse; Var Handled: булеви);
На първо място, ние заявяваме някои местни променливи.

Сега наричам getPaths, за да намери пътя към сценария, както и местен път. В този пример, ние ще поставим нашите гишета в директорията "гишетата". Физическата пътя ще изглежда "C: \ Inetpub \ гишета".

GetPaths # 40; Искане, ScriptPath, LocalPath # 41; ;

LocalPath: = LocalPath + "броячи \ ';

След това, ние получаваме всички параметри преминаха при сценария за повикване. Параметри идват при нас през Request.QueryFields собственост. Моля, имайте предвид, че ако всички параметри, които не са прехвърлени, в SetVariable тя определя по подразбиране.

с Заявка. QueryFields да започнат

Име: = LocalPath + стойности # 91; "FileName" # 93; + ".txt";

SetVariable # 40; TXT, Ценности # 91; "Txt" # 93. "Вие сте посетител. днес и. всякога. " # 41; ;

SetVariable # 40; FontName, ценности # 91; "FontName" # 93. "Arial" # 41; ;

SetVariable # 40; FONTSIZE, ценности # 91; "FONTSIZE" # 93. "10" # 41; ;

SetVariable # 40; FONTCOLOR, ценности # 91; "FONTCOLOR" # 93. "ClWhite" # 41; ;

SetVariable # 40; BackgroundColor, ценности # 91; "BackgroundColor" # 93. "ClBlack" # 41; ;

Сега ние трябва да сме сигурни, че има файл за тезгяха. Ако не е, просто го създаваме.

// Напиши нова празна брояч файл, ако тя не съществува

ако не FileExists # 40; FileName # 41; след това да започне

AssignFile # 40; FP, FileName # 41; ;

нова редакция # 40; FP # 41; ;

WriteLn # 40; FP, 0 # 41; ;

WriteLn # 40; FP, Дата # 41; ;

WriteLn # 40; FP, 0 # 41; ;

CloseFile # 40; FP # 41; ;

Така че, файлът съществува. Estevstvenno ако го е създал, че броячът е равен на 0, в противен случай ще прочетем старите ценности и да ги zmenyat ако е необходимо. Забележка. начина, по който следите общия брой посещения и посещения на ден.

// чете старата стойност на брояча

AssignFile # 40; FP, FileName # 41; ;

ReadLn # 40; FP, LastEver # 41; ;

Още: = LastEver 1;

ReadLn # 40; FP, последендата # 41; ;

ReadLn # 40; FP, LastToday # 41; ;

ако Date = последендата след това

Днес: = LastToday 1

CloseFile # 40; FP # 41; ;

И накрая, ние трябва да се пишат нови стойности във файла, който съдържа данните за противодействие.

// Напишете новата стойност на брояча

AssignFile # 40; FP, FileName # 41; ;

нова редакция # 40; FP # 41; ;

WriteLn # 40; FP, Ever # 41; ;

WriteLn # 40; FP, Дата # 41; ;

WriteLn # 40; FP, Днес # 41; ;

CloseFile # 40; FP # 41; ;

Сега ние се пристъпи към изграждането на една добавка, която в крайна сметка ще бъде известен като JPEG. За да започнете да се направи невидим TForm който съдържа TPanel и TMemo. Просто задайте FontName и FONTSIZE.

Форма: = TForm. създавам # 40; нула # 41; ;

с форма. Font започвайте

Размер: = StrToInt # 40; FONTSIZE # 41; ;

Ние се уверете, че текстът, който ще се постави в контрола на бележка, съдържа стойност на брояча се чете от файла.

Txt: = Формат # 40; TXT, # 91; Днес, Ever # 93; # 41; ;

След това се създаде панел. Ширината и височината се определя от ширината на текста, който ще се постави в него. Трябва само да зададете окосяване за 3D ефект.

Панел: = TPanel. създавам # 40; нула # 41; ;

с панел направя започне

Широчина: = Форма. Платно. TextWidth # 40; Txt # 41; 9;

Височина: = Форма. Платно. TextHeight # 40; Txt # 41; 9;

Ние сложи бележка в панела и да си ширина и височина, както и цвета, който е посочен в BackgroundColor.

Бележка: = TMemo. създавам # 40; нула # 41; ;

с Memo започвайте

Широчина: = панел. Ширина -5;

Височина: = панел. Височина -5;

Цвят: = StringToColor # 40; BackgroundColor # 41; ;

Сега трябва да се направи изображението на контролните Лъчите, които създадохме. За да направите това, създайте TBitmap и zakrashevaem панел му. За един изготви текста на растерна графика.

Bitmap: = TBitmap. Създаване;

с Bitmap започвайте

Широчина: = панел. Ширина 1;

Височина: = панел. Височина 1;

Панел. PaintTo # 40; Платно. Дръжка. 0 0 # 41; ;

Платно. Четка. Стил: = bsClear;

с платно. Font започвайте

Размер: = StrToInt # 40; FONTSIZE # 41; ;

Цвят: = StringToColor # 40; FONTCOLOR # 41; ;

Платно. TextOut # 40; 4. 3, Txt # 41; ;

След преобразуване на растерни към JPEG. JPEG се записва в потока от паметта. Този поток ще бъде свързан с браузъра, и се предава на посетителя на страницата като изображение.

с Response започвайте

MS: = TMemoryStream. Създаване;

с TJPEGImage. Създаване започвайте

Присвояване # 40; Bitmap # 41; ;

SaveToStream # 40; MS # 41; ;

Свързани статии

Подкрепете проекта - споделете линка, благодаря!