HEBERGEMENT SITES INTERNET
CGI, ISAPI, ASP, Dot NET,
PHP & MySql,
DELPHI - Firebird & INTERBASE
 


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.


(C)delphiCenter.net Mai 2001   Accueil   Retour