Also du willst PB nicht selbst als cgi laufen lassen?
also das ginge thoretisch auch. zwar habe ich das noch nicht mit pb gemacht, aber mal mit ner anderen sprache.
die man übergegeben Parameter einliest steht ja weiter oben (habe mir das aber nicht genauer angesehen).
Wenn du auf dem Server (z.b. dein rechner zu Hause auf dem ein Webserver läuft, so wie bei mir,aber auch Webserver auf NT-basis) kannst du deine exe auch direkt ohne umweg über eine datei als cgi nutzen, ähnlich wie PHP oder perl.
du mußt dazu im grunde nichts weiter mach als die ausgabe über die Console machen (müßte bei profan auch so sein). einen kleinen header am anfang der datei und das war es schon.
es könnte auch sein, das du anstatt der console einfach die ausgabe in eine datei (ich hatte es glaube ich über die winApi "writefile" gemacht) nutzt und als dateihandle "GetStdHandle(-11)" (das müßte das standart outputhandle sein).
ich könnte es mal testen, ist schon zwei jahre oder mehr und in ner anderen sprache, daher weiß ich nicht so genau. ich schaue aber gerade ob es geht.
melde mich, falls ich noch was rausgefunden habe.
[edit]
Mitten in der Nacht, aber es hat mich nicht in Ruhe gelassen. Hätte es in 5 Minuten hinbekommen, hätte ich nicht nen Tipfehler übersehen 10 statt 11 eingegeben. *Grrr*
Ich habe auf meinem Rechner den JanaServer laufen. Unter
http://www.netzspione.ipactive.de/cgi-bin/cgi.exe
habe ich ein PB als CGI laufen. code ist noch ein bissl wüst, daher poste ich ihn noch nicht. falls dich sowas interssiert kann ich ihn dir geben bzw. erweitern. müßten nur 6 Zeilen code sein im einfachsten fall. es werden aber 2 WinApibefehle genutzt, da ich nicht weiß bzw. noch nicht weiß wie es direkt mit PB geht. könnte das aber noch über die console testen.
Thorsten
CGI Exe-Date
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
So langsam kann ich mir was darunter vorstellen 
Werde mich mit euren Anregungen demnächst beschäftigen-muss aber, weil ich ein für mich sehr wichtiges Praktikum mache, jetzt erstman "Power-Basic" lernen, da dies in meine Betrieb die Hauptsprache ist...
Hoffe, dass der Übergang mir nicht zu schwer fällt..
Ich besorge mir jetzt erstmal Tuts.
Gr33tz
Tafkadasom2k5 -.-

Werde mich mit euren Anregungen demnächst beschäftigen-muss aber, weil ich ein für mich sehr wichtiges Praktikum mache, jetzt erstman "Power-Basic" lernen, da dies in meine Betrieb die Hauptsprache ist...
Hoffe, dass der Übergang mir nicht zu schwer fällt..
Ich besorge mir jetzt erstmal Tuts.
Gr33tz
Tafkadasom2k5 -.-
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
@Tafkadasom2k5
So, dann poste ich dir gleich mal meinen Code.
Da der auf der API beruht, kannst du in auch für jede andere Sprache nutzen. Mußt halt nur die Schreibweise der Funktionen ändern, je nach sprache.
Es sind jetzt 9 Zeilen Code, aber es ginge natürlich auch kompakter, wollte es dir aber lieber etwas übersichtlicher machen.
Gruß
Thorsten
Da der auf der API beruht, kannst du in auch für jede andere Sprache nutzen. Mußt halt nur die Schreibweise der Funktionen ändern, je nach sprache.
Code: Alles auswählen
text.s
text = "Content-Type: text/html" + Chr(13) + Chr(10) + Chr(13) + Chr(10)
; Contect-Type beschreibt im Header welcher Type von Daten folgt
; fr andere Datenarten mte man mal im Inet suchen
; Chr(13) + Chr(10) + Chr(13) + Chr(10) sind die Zeichen, die dem Webserver (und damit
; auch dem Surfer) das Ende des Headers zeigen. Ohne die Zeichen geht es nicht.
;text = "Content-Type: text/html" + Chr(10) + Chr(10) + Chr(13) + Chr(13) +"\n\n"
text = text + "test test me mo ma"
; Irgend ein "HTML"-Text / Quellcode vor den dann der Header gestellt wird
slen.l = Len(text) ; lnge des Textes inkl Header
hstd.l = GetStdHandle_(-11) ; Handel fr die Standartausgabe (anstatt einem Datei handle)
*MemoryID1 = AllocateMemory(slen+1 ) ; speicher fr daten erstellen, wegen abschlieendem
; Nullbyte eines mehr als der Text lang ist. Ob man den test hier direkt bergeben kann wei ich nicht,
; mte aber auch machtbar sein.
*MemoryID2 = AllocateMemory(4) ; 4byte langer Speicherbereich in dem reingeschrieben wird,
;wieviele Daten bertragen wurden (macht die Funktion nach Aufruf)
PokeS(*MemoryID1, text ,slen) ; Quellcode/test in Speicher schreiben / kopieren
WriteFile_(hstd,*MemoryID1,slen,*MemoryID2,0) ; Daten an die Standartausgabe senden.
; Die Standartausgabe ist im Grunde die Konsole. Knnte in PB auch direkt funktionieren
; ber diese, habe es aber nicht getestet.
; GetStdHandle und WriteFile sind also die einzigen WinApi-Funktionen die du zwingend brauchst
; Das geht wohl auch mit Powerbasic. Zum einlesen mut du die Envirementvariablen auslesen.
; Hat ja schon jemand geschrieben, knnte es dir aber "noch mal" in Code umsetzen.
Gruß
Thorsten
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Hey, Danke für deinen Code-Ansatz 
Werde mich mal mit dem Thema (und deinem Ansatz beschäftigen)
Gr33tz
Tafkadasom2k5

Werde mich mal mit dem Thema (und deinem Ansatz beschäftigen)
Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
-
- Beiträge: 713
- Registriert: 22.03.2005 00:29
- Computerausstattung: Computer und Strom vorhanden
- Wohnort: LK Wolfenbüttel
@armada
Ich habe es gerade mal versucht über die consolenausgabe, das klappt leider nicht. Ich versuche gerade auch Plattformunabhängig zu programmieren.
Von Linux habe ich leider keine Ahnung, aber es scheint dort wohl auch eine "Linux-API" zu geben, welche teilweise selbe syntax hat.
Ihm Grunde brauchst du nur das Handle für die Standdartausgabe, alles andere müßte das selbe sein. versuche mal rauszufinden wie das bei dir geht.
sonst fällt mir nur eine möglichkeit ein, die aber kein "echtes cgi" wäre.
wenn du ein programm schreibst und die networkfunktionen nutzt, so kann du dann plattformunabhängig was schreiben. der nachteil ist, das programm muß selber immer laufen als server (auf einem wunschport) und du muß dich schlaulesen, welche daten zu zurückliefern muß. ich vermute aber die selben wie hier auch.
riesiger vorteil an einem CGIserverprogramm wäre, das es EXTREM leistugsfähig sein müßte selbst bei rieser anfragelast. denn das programm müßte NICHT immer neu gestartet werden
@afkadasom2k5
gerne.
wenn du auch noch hilfe brauchst beim einlesen von übergebenen daten. egal ob GET oder POST kann ich auch nochmal schauen.
ansonsten reicht das obige beispiel für alles auch an daten in textform. nur wenn du selber bilder oder daten ausgeben willst, dann geht das wohl so nicht (könnte ich aber auch n och einbauen).
nicht zu verwechseln: du kannst sehr wohl wie im htmlcode über Links zu bildern einbauen. also das die bilder auf der durch das cgi erstellten website auch angezeigt werden (so ist das eh üblich).
Ich habe es gerade mal versucht über die consolenausgabe, das klappt leider nicht. Ich versuche gerade auch Plattformunabhängig zu programmieren.
Von Linux habe ich leider keine Ahnung, aber es scheint dort wohl auch eine "Linux-API" zu geben, welche teilweise selbe syntax hat.
Ihm Grunde brauchst du nur das Handle für die Standdartausgabe, alles andere müßte das selbe sein. versuche mal rauszufinden wie das bei dir geht.
sonst fällt mir nur eine möglichkeit ein, die aber kein "echtes cgi" wäre.
wenn du ein programm schreibst und die networkfunktionen nutzt, so kann du dann plattformunabhängig was schreiben. der nachteil ist, das programm muß selber immer laufen als server (auf einem wunschport) und du muß dich schlaulesen, welche daten zu zurückliefern muß. ich vermute aber die selben wie hier auch.
riesiger vorteil an einem CGIserverprogramm wäre, das es EXTREM leistugsfähig sein müßte selbst bei rieser anfragelast. denn das programm müßte NICHT immer neu gestartet werden
@afkadasom2k5
gerne.
wenn du auch noch hilfe brauchst beim einlesen von übergebenen daten. egal ob GET oder POST kann ich auch nochmal schauen.
ansonsten reicht das obige beispiel für alles auch an daten in textform. nur wenn du selber bilder oder daten ausgeben willst, dann geht das wohl so nicht (könnte ich aber auch n och einbauen).
nicht zu verwechseln: du kannst sehr wohl wie im htmlcode über Links zu bildern einbauen. also das die bilder auf der durch das cgi erstellten website auch angezeigt werden (so ist das eh üblich).