Rieccomi , salve
1) Ma la sintassi dei comandi di FiveTouch quale' ? ( Mai usato FiveWin per Clipper e/o Harbour )
su quale mi devo basare ?, e possibile avere un manuale dei comandi / Funzione di base ?
Ecco un esempio che cerco di costruire guardando e "carpendo" istruzioni in giro nel forum Spagnolo.
Ho un problema nella funzione Vedi_P , quello che vorrei fare e' il seguente
(ho la procedura funzionante in clipper e cerco di convertirla) :
1) come limitare l'input della variabile a max 20 caratteri ?
2) ho costruito un ciclo Do while .T. ed esco dalla funzione Vedi_P o quando premo il pulsante "abbandona" o quando lascio
vuoto il campo oCod.
quello che non riesco a fare e' : alla pressione del pulsante "Cerca" di chiamare una funzione che mi esegua la seek
sul file mi faccia vedere un campo ( es. descrizione + prezzo ) mi svuoti la get e ritorni nel ciclo Do while .T.
in attesa da altro input.
In clipper lo faccio in un battito di ciglia ma in Fivetouch ( dato che non conosco la giusta sintassi ) non riesco.
Grazie.
include "FiveTouch.ch"
function Main()local oDlg,;
oBtnPre,;
oBtnInv,;
oBtnEnd
LOCAL fDbf := "_DATIL.DBF",;
fNtx := "_DATIL.NTX"
SET DELETE ON
SET CENTURY ON
SET ESCAPE ON
SET DATE ITALIAN
SETCANCEL(.T.)
CLEAR SCREEN
// --- Verifico se Esiste File e Indice Altrimenti li Creo
Crea_File( fDbf, fNtx )
DEFINE DIALOG oDlg
oDlg:setWindowTitle( "Gestione Prezzi" )
// --- Definizione Pulsanti
@ 10, 90 BUTTON oBtnPre PROMPT "Prezzi" OF oDlg ;
ACTION Vedi_P( fDbf, fNtx )
@ 50, 90 BUTTON oBtnInv PROMPT "Inventario" OF oDlg ;
ACTION oDlg:End()
@ 90, 90 BUTTON oBtnCancel PROMPT "Fine" OF oDlg ;
ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
return nil
FUNCTION Crea_File( fDbf, fNtx )
LOCAL aDbf := {}
//*** Crea Archivio se non esiste
IF !FILE( fDbf )
AADD(aDbf,{"CODICE","C",13,0})
AADD(aDbf,{"DESC","C",15,0})
AADD(aDbf,{"QTA","N",6,2})
AADD(aDbf,{"PRE","N",9,3})
DBCREATE(fDbf,aDbf)
FERASE(fNtx)
ENDIF
//*** Crea Indice se non esiste
IF !FILE( fNtx )
CLEAR SCREEN
* @ 1,0 SAY "Attendere ..."
* @ 2,0 SAY "Ricostruzione"
* @ 3,0 SAY "Indice"
USE( fDbf ) ALIAS Dati NEW
INDEX ON Dati->CODICE TO ( fNtx )
CLOSE DATABASES
ENDIF
RETURN NIL
FUNCTION Vedi_P( fDbf, fNtx )
LOCAL oCod, oDlg, cCod := SPACE(20)
LOCAL oBtnEnd, oBtnOk
DEFINE DIALOG oDlg TITLE "Vedi Prezzi" ;
SIZE 300, 200
@ 160, 25 BUTTON oBtnEnd PROMPT "Abbandona" OF oDlg ;
ACTION oDlg:End()
@ 160, 150 BUTTON oBtnOk PROMPT "Cerca" OF oDlg ;
ACTION MsgInfo( "Ok!" )
*USE( fDbf ) INDEX ( fNtx ) ALIAS Dati NEW
DO WHILE .T.
@ 20, 020 SAY oSay PROMPT "Codice" OF oDlg
@ 20, 060 GET oCod VAR cCod OF oDlg
oCod:setFixedSize(130,25)
IF EMPTY( cCod )
EXIT
oDlg:End()
ELSE
MsgInfo( "Ok!" )
ENDIF
END DO
ACTIVATE DIALOG oDlg CENTERED
*Dati->( DBCLOSEAREA() )
RETURN NIL