DbfWebServer.    DBF 
. 


    ,         .         .





DbfWebServer

   DBF 



.



. ,2017



ISBN978-5-4485-2287-1

     Ridero




  http://ixbase.info







         xBASE  xHarbour (http://xharbour.com)    (),      CLIPPER.

     (  ,      ,  Keio)  HTML



:

,      



        ,     .         *.dbf.

           ,    .

    ,         .         







   *.dbf      .  , ,    SQL. ,   DBF        -.  ,   ( )         (1,2).     ,     ,   .      ,      CLIPPER.   DBF   .

     ()   () .          ,     .     *.dbf      *.exl,   Excel,   3 ,  DBF     SQL.         ,        .   ,   *.dbf,            dbfWebServer (. .1).








. .1.    dbfWebServer

 



HTTP HyperText Markup Language

VM  

WWW World WideWeb

Ѡ   

 ixBASE   ixBASE

Ѡ  

Π  

ΠixBASE   ixBASE

Ġ    




 1.    DBF



,   



DbfWebServer  ,   : ,  .        .    ,      .       .      . Ѡ          /    ,        .

     ,         ,   SQL,  APACHE + MySQL + PHP.         ࠖ APACHE SQL     .

   dbfWebServer,   ,   ,         ,    ,     ,    ,  -    .

    1400.       CLIPPER,      , ,  .

    ,  -,        ,     .     ,   ,     ,       .  ,  ,       ,          ,    .

 

               .    *.dbf       .        ().        NOVELL.              .          NOVELL       DBF.

    dbfWebServer  ,   , ,  .     ,     WIN32   .

 dbfWebServer         ,   WIN32  ,      .

 dbfWebServer     ,      .

  ,     ,   ,       ,   . , ,   .    .

   ,   ,         .

Ѡ            ,  ,    .

    CLIPPER         .

 

       ,    ()  dbfWebServer:

\www\   

\www\dbf\   *.DBF

\www\\html\ ,  

 HTML

\www\\HTML4\  c HTML

\www\\xHarbour\ ,  

 xHarbour

dbfWebServer. exe 

dbfWebServer.ini  

dbfWebServer. txt   

      ,        .           ,    .         .



\dbf  

DBFHTM00.CDX

DBFHTM00.DBF    HRB.exe

DBFRUN00.CDX

DBFRUN00.DBF    

DIRECT00.CDX

DIRECT00.FTP

DIRECT00.DBF   

SPIDBF00.CDX

SPIDBF00.DBF   :  

SPIDBF10.CDX

SPIDBF10.DBF   :  

SPIDBF20.CDX

SPIDBF20.DBF   :  

 \www\      ,  Apache.

.      .




 


    dbfWebServer.zip

           .

   .

     ,      -   .

    .




 


      

dbfWebServer.exe

     .

    ,   ..1.

    ,       :

http://localhost:4180

    index.html:

http://localhost:4180/html/index.html

.          :

      .     ( );

   .

   ,    dbf.html,    .

      index.html  /html/.

   index.html       (. 1.2):








. 1.2.    index.html  dbfWebServer



            .

 렖   , 頖  ,     .       .

       .

     ,        .




 


  dbfWebServer. exe     dbfWebServer.BEG.

  (    )    .    ,        ,     ,    .

        .      .      .  -    ,         .     :

 dbfWebServer.BEG



Set (01,OFF),Set (03,4 ),Set(04,"dd.mm.yy),Set (08,ON), Set (09,ON)

Set (11,ON),Set (14,10),Set (31,.F.),Set (32,OFF),Set (35,ON)

ixPUB (arrDbfRun, arRay (512,2))

ixPUB (arrDbfOpe, arRay (64))

ixPUB (_DBF_, STA)

ixPUB (M, 001)

ixPUB (ixPORT, 4180)



     ,     , :

arrDbfRun

,    ,  

arrDbfOpe

,      .        

ixPORT

 ,     



  

,   ,  dbfWebServer.txt

    .        .     ,       ,          ,     ,   .

 

  dbfWebServer     . Ӡ    -   .         .

  ,       Apache   MySQL.

  Apache   WEB ,  ,   ,   , 

\www\

   IxBase,    ,      :

\ixb\bin\www\

  \ixb\bin\    () Apache.exe.

  \ixb\mysql\    MySQL.

    dbfWebServer      \ixb\bin\.

  \www\  dbfWebServer   \ixb\bin\www\  , ,    ixBase.




2.  



     .           xBASE.        WHILE, FOR.         dbEval () aEval ().          ,      ,    , 

DBFRUN00-> (dbGoGop (),FieldGet(1))




 


   ,     ,      .

ixPUB (cArg1,value)   .       .   蠖 ,  .      .

ixWhile (cKey, cValue) ,   .      ,       ().

dbfRun (cName) ,    .    .    DBFRUN00.

DbfOut (bLine, RelNam, RelVal, KeyNam, KeyVal, Filter, PrUni, MaxEle) ,         .     dbEval (),      .

_x_sta (cStr_1,cStr_2,cStr_3) ,      .

encode (cString)   ,   .

  

    ,       .      ,   CLIPPER5.3.

         ixBASE,    :

DBFHTM00.  CGI- HRB. EXE (Harbour), CLP. EXE (CLIPPER 5.3), ALS. EXE (Alaska).     WIN32.    UNIX   ,     .

DBFRUN00.   IXBASE. EXE,   xHarbour.    WIN32 WIN64.

DBFBLO00.   IXBASE. EXE (CLIPPER 5.3, FiveWin 1.95).    WIN32.

DBFMEN00.   .   IXBASE. EXE (CLIPPER 5.3, FiveWin 1.95).

      

/ixb/sys/dfw/

      ,    

./dbf/




 


  IXBASE. exe (DOS)   /ixb/sys/dbf/.

  ,    ixBase   ,       : /DFW /DBF.




 


     .  ,  ,   :

 䠖    dbfWebServer.txt;

 䠖   : SPIDBF00.dbf, SPIDBF10.dbf, SPIDBF20.dbf (. 2.1).



 SPIDBF00.dbf     .

 SPIDBF10.dbf    .

 SPIDBF20.dbf     .








. 2.1.      dbfWebServer

   

    ,    ,      CLIPPER (xHarbour),   subCode = 1002.

  ,   ,    ,   .   , ,  :

SPIDBF00-> (dbGoTop())

dbSelectArea (SPIDBF10)

  ,     ,   .

        .

    dbfWebServer. dbf.       ,      ixOpen (cName).      arrDbfOpe.    ,      .           ,    dbfWebServer. dbf    .

   .

    ꠗ

*********************************************************

     :  ,  ,  ,   .

     .

 ,   (  ).

     ,       () SPIDBF00.dbf.   ,            arrDbfOpen.

    ,      .

     .

     ,         ,     SPIDBF00, SPIDBF10 SPIDBF20 (. 2.1).



     ixBASE

  ,  ,  .     .         .

SPIDBF00->

SPI 

DBF dbf 

00 

(SPI+DBF+00) => SPIDBF00

 ,      ,   SPIDBF (00,10,20).




3.  





 


    .     :   (show),   (hide),   (shutdown).    . 3.1.       WIN API   , 

http://localhost:4180/ShowWindow(hWnd,5)   ;

http://localhost:4180/ShowWindow(hWnd,0)   ;

http://localhost:4180/sendMessage(hWnd,2,NIL,NIL)  .








. 3.1.     dbf.html    dbfWebServer



   :

Manuel ofdbfWebServer;

Manuel ofHTML4;

xHarbour functions.



 Manuel ofdbfWebServer      .

 Manuel ofHTML4         HTML4    .

 xHarbour functions    ,     xHarbour    .







      .      *.html.      .

         .       HTML editor.

         ,    ,     ,   

/html/*.html

         蠫++.     ,      ,       .

        x++   y++.

   ,  ,    .

   ,     .




 


    .    ,         ,  .

  ,       .   ,    CLIPPER-xHarbour,       .

,   ,    ,    :



src="http://localhost:4180/cb:='<table width=100%>, i:=1,DBFRUN00-> (dbgotop (), ixWhile (! eof (), cb+= [<tr> <td>] + str (i) + [<td>] +FieldGet (1) + [<td>] +FieldGet (2) + [<td width=100%>] + STRTRAN (FieldGet (3), [<], []),dbskip (),i++)),cb



     ,    ,  ,   .3.2  .

    , ,        :

http:// localhost:4180/ (123+4)/2

      .

ʠ   ,    ,   .

ʠ   ,     *.html.

Ѡ      ,    DBFRUN00.dbf.         ,    ,   .








. 3.2.     DBFRUN00,    dbfcodeblock.html








. 3.3.     DBFRUN00,    PHP   MySQL



    [+],    ,  ,  PHP-    $m, $id, $txt  ,   ,      MySQL  DBFRUN00.dbf.



PHP-



$h=localhost;

$p=4180;

$page="http://".$h."/ixbase/e.php";

$sp=ix=dbfrun00.rcve&naiblo=$m&alikey=$id&valblo=. urlencode (trim ($txt));

$np=strlen ($sp);

$fp=fsockopen ($h,$p,$errno,$errstr,10);

if (!$fp){

echo Icant connect to$h;

} else{

fputs ($fp,POST $page HTTP/1.0

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-icq,*/*

Content-Type: application/x-www-form-urlencoded

User-Agent: Mozilla/4.0(compatible; MSIE 5.0; Windows98)

Accept:*/*

Referer: http://$h/

Host:$h

Content-Length:. $np.

Pragma: no-cache



.$sp);



$reply=;

while (!feof ($fp)) $reply.=fgets ($fp,256); fclose ($fp);

echo "$reply;



.   HTML-    GET  POST.

   ,         PHP. HTML-  PHP      ,   , ,   .




 


              .     .

         .      ,      .     ,       .   , ,  ,    .            .

           v.1.0.







    ,    .   ,     CLIPPER xHarbour.  , xHarbour    (VM).         () CLIPPER,  JAVA.

    JAVA,      ,  ,   xHarbour      ,  .

 ࠖ   .             Eval().

             .       dbfWebServer.




 


    : , -,  , .         .    -  ,    .   ,    .    -    ,      ,       .

 ,   [4],              ,         .

 ,        젖    .   ,  ,  ,  .  ,       ,            .

DbfWebServer     ,     ,   .

         .

       .

     ,   ,    .

     .

      ,     .




 


   ࠖ .    ,  . 7  堖  .     ,     .

        .

Ѡ  dbfWebServer  ,       .            .     .

    .    dbfWebServer,         .

     .     ,  ,    ,  Microsoft Internet Explorer, Netscape, Opera  Firefox.

        HTML.   ,    ,      .

     ,   .

        (. 3.3).

        ,    .

           ,     :

   ;

   ;

   ;

     .




 


 ,     ,   :



,ixpub (R_karbeg, 1)row

,ixpub (L_karbeg, 10) curele

,ixpub (V_karbeg,) search value string

,ixpub (E_karbeg, 10) end oflist

,ixpub (U_karbeg,) fierst element oflist

,ixpub (N_karbeg,) next element oflist

,ixpub (O_karbeg, 2) order index




 


     .

    .      ,      .

    ,  ,  . ,   KARBEG00.dbf    karbeg00.html.     :



<eval>

ixpub (R_karbeg,1)

,ixpub (L_karbeg,10)

,ixpub (V_karbeg,)

,ixpub (E_karbeg,10)

,ixpub (U_karbeg,)

,ixpub (O_karbeg,2)

,[

<frameset cols=4,6>

<frame height=100% width=100% name=Amarginwidth=0marginheight=0>

<frame height=100% width=100% name=B src=karbeg002.html>

</frameset>

]



    .   ,   ,   <eval>, ,     ,   ,   .      ,       :

ixpub (R_karbeg,1)

,ixpub (L_karbeg,10)

,ixpub (V_karbeg,)

,ixpub (E_karbeg,10)

,ixpub (U_karbeg,)

,ixpub (O_karbeg,2)



  ,       A 蠫B .

<frameset cols=4,6>

<frame height=100% width=100% name=Amarginwidth=0marginheight=0>

<frame height=100% width=100% name=B src=karbeg002.html>

</frameset>

      ,   CLIPPER,  .

.

   CLIPPER      :

1)  蠖   ;

2)  蠖   ;

3)  蠖 [  ].



  »    ,    karbeg002.html, .



 karbeg002.html



<frameset rows=56,* border=0>

<frame height=100% width=100% name=M src=karbeg0021.html marginwidth=0marginheight=0>

<frame height=100% width=100% name=K src=karbeg0022.html>

</frameset>


 karbeg002.html,  ,   .   ̻     karbeg0021.html.

  ʻ   ,  



 karbeg0021.html



<eval>

[<table width=100% cellpadding=0cellspacing=0> <tr bgcolor= c0c0c0><td>

<b> <atarget=A href=naiarm001.html>

: ] +HB_oemToAnsi (NAIARM00-> (FieldGet (3))) +[

<tr bgcolor=e0e0e0> <td> <table> <tr bgcolor=c0d0c0>

<form name=F target=_top action=rezzak00.html method=get>

<td> <input name=karbeg onfocus=kS () onkeydown=kD(event.keyCode) onkeyup=kU(event.keyCode)>

<td> <input type=hidden name=R>

</td> </form>

<td> <atarget=A href=karbeg001.html? V_karbeg:=> Home </a> &nbsp;

<td> <atarget=A href=karbeg001.html? kC:=33> PgUp </a> &nbsp;

<td> <atarget=A href=karbeg001.html? kC:=34> PgDn </a> &nbsp;

<td> <atarget=A href=karbeg001.html? maxele > </a> &nbsp;

<td> <atarget=A href=karbeg001.html? maxele++> ++ </a> &nbsp;

</table>

<tr> <td bgcolor=c0c0c0 height=4>

<tr> <td height=100% width=100%>

</table>

<script> F.karbeg.focus();

function kD (kC){

kV=F.karbeg.value;

if(F.R.value==l) {return;}

F.R.value=l;

		if(kC==38){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? R_karbeg';}
		else if(kC==40){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? R_karbeg++';}
		else if(kC==33){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC;}
		else if(kC==34){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC;}
		else if(kC==35){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC;}
		else if(kC==36){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? R_karbeg:=1;}
		else if (kC==27) {parent.parent.location.href='index.html;}
		}

function kU(kC){window.status=kC;

kV=F.karbeg.value;

		if(kC==120){location.href='imagix0021.html;}
		else if(kC>40){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC+, V_karbeg:=+kV+";}
		else if(kC==8){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? V_karbeg:=+kV+";}
		}
		function kS(){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html;}

</script>

]



    ?     HTML   



<form name=F target=_top action=rezzak00.html method=get>

<td> <input name=karbeg onfocus=kS () onkeydown=kD(event.keyCode) onkeyup=kU(event.keyCode)>

<td> <input type=hidden name=R>

</td> </form>



        :

		   onfocus=kS();
		    onkeydown=kD(event.keyCode);
		    onkeydown=kU(event.keyCode).

   <ENTER>   rezzak00.html        .

    R. Ѡ        .  , ,         .

 karbeg  ,         .

   ,  ,     :

 ;

   ;

 .

     ,   JavaScript.

   :



<script> F.karbeg.focus();

function kD (kC){

kV=F.karbeg.value;

if(F.R.value==l) {return;}

F.R.value=l;

		if(kC==38){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? R_karbeg';}
		else if(kC==40){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? R_karbeg++';}
		else if(kC==33){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC;}
		else if(kC==34){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC;}
		else if(kC==35){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC;}
		else if(kC==36){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? R_karbeg:=1;}
		else if(kC==27){parent.parent.location.href='index.html;}
		}

function kU(kC){window.status=kC;

kV=F.karbeg.value;

		if(kC==120){location.href='imagix0021.html;}
		else if(kC>40){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? kC:='+kC+, V_karbeg:=+kV+";}
		else if(kC==8){parent.parent.A.location.href='karbeg001]+O_karbeg+[.html? V_karbeg:=+kV+";}
		}
		function kS () {parent.parent.A.location.href='karbeg001]+O_karbeg+[.html;}

</script>



      kD (),   kU ()   kS().

 ,      ,       




  .


   .

   ,     (https://www.litres.ru/a-shevelev/dbfwebserver-sposob-effektivnoy-raboty-s-tablicami-dbfv-srede-internet/)  .

      Visa, MasterCard, Maestro,    ,   ,     ,  PayPal, WebMoney, ., QIWI ,       .


