=== Заметки злого админа » Web-программирование на Turbo Basic === По просьбам выкладываю отдельным постом код, написанный ради прикола в форуме Winreview. Все началось с цитаты в разделе приколов: XXX 20:10:26 кто в здравом уме будет пейсать веб-скрипты на бейсике? 20:11:25 впрочем, .NET показало, что можно пейсать и плеваться вне зависимости от языка Я решил показать, что это все-таки возможно и даже местами прикольно. Современные версии языка юзать не интересно, поэтому я решил обратиться к истокам  Borland Turbo Basic. Ранее мне где-то попадался реальный FAQ на тему программирования CGI скриптов на досовом турбо бейсике. Причем у скомпиленных им экзешников был какой-то косяк с stdout, приходилось подставлять костыль, что-то типа заворачивания экзешников в батники. Я не пробовал, но автор клялся и божился, что все работает. В общем, не устоял и попробовал. Итак: 5 open "out.txt" for output as #1 10 print# 1,"Content-Type: text/html" 20 print# 1,"" 30 print# 1,"Hello World!" 40 qs$ = environ$("QUERY_STRING") 50 vn$ = "name" 60 gosub 1000 70 if vv$<>"" goto 100 80 print# 1,"

Please, enter your name

" 90 goto 200 100 print# 1,"

Fuck you, "+vv$+"!

" 200 close# 1 1000 rem Parsim peremennyu QUERY_STRING 1001 rem vn$ - imya peremennoi, vv$ - znachenie. 1010 vt$ = vn$ + "=" 1020 vv$ = "" 1030 vp = 0 1040 for i=1 to len(qs$)-len(vt$)+1 1050 if mid$(qs$,i,len(vt$))=vt$ then vp=i+len(vt$) else goto 1070 1060 goto 1080 1070 next i 1080 if vp=0 goto 1200 1090 ls = 0 1100 for i=vp to len(qs$) 1110 if mid$(qs$,i,1)<>"&" then ls=ls+1 else goto 1130 1120 next i 1130 vv$ = mid$(qs$,vp,ls) 1200 return Да, там действительно есть проблемы с stdout. Обычные операторы PRINT выводят текст на экран. Но перенаправление вывода в файл не работает. А это значит, что Апач не видит и не может передать клиенту вывод экзешника. Я попытался вывести текст в стандартный файл CON, но это не сработало. Поэтому появился такой костыль: @echo off cgi.exe type out.txt А теперь полюбуйтесь на результат: Итак, начало положено. Ждем появления в интернете мегапорталов, написанных на Турбо Бейсике. Программисты, вперед! Возродим любимый язык наших предков! Думаю, Хрюкину понравится TODO: Надо еще как-то научиться ловить STDIN (чтобы POST запросы работали). P.S. Да, я знаю все косяки этой конструкции, но они устранимы. Это пример, сляпанный на коленке за несколько минут. .