CGI no Delphi

Delphi

21/07/2003

Bom dia
Uso o Delphi 7 Enterprise
e gostaria de saber exatamente como faz para criar CGIs no delphi.
Peguei uma apostila , mas quando fui compilar o programa apareceu uma janela do DOS com o código HTML que estava dentro do PageProducer1.
O que devo estar fazendo de errado e qual seria um jeito de corrigir isso?
Obrigado.


Gbr

Gbr

Curtidas 0

Respostas

Mmmalemao

Mmmalemao

21/07/2003

Voce deve ter instalado um servidor net na sua maquina. e chamar a ação que vc criou no seu cgi pelo IE....


GOSTEI 0
Emacruz

Emacruz

21/07/2003

Primeiro vc tem que ter um servidor Web em sua máquina para rodá-la como servidor, no caso do Windows 98 o PWS, no 2000 temos o IIS. Lembre-se de configurar as pastas corretamente para que o browser não tente fazer download do seu executável. Crie uma pasta chamada Teste e uma sub-pasta chamada cgi-bin com direito de rodar arquivos .exe e/ou dll.
No caso do cgi em si, só apareceu a tela do DOS porque você executou o programa, o que não é necessário, somente é preciso compilar o mesmo.

Vou tentar ser simples.. crie uma ação no seu CGI. Coloque o nome da mesma para ´actTeste´. Acione a propriedade Default da mesma para True. Isto indica que esta ação criada é a padrão do seu CGI(o que indica ao pé da letra que para executar a mesma você não vai precisar colocar aquele esquema: http://servidor.com.br/Teste.exe/login, mas sim http://servidor.com.br/Teste.exe
Deu para pegar?
Bom, agora coloque um tPageProducer no seu WebModule. Entre nas propriedades da sua ação de novo e coloque a propriedade Producer da mesma no producer colocado agora no seu WebModule.
Pronto, mais da metade já foi.
Agora você tem duas opções.. ou você pega um documento html externo para o tPageProducer representá-lo ou você também pode colocar o código na propriedade HTMLDoc da mesma.. coloque uma codificação simples nesta propriedade.. coloque o seguinte:

<HTML>
<BODY>
<#TESTE>
</BODY>
</HTML>

O <TESTE> é a base de tudo.. seguindo..
Agora repare nos eventos que o tPageProducer possui... apenas um.. OnHTMLTag, que para resumir brevemente irá lhe servir para substituir as tags transparentes (<TESTE>) por qualquer tipo de código(Pode rodar uma query para jogar dados na tela, pode colocar código HTML, inserir uma imagem.. enfim.. tudo :-) )
Neste evento você coloca o seguinte..

procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings; var ReplaceText: String);
var tg : string ;
begin
tg := UpperCase(TagString) ;
if (tg = ´TESTE´ ) then ReplaceText := ´<marquee>Emanuel Gatão</marquee>´ ;
end;

Pronto.. está quase ok.. agora você abre o seu browser e coloca o seguinte.. http://127.0.01/pastaquevocecriounoservidorweb/cgi-bin/nomedoprojeto.exe

Lembrando sempre que você não precisa rodar o programa nem pelo Delphi muito menos dando dois cliques no mesmo.. ao terminar seu projeto compile o mesmo e rode no Browser.. ele que vai interpretar o seu programa.

Bom, escrevi isto bem rápido porque está sinistra a situação aqui, espero ter sido claro nos detalhes.. qualquer coisa estamos ae..

Falow,
Emanuel.


GOSTEI 0
POSTAR