I changed the starting number with 99999. When starting to enter numbers in text box it does not search one number.
When you hit 9 nothing happens. No scan search.
Code: Select all
#include "hmg.ch"
Function Main
SET CENTURY ON
SET DATE TO ANSI
DEFINE WINDOW test AT 0 , 0 WIDTH 400 HEIGHT 600 TITLE "Demo" MAIN NOSIZE NOMAXIMIZE;
ON INIT PrepareDBF()
@ 20,10 TEXTBOX tSeek WIDTH 120 VALUE "" INPUTMASK "9999999999" ;
ON CHANGE Iif( ! Empty( test.tSeek.Value ) , (DBSEEK ( VAL ( test.tSeek.Value )), test.Browse_1.Value := RecNo()) , Nil )
@ 70,10 BROWSE Browse_1 ;
OF test ;
WIDTH 350 ;
HEIGHT 430 ;
FONT "Arial" ;
SIZE 9 ;
HEADERS { "Invoice #","Date", "Customer" } ;
WIDTHS { 120,80, 120 } ;
WORKAREA INVOICE ;
FIELDS { "INV_NUMBER", "INV_DATE", "CustomerID" } ;
ON GOTFOCUS Nil;
ON CHANGE Nil ;
ON DBLCLICK Nil ;
JUSTIFY { 0,0, 0 }
END WINDOW
CENTER WINDOW test
ACTIVATE WINDOW test
Return Nil
***********************************
Function PrepareDBF()
Local aStru := { {"INV_NUMBER", "C", 10, 0}, {"INV_DATE", "D", 8, 0}, {"CustomerID", "N", 10, 0 } }
Local i, k := 99999
IF ! FILE ( "Invoice.dbf" )
WAIT WINDOW "Preparing invoice.dbf, please wait ..." NOWAIT
DBCREATE( "Invoice.dbf", aStru )
USE Invoice.dbf NEW
*FOR i := 122222 TO 1 STEP -1
for i := k to 999999
*IF i % 100 = 0
k++
*ENDIF
DO EVENTS
APPEND BLANK
REPLACE inv_number WITH AllTrim( Str ( i ) )
REPLACE inv_date WITH Date() - k
REPLACE CustomerId WITH hb_RandomInt ( 1, 1000 )
NEXT i
WAIT CLEAR
CLOSE DATA
ENDIF
IF ! FILE ( "Invoice.ntx" )
USE Invoice.dbf NEW
WAIT WINDOW "Preparing invoice.ntx, please wait ..." NOWAIT
INDEX ON Val ( inv_number ) TO Invoice.ntx
CLOSE DATA
WAIT CLEAR
ENDIF
SELECT 1
USE Invoice.dbf Index Invoice.ntx
RETURN