Академический Документы
Профессиональный Документы
Культура Документы
https://books.google.ro/books?
id=wKNfTHRNkLAC&pg=PA199&lpg=PA199&dq=valid+in+field+
+table+visual+fox&source=bl&ots=_08TkRZoYG&sig=e1UJ8XzA
60j41Vvb28jXDLQsR9o&hl=ro&sa=X&ved=2ahUKEwiT0v6ijqDeA
hXvsIsKHfJdDEQQ6AEwBnoECAQQAQ#v=onepage&q=valid
%20in%20field%20%20table%20visual%20fox&f=false
https://www.atestatelainformatica.ro/blog/tutorial-foxpro/cum-fac-
formulare-in-visual-foxpro/15
https://www.scribd.com/doc/74674396/Manual-Utilizare-Visual-
FoxPro
This screen runs fine in FoxPro 2.6 but not in VFP7. The error
occurs in the READ CYCLE WITH command.
Should I change the program to call the PRG first, then based in
the selection of the user and pass the parameter to the
screen. Please advice.
Thanks
IF NOT M.glQUITAPP
*
DEFINE WINDOW BACKGRND FROM 0,0 TO 120,340
FONT 'TimesNewRoman', 10 FILL
FILE GRAPHICS\OPENLOGO.BMP IN SCREEN
SHOW WINDOW BACKGRND
DO MAINMENU.MPR
DO MENUINFO
*
DO SPLASH.SPR
=INKEY(4,'HM')
*
READ VALID M.glQUITAPP
ENDIF
Thanks,
-Scott
#REGION 0
REGIONAL m.currarea, m.talkstat, m.compstat
IF SET("TALK") = "ON"
SET TALK OFF
m.talkstat = "ON"
ELSE
m.talkstat = "OFF"
ENDIF
m.compstat = SET("COMPATIBLE")
SET COMPATIBLE FOXPLUS
m.rborder = SET("READBORDER")
SET READBORDER ON
m.currarea = SELECT()
IF NOT WEXIST("_3mo10i7u5")
DEFINE WINDOW _3mo10i7u5 ;
AT 0.000, 0.000 ;
SIZE 22.000,98.400 ;
FONT "MS Sans Serif", 8 ;
FLOAT ;
NOCLOSE ;
MINIMIZE ;
SYSTEM
ENDIF
#REGION 1
IF WVISIBLE("_3mo10i7u5")
ACTIVATE WINDOW _3mo10i7u5 SAME
ELSE
ACTIVATE WINDOW _3mo10i7u5 NOSHOW
ENDIF
@ 16.615,29.200 GET foo ;
PICTURE "@*HN Draw" ;
SIZE 1.769,7.000,0.667 ;
DEFAULT 1 ;
FONT "MS Sans Serif", 8 ;
STYLE "B" ;
VALID _3mo10i7ua()
@ 16.615,57.600 GET done ;
PICTURE "@*HT Exit" ;
SIZE 1.769,5.667,0.667 ;
DEFAULT 1 ;
FONT "MS Sans Serif", 8 ;
STYLE "B"
@ 16.615,40.800 GET fooo ;
PICTURE "@*HN Object" ;
SIZE 1.769,8.333,0.667 ;
DEFAULT 1 ;
FONT "MS Sans Serif", 8 ;
STYLE "B" ;
VALID _3mo10i7uh()
IF NOT WVISIBLE("_3mo10i7u5")
ACTIVATE WINDOW _3mo10i7u5
ENDIF
READ CYCLE
#REGION 0
IF m.talkstat = "ON"
SET TALK ON
ENDIF
IF m.compstat = "ON"
SET COMPATIBLE ON
ENDIF
IF TYPE("gnIterator") != "N"
PUBLIC gnIterator
gnIterator = 0
ENDIF
0746295847; 0332/818587;spinjobs@spingrouphr.ro
In vechiul fox, clauza cycle te tine in get-urile activate de read
atunci cand navighezi intre ele cu tab sau sageti.
http://www.profox.ro/Forum/tabid/55/forumid/12/threadid/1427/sco
pe/posts/Default.aspx.
Sys(1500,'_med_copy','_medit')
sau
Sys(1500,'_med_cut','_medit')
sau
Sys(1500,'_med_paste','_medit')
Depinde ce vrei sa faca butoanele respective
Pentru o lista de submeniuri/optiuni, consulta help la sys(1500)
sau topicul System menu names
http://support.microsoft.com/kb/q195613/
www.classoft.ro
Cum se pot transfera date dintr-o tabela fox intr-un fisier Word .
Si faci asa:
USE cant
APPEND FROM c:\cantit2.xls DELIMITED WITH tab
brow
retu
Scopul tutorialului
Crearea unui formular in visual foxpro care sa permita adaugarea de noi date intr-o tabela. In cazul nostru adaugarea de noi
clase in baza de date, mai exact in tabela clase.dbf.
Ca sa putem lucra mai usor cu acest element ii vom seta niste proprietati. Se da click dreapta pe elementul de tip text box
pentru a accesa proprietatile lui si se adauga in campul control source valoarea _diriginte. In acest moment vom avea acces
foarte usor la orice text va fi introdus in text box prin simpla utilizare a variabilei _diriginte (vezi imaginea de mai jos)
Vom face si la elementul eticheta cateva setari pentru a arata mai bine. Pentru inceput se apasa click dreapta pe
elementrul Label1 si se alege Properties. In campul properties vom schimba cateva valori si anume:
Caption: in loc de Label1 vom scrie Numele Dirigintelui
AutoSize: il facem .T. - True
ForeColor: alegem un albastru inchis
BackStyle: se alege 0-Transparent
Exemplu cum se schimba labelul:
In continuare vom mai adauga inca doua text box-uri si doua label-uri urmand pasii de mai sus:
Repetam pasii de mai sus pentru a mai adauga un nou buton la care ii vom seta valoarea Caption cu Reseteaza si valoarea Name
cu reset
Avem in acest moment un formular cu 3 campuri de tip text si doua butoane. In continuare vom implementa codul sursa ce
trebuie executat atunci cand un utilizator va apasa butonul Adauga clasa sau Reseteaza.
_denumire=space(5)
_sala=space(10)
_diriginte=space(20)
thisform.Refresh
Aceleasi 4 linii de cod le vom copia si le vom pune in actiunea butonului Reseteaza. Pentru a accesa codul sursa al
butonului Reseteaza faceti dublu click pe butonul respectiv si va apare editorul sau. Adaugati acolo cele 4 linii de cod si din
acest moment, cand se va apasa butonul, toate cele 3 campuri ale formularului se vor goli.
Vom adauga acum codul sursa pentru butonul Adauga clasa. La fel ca butonul Reset trebuie sa faceti dublu click pe
butonul Adauga clasa si astfel va apare editorul in care trebuie sa scrieti codul sursa ce se va executa cand apasati butonul.
Codul de mai jos realizeaza stocarea informatiilor din formular in tabela clase.dbf. A fost adaugata si o validare, adica toate
campurile formularului vor trebui sa fie completate pentru a putea salva informatiile.
IF EMPTY(_diriginte) OR EMPTY(_denumire) OR EMPTY(_sala)
MESSAGEBOX("Introduceti toate datele!",48)
ELSE
USE clase
APPEND BLANK
replace denumire WITH upper(ALLTRIM(_denumire)), ;
sala WITH _sala, ;
diriginte WITH upper(ALLTRIM(_diriginte))
MESSAGEBOX("Clasa a fost adaugata cu succes!",48)
_denumire=space(5)
_sala=space(10)
_diriginte=space(20)
thisform.Refresh
ENDIF
Acum putem rula aplicatia sa vedem daca formularul nou creat functioneaza. Pentru a rula direct acest formuar procedati ca in
imaginea de mai jos. (click dreapta pe bara de sus a formularului si alegeti optiunea Run Form
Pentru intrebari sau probleme puteti posta comentari mai jos folosind contul de facebook.
Succes!
Scris de AtestateLaInformatica.ro