' Dictionary_Create.iwb

AUTODEFINE "off"

DEF myFile:FILE
DEF i, maxlen=0, wlen=0:INT
DEF pDb, pStmt:POINTER
DEF c, cq, qcq, qc, q, t:STRING
DEF dbName, error, path, recin:STRING
DEF stmt[1000]:ISTRING

c = ","
q = "'"
cq = c + q
qcq = q + c + q
qc = q + c
t = "\t"

path = Getstartpath
dbName = path + "Dictionary.MDB"
OPENCONSOLE
deletefile(dbName)
if dbCreateMDB(dbName)
	pDb = dbConnect("Microsoft Access Driver (*.mdb)",dbName,";")
	IF pDb = 0
		PRINT "(27) Error connecting"
		GOTO aborted
	ENDIF
'add table and fields for members
	stmt = "CREATE TABLE Dictionary (ID integer PRIMARY KEY,WWord varchar(30),Wlen smallint)"
	pStmt = dbExecSQL(pDb,stmt)
	error = dbGetErrorCode(pStmt)
	IF LEN(error)
		PRINT "(39) Failed to create DB Error ", error, "-", dbGetErrorText(pStmt)
		PRINT stmt
		GOTO aborted
	ENDIF
	dbFreeSQL(pStmt)
	pStmt = 0
' Load Dictionary default data
	IF (OPENFILE(myFile,path + "\\Dictionary.txt","R") <> 0)
		PRINT "File: Dictionary.txt Not able to Open Input"
		GOTO aborted
	ENDIF
	i = 0
	WHILE (READ(myFile,recin) = 0)
		wlen = LEN(recin)
		recin = lcase$(recin)
		IF wlen > 2 and wlen < 13
			if wlen > maxlen then maxlen = wlen
			i++
			IF i = INT(i/1000)*1000 THEN print i
			stmt = "INSERT INTO DICTIONARY VALUES(" + STR$(i) + ",'" + recin + "'," + STR$(wlen) + ")"
			pStmt = dbExecSQL(pDb,stmt)
			error = dbGetErrorCode(pStmt)
			IF LEN(error)
				PRINT "(99) Failed to create DB Error ", error, "-", dbGetErrorText(pStmt)
				PRINT stmt
				GOTO aborted
			ENDIF
		ENDIF
		dbFreeSQL(pStmt)
		pStmt = 0
	ENDWHILE
	CLOSEFILE myFile
ENDIF
PRINT i, " ", maxlen
GOTO eoj
LABEL aborted
PRINT "Aborted due to error"
dbFreeSQL(pStmt)
pStmt = 0
dbDisconnect(pDb)
pDb = 0
PRINT
LABEL eoj
CLOSECONSOLE
END
