Customer logs into web., username would become CCode so it would be set up to get only their data from file.
I do not know how to create xml so I used text file.
I use build.bat to compile
Code: Select all
include <hmg.ch>
*************** This is a Consignment store
Function Main
Crtabletext()
CrText()
WebView()
RETURN
FUNCTION CrText // Client would send this file to folder on web every day
USE WebClient Shared
SET INDEX TO Ccode
Go Top
SET CONSOLE OFF
SET PRINT ON
SET PRINTER TO 'CLLIST.TXT'
LIST CCODE,ITEM,DESC,STR(PRICE),STR(SALEPRICE) TO PRINTER
SET PRINTER TO
SET PRINT OFF
SET CONSOLE OFF
CLOSE ALL
***************************** this type code would be on website or ????
* <?php
* $myfile = fopen("cllist.txt", "r") or die("Unable to open file!");
* // Output one line until end-of-file
* while(!feof($myfile)) { // and $ccode == $username ??????
* echo fgets($myfile) . "<br>";
* }
* fclose($myfile);
* ?>
RETURN
FUNCTION WEBVIEW // Clients Customer could go on website and look at only their information
**************************** Would be in php
Local MMCODE:= '', MPRICE := 0, TEMP := ''
MMCODE := InputBox('Enter Id..10001..10002') // On the web this would be username aADD(CF,{'CCode' ,'C' , 7,0})
IF LEN(ALLTRIM(MMCODE)) = 0
MSGBOX('No ID Entered... Program will Close')
CLOSE ALL
DELETE FILE WebClient.dbf
DELETE FILE CCODE.NTX
DELETE FILE CLLIST.TXT
RETURN
ENDIF
CF := {}
aADD(CF,{'REC' ,'C' , 30,0})
aADD(CF,{'CCODE' ,'C' , 7,0}) // Client Id Code
aADD(CF,{'ITEM' ,'C' , 25,0}) // Inventory Number
aADD(CF,{'DESC' ,'C' , 25,0}) // Item Description
aADD(CF,{'PRICE' ,'C' , 15,0}) // Suggested Price to sell for
aADD(CF,{'SALEPRICE' ,'C' , 15,0}) //If sold
aADD(CF,{'NPRICE' ,'N' , 10,2}) // Suggested Price to sell for
aADD(CF,{'NSALEPRICE' ,'N' , 10,2})
DBCREATE( 'temp.dbf',CF )
USE
USE TEMP NEW EXCLUSIVE
APPEND FROM CLLIST.TXT DELIMITED WITH BLANK
IF LEN(ALLTRIM(MMCODE)) > 0
INDEX ON CCODE TO TEMP FOR ALLTRIM(CCODE) == MMCODE
ENDIF
REPLACE ALL NPRICE WITH VAL(PRICE)
REPLACE ALL NSALEPRICE WITH VAL(SALEPRICE)
DBAPPEND()
REPLACE REC WITH 'TOTALS'
REPLACE CCODE WITH MMCODE
SUM ALL NPRICE TO MPRICE
GO BOTTOM
REPLACE NPRICE WITH MPRICE
SUM ALL NSALEPRICE TO MPRICE
GO BOTTOM
REPLACE NSALEPRICE WITH MPRICE
EDIT EXTENDED WORKAREA TEMP // I used edit here for simplicity
CLOSE ALL
DELETE FILE TEMP.DBF
DELETE FILE TEMP.NTX
DELETE FILE WebClient.dbf
DELETE FILE CCODE.NTX
DELETE FILE CLLIST.TXT
RETURN
FUNCTION Crtabletext
if ! file('WebClient.dbf')
CF := {}
aADD(CF,{'NAME' ,'C' , 30,0})
aADD(CF,{'CCODE' ,'C' , 7,0}) // Client Id Code
aADD(CF,{'ITEM' ,'C' , 25,0}) // Inventory Number
aADD(CF,{'DESC' ,'C' , 25,0}) // Item Description
aADD(CF,{'PRICE' ,'N' , 10,2}) // Suggested Price to sell for
aADD(CF,{'SALEPRICE' ,'N' , 10,2}) //If sold
DBCREATE( 'WebClient.dbf',CF )
USE
USE WebClient EXCLUSIVE NEW
WebClient->( DBAPPEND())
WebClient->( FIELDPUT(1, 'JOHN DOE' ))
WebClient->( FIELDPUT(2, '10001' ))
WebClient->( FIELDPUT(3,'10001-1'))
WebClient->( FIELDPUT(4,'WAGON'))
WebClient->( FIELDPUT(5,5.00))
WebClient->( FIELDPUT(6,5.00))
WebClient->( DBAPPEND())
WebClient->( FIELDPUT(1, 'TOM SMITH' ))
WebClient->( FIELDPUT(2, '10002' ))
WebClient->( FIELDPUT(3,'10002-1'))
WebClient->( FIELDPUT(4,'SWEATER'))
WebClient->( FIELDPUT(5,10.00))
WebClient->( FIELDPUT(6,0.00))
WebClient->( DBAPPEND())
WebClient->( FIELDPUT(1, 'JOHN DOE' ))
WebClient->( FIELDPUT(2, '10001' ))
WebClient->( FIELDPUT(3,'10001-2'))
WebClient->( FIELDPUT(4,'BIKE'))
WebClient->( FIELDPUT(5,25.00))
WebClient->( FIELDPUT(6,0.00))
USE
USE WebClient EXCLUSIVE NEW
INDEX ON CCODE TO CCODE
USE
endif
Return
Franco