A CGI számláló Delphi 5, delphisite

eljárás getPaths # 40; Kérés: TWebRequest; var ScriptPath, LocalPath. húr # 41; ;

ScriptPath: = Request. parancsfájlnév;

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

// Távolítsuk el a EXE / DLL nevét, hogy egy utat

töröl # 40; ScriptPath, Pos # 40; ScriptFileName, ScriptPath # 41; -1. hossz # 40; ScriptFileName # 41; 1 # 41; ;

// el a fő ferde

töröl # 40; ScriptPath, 1. 1 # 41; ;

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

// törlése ScriptPath ad nekünk a gyökér elérési út

töröl # 40; LocalPath, Pos # 40; ScriptPath, LocalPath # 41; -1. hossz # 40; ScriptPath # 41; 1 # 41; ;

SetVariable eljárást használjuk inicializálni a változók van szükségünk.

eljárás SetVariable # 40; var S. string; const Value, alap. húr # 41; ;
kezdődik
S: = Érték;
ha S = „”, akkor
S: = alapértelmezett;
végén;

Az egész pont CGI szkript OnAction esemény. Nézzük lépésről lépésre.
eljárás TWebModule1.WebModule1WebActionItem1Action (Sender: TObject;
Kérés: TWebRequest; Válasz: TWebResponse; var Handled: logikai érték);
Először is kijelentem néhány helyi változókat.

Most hívja getPaths, hogy megtalálja az utat, hogy a forgatókönyvet, valamint a helyi útvonal. Ebben a példában fogjuk fel a számlálók a könyvtár „számlálók”. A fizikai útvonal fog kinézni a „C: \ InetPub \ számlálók”.

GetPaths # 40; Request, ScriptPath, LocalPath # 41; ;

LocalPath: = LocalPath + 'számlálók \';

Ezután megkapjuk a paraméterek át a hívást script. Paraméterek jönnek hozzánk Request.QueryFields tulajdon. Felhívjuk figyelmét, hogy ha a paraméter nem ruháztak át az SetVariable határozza meg, hogy az alapértelmezett.

A kérés. QueryFields nem kezdődik

Fájlnév: = LocalPath + Értékek # 91; „Fájlnév” # 93; + '.txt';

SetVariable # 40; Txt, értékek # 91; 'Txt' # 93;. „Te látogató. ma, és. valaha. " # 41; ;

SetVariable # 40; FontName, értékek # 91; 'FontName' # 93;. 'Arial' # 41; ;

SetVariable # 40; Betűméret, értékek # 91; „Betűméret” # 93;. '10' # 41; ;

SetVariable # 40; FONTCOLOR, értékek # 91; 'FONTCOLOR' # 93;. 'ClWhite' # 41; ;

SetVariable # 40; BackgroundColor, értékek # 91; 'BackgroundColor' # 93;. 'ClBlack' # 41; ;

Most meg kell bizonyosodni arról, hogy van egy fájl a számláló. Ha nem, akkor hozza létre azt.

// Írj egy új üres számláló fájlt, ha nem létezik

ha nem FileExists # 40; Fájlnév # 41; ezután kezdődik

AssignFile # 40; fp: fájlnév # 41; ;

átír # 40; fp # 41; ;

WriteLn # 40; fp, 0 # 41; ;

WriteLn # 40; fp, Dátum # 41; ;

WriteLn # 40; fp, 0 # 41; ;

CloseFile # 40; fp # 41; ;

Tehát a fájl létezik. Estevstvenno ha teremtette, hogy a számláló értéke 0, különben nem fogunk olvasni a régi értékeket és zmenyat őket, ha szükséges. Megjegyzés. ahogy nyomon követjük a látogatások száma és a látogatások naponta.

// olvassa el a régi számláló értéke

AssignFile # 40; fp: fájlnév # 41; ;

ReadLn # 40; fp, LastEver # 41; ;

Ever: = LastEver +1;

ReadLn # 40; fp, lastdate # 41; ;

ReadLn # 40; fp, LastToday # 41; ;

ha Date = lastdate majd

Ma: = LastToday 1

CloseFile # 40; fp # 41; ;

És végül, meg kell írni az új értékeket a fájlt, amely tartalmazza a mért adatok.

// Írja be az új értéket a számláló

AssignFile # 40; fp: fájlnév # 41; ;

átír # 40; fp # 41; ;

WriteLn # 40; fp Ever # 41; ;

WriteLn # 40; fp, Dátum # 41; ;

WriteLn # 40; fp Ma # 41; ;

CloseFile # 40; fp # 41; ;

Most folytassa építése a kiegészítéssel, hogy végül az úgynevezett JPEG. Kezdeni, hogy a láthatatlan TForm tartalmazó TPanel és TMemo. Csak állítsa be a FontName és fontsize.

Forma: = TForm. teremt # 40; nulla # 41; ;

A Forma. Betűtípus nem kezdődik

Méret: = StrToInt # 40; betűméret # 41; ;

Gondoskodunk arról, hogy a szöveg, hogy mi tesz a feljegyzés vezérlő tartalmaz egy számláló értéket olvasni a fájlt.

Txt: = Format # 40; txt, # 91; Ma, valaha # 93; # 41; ;

Ezután hozzon létre egy panelt. A szélesség és magasság szélessége határozza meg a szöveg, amit bele. Csak állítsa be a kaszálás a 3D hatást.

Panel: = TPanel. teremt # 40; nulla # 41; ;

A Panel do kezdődik

Szélesség: = Form. Vásznon. TextWidth # 40; txt # 41; 9;

Magasság: = Form. Vásznon. TextHeight # 40; txt # 41; 9;

Mi tesz egy feljegyzést a panelben, és állítsa be a szélességét és magasságát, valamint a szín van megadva BackgroundColor.

Emlékeztető: = TMemo. teremt # 40; nulla # 41; ;

A Memo nem kezdődik

Szélesség: = Panel. Szélesség -5;

Magasság: = Panel. Magasság -5;

Szín: = StringToColor # 40; BackgroundColor # 41; ;

Most kell, hogy a kép a kontroll Gerenda, amit teremtett. Ehhez hozzon létre egy TBitmap és zakrashevaem a panel. Egy felhívni a szöveg a bitmap.

Bitmap: = TBitmap. létrehozása;

A Bitmap nem kezdődik

Szélesség: = Panel. Szélesség -1;

Magasság: = Panel. Magasság -1;

Panel. PaintTo # 40; Vásznon. Kezelni. 0 0 # 41; ;

Vásznon. Brush. Stílus: = bsClear;

Canvas. Betűtípus nem kezdődik

Méret: = StrToInt # 40; betűméret # 41; ;

Szín: = StringToColor # 40; fONTCOLOR # 41; ;

Vásznon. TextOut # 40; 4. 3, TXT # 41; ;

Ezután konvertálja bitmap JPEG. JPEG rögzíti a memóriában patak. Ez az áramlás lesz társítva a böngésző, és továbbítja a látogató egy oldalt képként.

A válasz nem kezdődik

MS: = TMemoryStream. létrehozása;

A TJPEGImage. Létrehozása nem kezdődik

hozzárendelése # 40; bitmap # 41; ;

SaveToStream # 40; MS # 41; ;

Kapcsolódó cikkek