Le but de ce didactitiel est de vous faire découvrir pas à pas,
la construction d'une application pour le web avec Delphi 5/6. Il ne sera pas
question ici, de faire le tour des technologies et possibilités
offertes par la dernière version de l'outil de programmation,
mais simplement de vous donner la marche à suivre pour créer une application portable.
|
unit uMainCaddy;
(*-------------------------------------------------------------------
Le but de cet exemple est de démontrer la simplicité du développement
pour le web avec Delphi.
- Vos objets Delphi sont écrit comme pour une application classique
- Il suffit ensuite d'écrire les interfaces ISAPI / CGI ou Objet Com ASP
pour les utiliser sur le web.
Cette méthode présente également l'avantage de pouvoir tester vos objets
sans avoir recours à un serveur web et à séparer les problèmes éventuels
liés à chaques parties (L'objet Delphi, La DLL Isapi, ect)
Version 1.0, copyrigth www.delphiCenter.net Mai 2001
Auteur : JJM
Email de l'auteur : jjm@delphiCenter.net
------------------------------------------------------------------*)
interface
uses
Windows, Messages, SysUtils, Classes, HTTPApp;
type
TWM = class(TWebModule)
procedure WMSetItemsAction(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
procedure WMSetQteAction(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
procedure WMShowCaddyAction(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
private
{ Déclarations privées}
public
{ Déclarations publiques}
end;
var
WM: TWM;
implementation
{$R *.DFM}
Uses uCaddyIsapi;
procedure TWM.WMSetItemsAction(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
Var T : TCaddyISAPI;
SResult : String;
begin
Try
// Ajout d'un article dans le caddy
T := TCaddyISAPI.Create(Request);
Try
With T Do
begin
SetItems;
if isapiNextUrl<>'' then
Response.SendRedirect(isapiNextUrl)
else
begin
SResult:=ShowReport;
if SResult='' then
SResult:=ErrorsISAPIHtm;
Response.Content:=SResult;
end;
end;
Finally
T.Free;
end;
Except
on e:Exception do
Response.content:=e.message;
End;
end;
procedure TWM.WMSetQteAction(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
Var T : TCaddyISAPI;
SResult : String;
begin
// Modification de la quantité d'un article dans le caddy
T := TCaddyISAPI.Create(Request);
Try
With T Do
begin
SetQuantity;
if isapiNextUrl<>'' then
Response.SendRedirect(isapiNextUrl)
else
begin
SResult:=ShowReport;
if SResult='' then
SResult:=ErrorsISAPIHtm;
Response.Content:=SResult;
end;
end;
Finally
T.Free;
end;
end;
procedure TWM.WMShowCaddyAction(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
Var T : TCaddyISAPI;
SResult : String;
begin
// Affichage du contenu du caddy
T := TCaddyISAPI.Create(Request);
Try
SResult:=T.ShowReport;
if SResult='' then
SResult:=T.ErrorsISAPIHtm;
Response.Content:=SResult;
Finally
T.Free;
end;
end;
end.
|
|