Anregungen und Vorschläge zu PROFAN
Hier können Vorschläge für künftige PROFAN-Versionen, Ausgestaltung der PROFAN-Seiten und -Foren, etc. gemacht werden.
  Suchen
 Zurück zur Übersicht
 AutorThema: CGI
Oliver Hahn
Datum:17.06.02 12:38 Antwortenals Email verschicken (oliver.hahn@landratsamt-ansbach.de) 


Hallo!
Ich setze Profan seit längerem erfolgreich als WIN-CGI Anwendung im Intranet unseres Hauses ein. Leider wird die etwas veraltete WIN-CGI-Schnittstelle nur noch von wenigen Webservern unterstützt. Der Platzhirsch unter den Webservern von MS unterstützt WIN-CGI natürlich nicht, hier kann man sich nur mit einer externen DLL behelfen, was die Sache nicht einfacher und schneller macht. Schön wäre es wenn Profan künftig auch - evtl. über ein Zusatzmodul - die CGI-Schnittstelle SDTIN und SDTOUT direkt unterstützen würde. Dann könnte man mit Profan einfach und direkt WEB-Skripting auf allen Servern realisieren.

Oliver Hahn


Thorsten
Datum:17.06.02 22:32 Antwortenals Email verschicken (mrk@mrk-soft.de) 


Hi,

dazu braucht es keine externe DLL, sondern einfach die
API Funktion STD benutzen !!! So funktoniert das
hier auf dem echten WEB-Server auf meinem Rechner schon
länger ...



Oliver Hahn
Datum:10.07.02 16:09 Antwortenals Email verschicken (oliver.hahn@landratsamt-ansbach.de) 


Hi Thorsten,
das klingt wirklich gut! Hast Du vielleicht ein Code-Schnipsel für mich, an dem
ich den API Call sehen kann? Welchen Server verwendest Du? Rufst Du eine Profan-Exe auf oder Interpreter-Code?
Wäre nett wenn Du mir ein paar Infos über Deine Konstuktion zukommen lassen könntest!
Tausend Dank.
Mit freundlichen Grüßen

Oliver Hahn ;-)



Thorsten
Datum:10.07.02 20:37 Antwortenals Email verschicken (galaxy@mrk-soft.de) 


Hi,

Ich rufe fertige Compilierte Dateien auf (Exe Files), schon
alleine wegen der Geschwindigkeit und es lassen sich so
auch die Parameter besser auslesen.

Als Web-Server läuft hier im Moment noch JANA ,Flat2Serv und
MultiCom parallel, wobei JANA auf Port 80 als Standart-Server
fungiert, Flat2Serv als FTP. MultiCom ist ein Eigene
Produktion in sachen Web-Server, soll aber JANA und Flat2Serv
mal ablösen !!!

Mitlerweile sind aber viele CGI-Scripte nach Delphi Portiert,
und nur noch vereinzelt in Profan. Das Prinzip über die
API ist aber auch dort gebleiben.

Für den NICHT KOMMERZIELLEN gebrauch gebe ich nun die Profan
Inlude frei.


'STD_INC für CGI
'(C) MRK-Soft, 2002
'bei Kommerzellen gebrauch der INC sind 20 Euro zu entrichten !!!


def GetStdHandle(1) !"kernel32","GetStdHandle"
def stdReadFile(5) !"kernel32","ReadFile"
def stdWriteFile(5) !"kernel32","WriteFile"

declare cgi1#, cgi2#, querry$

querry$ = @GetEnv$("QUERY_STRING")           'daten aus dem Qureey lesen, Method = GET

proc std_WriteText
 parameters textUser$
 declare stdhandle&, cgiout$
 cgiout$ = "Content-Type: text/html" + chr$(13) + chr$(10) + chr$(13) + chr$(10)
 writetext$ = cgiOut$ + textUser$
 dim cgi1#,len(writetext$)
 dim cgi2#,4
 String cgi1#,0=writetext$
 stdhandle& = GetStdHandle(-11)
 stdWriteFile(stdhandle&,cgi1#,len(writetext$),cgi2#,0)
 dispose cgi1#
 dispose cgi2#
endproc

proc std_WriteFile
 parameters writefile$
 declare stdhandle&, cgilen&, cgiout&, cgiout$
 cgiout$ = "Content-Type: text/html" + chr$(13) + chr$(10) + chr$(13) + chr$(10)
 cgiout& = FileSize(writefile$)
 cgilen& = len(cgiout$) + cgiout&
 dim cgi2#,4
 dim cgi1#,cgilen&
 String cgi1#,0=cgiout$

 Assign #1,writeFile$
 OpenRW #1
 BlockRead(#1,cgi1#,len(cgiout$),cgiout&)
 CloseRW #1

 stdhandle& = GetStdHandle(-11)
 stdWriteFile(stdhandle&,cgi1#,cgilen&,cgi2#,0)
 dispose cgi1#
 dispose cgi2#
Endproc

proc std_EWriteFile
 parameters writefile$
 declare stdhandle&, cgilen&, cgiout&, cgiout$
 cgiout$ = "Content-Type: text/html" + chr$(13) + chr$(10) + chr$(13) + chr$(10)
 cgiout& = FileSize(writefile$)
 cgilen& = len(cgiout$) + cgiout&
 dim cgi2#,4
 dim cgi1#,cgilen&
 String cgi1#,0=cgiout$

 Assign #1,writeFile$
 OpenRW #1
 BlockRead(#1,cgi1#,len(cgiout$),cgiout&)
 CloseRW #1
 Erase #1

 stdhandle& = GetStdHandle(-11)
 stdWriteFile(stdhandle&,cgi1#,cgilen&,cgi2#,0)
 dispose cgi1#
 dispose cgi2#
Endproc


proc std_StreamFile
 parameters writefile$
 declare stdhandle&, cgilen&, cgiout&, cgiout$
 cgiout$ = "Content-type: application/octet-stream; name=" + CHR$(34) + writefile$ + CHR$(34) + chr$(13) + chr$(10) + chr$(13) + chr$(10)
 cgiout& = FileSize(writefile$)
 cgilen& = len(cgiout$) + cgiout&
 dim cgi2#,4
 dim cgi1#,cgilen&
 String cgi1#,0=cgiout$

 Assign #1,writeFile$
 OpenRW #1
 BlockRead(#1,cgi1#,len(cgiout$),cgiout&)
 CloseRW #1

 stdhandle& = GetStdHandle(-11)
 stdWriteFile(stdhandle&,cgi1#,cgilen&,cgi2#,0)
 dispose cgi1#
 dispose cgi2#
endproc

proc std_WriteGIF
 parameters writefile$
 declare stdhandle&, cgilen&, cgiout&, cgiout$
 cgiout$ = "Content-Type: image/gif" + chr$(13) + chr$(10) + chr$(13) + chr$(10)
 cgiout& = FileSize(writefile$)
 cgilen& = len(cgiout$) + cgiout&
 dim cgi2#,4
 dim cgi1#,cgilen&

 Assign #1,writeFile$
 OpenRW #1
 BlockRead(#1,cgi1#,0,cgiout&)
 CloseRW #1

 stdhandle& = GetStdHandle(-11)
 stdWriteFile(stdhandle&,cgi1#,cgilen&,cgi2#,0)
 dispose cgi1#
 dispose cgi2#
Endproc


'std_WriteText "Hallo Computer"
'std_WriteText querry$
'std_WriteGIF "bild.gif"   'auch für JPG zu benutzen






Sven Schmidts
Datum:11.07.02 08:30 Antwortenals Email verschicken (schmidts@flat2serv.de) 


Hi Thorsten,

dumme Frage, aber wieso nutzt Du Jana als HTTP und flat2serv als FTP? Beides kannst Du mit f2s erledigen.

Mfg.
Sven Schmidts


René Wagner
Datum:11.07.02 08:46 Antwortenals Email verschicken (apollo@rw-net.de) 


Man kann auch beides mit Jana erledigen. =)


Sven Schmidts
Datum:11.07.02 08:52 Antwortenals Email verschicken (schmidts@flat2serv.de) 


Kommt drauf an, was Du machen willst ... Jana kann z.B. kein Ratio.


Thorsten
Datum:11.07.02 21:06 Antwortenals Email verschicken (mrk@mrk-soft.de) 


>dumme Frage, aber wieso nutzt Du Jana als HTTP und flat2serv
>als FTP? Beides kannst Du mit f2s erledigen.

Aaaaeeemmmmm, .... hmmmmmmmm , ....., ?????, ( denk !!!).

Weil auf dem Rechner zur Zeit sogar 3 HTTP-Server laufen,
auf unterschielichen IP-Ports. Ich nutze Jana , weil F2S
in 1.x kein News-Server Unterstützt. Und ganz ehrlich, auch
wenn ich F2S in der PC-Praxis als Werbung auf einer 1/3 Seite
gesehen habe, und als der Ultimative Server angebpriesen wird,
so ist JANA halt kostenlos, und F2S läst sich ja auch nicht
so intensiv in der DEMO Testen. F2S läuft im moment auch
wirklich nur wegen der Ratio !!!, und den kleinen Teil auf
HTTP.

Aber klingt schon interessant die Version 2.x.
Naja, irgendwoe haperts bei mir noch in MultiCom an
der FTP-Geschichte, der HTTP Teil ist schon komplett
fertig, ... aeee, nein, nicht in Profan gemacht.




Sven Schmidts
Datum: 11.07.02 21:25 Antwortenals Email verschicken (schmidts@flat2serv.de) 


In der Werbung ging's nicht um f2s 2, sondern um Softroute / Postman ;)

Themawechsel, betrifft alles nicht Profan²!


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
Shortwin - denn Glück ist kein Zufall!