процедура 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; ;
Свързани статии