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; ;