CHÖÔng II : Tìm hieåu ngoân ngöõ laäp trình Visual Foxpro I. Giôùi thieäu visual foxpro



tải về 279.63 Kb.
trang2/3
Chuyển đổi dữ liệu23.08.2016
Kích279.63 Kb.
#25995
1   2   3

* Caùc vaán ñeà khaùc :

 ÖÙng duïng (Application) laø moät taäp hôïp goàm Programs, Forms, Menus, Labels, Queries, … ñöôïc bieân dòch thaønh moät chöông trình duy nhaát. Caùc öùng duïng ñöôïc xaây döïng baèng chöùc naêng Project Manager, löu treân ñóa thaønh taäp tin coù phaàn môû roäng laø .APP.

 Ñoà aùn (Project) laø moät taäp tin theo doõi caùc : Programs, Forms, Menus, … Caùc Project ñöôïc baûo trì bôûi chöùc naêng Project Manager, löu treân ñóa thaønh taäp tin coù phaàn môû roäng laø .PJX.

 CSDL (Database) cung caáp moät moâi tröôøng laøm vieäc trong ñoù chöùa moät taäp hôïp caùc Tables, quy ñònh moái quan heä (Relaltionships) giöõa caùc Tables, ñeà ra caùc thuoäc tính (Propeties) cuøng caùc quy luaät kieåm chính soá lieäu duøng ñeå ñieàu khieån ñoàng boä giöõa caùc Tables vôùi nhau. Coù theå söû duïng ñoäc laäp hoaëc lieân keát chuùng vaøo moät project baèng caùch theâm chuùng vaøo Project Manager.

 Tables löu giöõ soá lieäu theo caùc ñôn vò goïi laø Records (caùc maãu tin) vaø Fields (caùc vuøng)

 Record laø moät boä caùc vuøng tin trong moät Table.

 Moät Field laø teân cuûa moät coät quy ñònh trong Record ñeå chöùa döõ kieän thuoäc moät kieåu naøo ñoù.

Khi ñaët teân trong Visual Foxpro, caàn löu yù :

 Chæ duøng caùc kyù töï chöõ (töø a ñeán z vaø töø A ñeán Z), kyù töï soá (0 ñeán 9), daáu gaïch döôùi.

 Teân chæ ñöôïc baét ñaàu baèng kyù töï chöõ hoaëc daáu gaïch döôùi.

 Teân coù theå daøi töø 1 ñeán 256 kyù töï, ngoaïi tröø teân Field vaø teân chæ muïc chæ daøi toái ña 10 kyù töï.

 Khoâng neân ñaët teân truøng vôùi töø khoùa.

 Teân taäp tin thì theo nguyeân taéc ñaët teân cuûa heä ñieàu haønh ñang duøng.

Caùc toaùn töû :

 toaùn töû xöû lyù chuoãi :

+ : gheùp chuoãi

– : gheùp chuoãi dôøi khoaûng traéng veà cuoái

$ : thuoäc veà (So saùnh)

 toaùn töû xöû lyù ngaøy giôø :

+ : coäng

– : tröø


Ngaøy + Soá (tính baèng ngaøy)  Ngaøy saép tôùi

Ngaøy – Soá (tính baèng ngaøy)  Ngaøy tröôùc ñoù

Ngaøy giôø + Soá (tính baèng giaây)  Ngaøy giôø saép tôùi

Ngaøy giôø – Soá (tính baèng ngaøy)  Ngaøy giôø tröôùc ñoù

 toaùn töû luaän lyù :

( ) : keát nhoùm, ñieàu kieän beân trong ngoaëc keát nhoùm ñöôïc xeùt tröôùc

NOT hoaëc ! : Logical Negative

AND : Logical AND

OR : Logical OR

(NOT, AND, OR coù theå vieát theo kieåu cuõ : .NOT., .AND., .OR.)

 toaùn töû so saùnh :

< : nhoû hôn

> : lôùn hôn

= : baèng

<>, #, != : khoâng baèng (khoâng söû duïng >< hoaëc =! hoaëc )

<= : nhoû hôn hay baèng (khoâng söû duïng =< hoaëc )

>= : lôùn hôn hay baèng (khoâng söû duïng => hoaëc )

== : chuoãi kyù töï baèng chính xaùc

 toaùn töû soá hoïc :

( ) : keát nhoùm

**, ^ : luõy thöøa

* : nhaân

/ : chia


% : soá dö pheùp chia nguyeân

+ : coäng

– : tröø

Bieán heä thoáng laø do Visual Foxpro taïo ra khi khôûi ñoäng. Teân bieán heä thoáng thöôøng khôûi ñaàu baèng daáu gaïch döôùi.

Bieán boä nhôù do ngöôøi söû duïng taïo ra, coù theå thay ñoåi giaù trò, kieåu hoaëc xoùa deã daøng khi heát phieân laøm vieäc cuûa Visual Foxpro.

Haøm cô höõu laø haøm coù saün trong boä chöông trình Visual Foxpro. Haøm ngöôøi duøng laø haøm do ngöôøi duøng töï vieát vaø chæ coù taùc duïng trong chöông trình hay öùng duïng coù ñònh nghóa haøm ñoù.

Moâi tröôøng laøm vieäc muoán chaïy thaät oån ñònh caàn quan taâm ñeán caùc tham soá moâi tröôøng sao cho phuø hôïp, ñoâi khi caàn phaûi quy ñònh laïi caùc tham soá naøy baèng caùc leänh thích hôïp.

II. QUAÛN LYÙ ÑEÀ AÙN ( PROJECT MANAGER ) :



Moät öùng duïng laø moät taäp hôïp goàm caùc taäp tin, döõ lieäu, tö lieäu vaø caùc ñoái töôïng. Taát caû caùc thoâng tin quaûn lyù öùng duïng ñöôïc löu trong taäp tin chính coù phaàn môû roäng laø PJX vaø taäp tin kyù öùc coù phaàn môû roäng laø PJT.

Cöûa soå quaûn lyù öùng duïng ñuôïc duøng ñeå toå chöùc vaø quaûn lyù caùc thaønh phaàn trong moät öùng duïng. Noù goàm coù 6 trang : All, Data, Docs, Classes, Code, Other. Trang All chöùa toaøn boä thoâng tin cuûa 5 trang coøn laïi. Trang Data goàm 2 thaønh phaàn : Database vaø Query. Trang Docs goàm caùc thaønh phaàn : Forms, Reports, Labels. Trang Classes goàm danh saùch caùc lôùp ñöôïc söû duïng trong öùng duïng. Trang Code goàm caùc taäp tin chöông trình, thö vieän API vaø caùc öùng duïng khaùc. Trang Other goàm caùc thöïc ñôn, taäp tin kieåu vaên baûn TXT vaø caùc taäp tin khaùc.

Caùc nuùt chöùc naêng trong cöûa soå öùng duïng :

 New : ñeå taïo môùi caùc loaïi thaønh phaàn chi tieát.

 Add : ñöa taäp tin caùc loaïi ñaõ coù treân ñóa vaøo cöûa soå öùng duïng.

 Modify : caäp nhaät treân muïc ñöôïc choïn.

 Browse : lieät keâ moät taäp tin DBF döôùi daïng baûng.

 Close : ñoùng caùc taäp tin caùc loaïi.

 Open : môû moät CSDL.

 Remove : loaïi boû moät taäp tin hay moät ñoái töôïng ra khoûi cöûa soå öùng duïng.

 Build : taïo taäp tin thöïc hieän cho caùc öùng duïng.

 Preview : xem moät baùo caùo ôû cheá ñoä xem tröôùc treân maøn hình.

 Run : duøng ñeå thöïc hieän moät truy vaán, bieåu maãu, chöông trình.

* Taïo moät taäp tin öùng duïng :

Cuù phaùp : CREATE PROJECT <.PJX> | ?

* Môû moät taäp tin öùng duïng :



Cuù phaùp : MODIFY PROJECT <.PJX> | ?

* Dòch moät taäp tin öùng duïng ra taäp tin APP hoaëc EXE :

- Choïn nuùt chöùc naêng Build hoaëc choïn Project, Build töø thöïc ñôn heä thoáng.

- Choïn caùch dòch taäp tin öùng duïng :

 Rebuild Project ñeå dòch ra taäp tin PJX.

 Build Application ñeå dòch ra taäp tin APP

 Build Executable ñeå dòch ra taäp tin EXE.

III. Cô sôû döõ lieäu ( Database ):

Baûng trong moâ hình döõ lieäu quan heä laø moät baûng hai chieàu goàm caùc doøng vaø coät. Moãi baûng ñöôïc ñaëc tröng bôûi teân coù phaàn môû roäng laø DBF vaø danh saùch caùc coät (thuoäc tính). Thöù töï caùc coät laø khoâng quan troïng vaø hai baûng khaùc nhau thì phaûi coù teân khaùc nhau. Coù hai loaïi baûng : baûng tham chieáu (database table) vaø baûng töï do (free table) khoâng thuoäc danh saùch tham chieáu cuûa caùc CSDL. Moãi vuøng laø moät coät trong baûng, phaûi thuoäc moät trong caùc kieåu döõ lieäu : Numeric, Float, Integer, Double, Currency, Character, Date, Date Time, Logical, Memo, General. Moãi maãu tin (record) laø moät doøng trong baûng. Khi muoán söû duïng moät baûng phaûi tieán haønh môû baûng baèng leänh : USE .

Raøng buoäc toaøn veïn (RBTV) laø ñieàu kieän raøng buoäc döõ lieäu trong caùc baûng tham chieáu cuûa CSDL vaø taát caû caùc RBTV phaûi ñöôïc thoûa maõn ôû baát kyø thôøi ñieåm naøo. Vieäc kieåm tra caùc RBTV thöôøng ñöôïc thöïc hieän sau caùc thao taùc caäp nhaät döõ lieäu nhö theâm, söûa, ñaùnh daáu xoùa vaø coù theå ñöôïc tieán haønh thoâng qua caùc thuû tuïc kieåm tra do ngöôøi thieát keá chöông trình öùng duïng vieát hay Visual Foxpro töï ñoäng kieåm tra caùc RBTV döïa treân nhöõng moâ taû chi tieát cuûa ngöôøi thieát keá veà ñieàu kieän raøng buoäc ñoái vôùi döõ lieäu. RBTV coù 2 möùc : raøng buoäc treân vuøng (ñöôïc kieåm tra khi coù söï thay ñoåi döõ lieäu treân vuøng) vaø raøng buoäc maãu tin (ñöôïc kieåm tra khi coù söï thay ñoåi döõ lieäu treân maãu tin vaø ñöôïc kieåm tra sau raøng buoäc treân vuøng). Phaân loaïi caùc RBTV :

 RBTV veà giaù trò cuûa moät vuøng : laø nhöõng ñieàu kieän thu heïp mieàn giaù trò cuûa caùc vuøng. Caùc vuøng naøy thöôøng laø vuøng kieåu soá, kieåu Date, kieåu Character.

 RBTV lieân vuøng : moâ taû moái quan heä giöõa caùc vuøng trong moät baûng.

 RBTV giöõa caùc maãu tin trong moät baûng.

 Sieâu khoùa – Khoùa chính

 RBTV veà khoùa ngoaïi : coøn goïi laø raøng buoäc veà phuï thuoäc toàn taïi.

 RBTV giöõa caùc maãu tin cuûa nhieàu baûng.

 RBTV giöõa caùc vuøng cuûa nhieàu baûng.

 RBTV phöùc taïp treân nhieàu baûng.

Taïo CSDL môùi : choïn moät trong caùc caùch sau :

 Choïn trang Data cuûa cöûa soå öùng duïng, choïn muïc Database vaø nhaáp chuoät vaøo chöùc naêng New vaø xaùc ñònh teân trong oâ nhaäp Enter.

 Thöïc hieän thoâng qua leänh : CREATE DATABASE <.DBC> | ?

 Thöïc hieän qua thöïc ñôn heä thoáng : choïn File, New, Database vaø nhaáp chuoät vaøo New File.



Theâm CSDL ñaõ coù vaøo danh saùch tham chieáu cuûa öùng duïng : choïn muïc Database trong trang Data cuûa cöûa soå öùng duïng vaø nhaáp chuoät vaøo chöùc naêng Add.

Loaïi moät CSDL ra khoûi danh saùch tham chieáu : choïn moät trang caùc caùch sau :

 Thöïc hieän qua cöûa soå öùng duïng : choïn teân CSDL caàn xoùa trong cöûa soá öùng duïng, choïn nuùt chöùc naêng Remove. Trong hoäp thoaïi Remove : choïn Remove ñeå xoùa CSDL ra khoûi danh saùch tham chieáu, choïn Delete ñeå xoùa CSDL ra khoûi ñóa, choïn Cancel ñeå ngöng thao taùc.

 Thöïc hieän qua cöûa soå leänh : DELETE DATABASE <.DBC> | ? [DELETETABLES] [RECYCLE].

Taïo moät baûng baèng boä coâng cuï Database Designer :



Choïn bieåu töôïng ñaàu tieân beân traùi (New Table) cuûa thanh coâng cuï Databse Designer, choïn nuùt aán New table trong hoäp thoaïi ngay sau ñoù, xaùc ñònh thö muïc vaø teân table, ñònh nghóa caáu truùc baûng qua cöûa soå Table Designer.

Cöûa soå Table Designer coù trang : Fields, Indexes vaø Table.

Trang Fiels duøng ñeå ñònh nghóa caùc vuøng cuûa baûng vôùi caùc yù nghóa :

 Name : teân cuûa vuøng.

 Type : kieåu cuûa vuøng.

 Width, Decimal : kích thöôùc cuûa vuøng.

 Index : döõ lieäu cuûa vuøng ñöôïc saép xeáp taêng daån (Ascending) hoaëc giaûm daàn (Descending).

 NULL : choù pheùp vuøng nhaän giaù trò NULL hay khoâng.

 Format : daïng hieån thò cho döõ lieäu vuøng.

 Input mask : daïng nhaäp lieäu cho döõ lieäu cuûa vuøng.

 Caption : tieâu ñeà cuûa vuøng.

 Rule : caùc raøng buoäc toaøn veïn treân vuøng.

 Message : thoâng baùo loãi khi döõ lieäu khoâng hôïp leä.

 Default value : giaù trò ngaàm ñònh cho vuøng khi nhaäp lieäu.

 Field comment : chuù thích theâm cho vuøng.

Trang Indexes : duøng ñeå moâ taû caùc chæ muïc cuûa baûng.

 Order : thöù töï saép xeáp.

 Name : teân cuûa chæ muïc.

 Type : kieåu chæ muïc (Primary, Candidate, Unique, Regular).

 Expression : bieåu thöùc khoùa cuûa chæ muïc.

 Filter : ñieàu kieän loïc döõ lieäu cuûa chæ muïc.

Trang Table :

 Name : teân baûng.

 Database : taäp tin CSDL

 Table file : taäp tin DBF chöùa döõ lieäu cuûa baûng.

 Records : soá maãu tin cuûa baûng.

 Fields : soá vuøng cuûa baûng

 Length : kích thöôùc cuûa maãu tin + 1.

 Rule : chæ ñònh caùc ñieàu kieän raøng buoäc (bieåu thöùc hay thuû tuïc)

 Insert trigger : trigger cho thao taùc theâm maãu tin vaøo baûng.

 Update trigger : trigger cho thao taùc söûa ñoåi döõ lieäu cuûa caùc maãu tin trong baûng.

 Delete trigger : trigger cho thao taùc ñaùnh daáu xoùa caùc maãu tin trong baûng.





Taïo moät baûng : Coù theå taïo caáu truùc cuûa moät baûng baèng leänh :

CREATE TABLE | DBF <.DBF> [NAME ] [FREE] ;

( [( [, ])] ;

[NULL | NOT NULL] ;

[CHECK [ERROR ]] ;

[DEFAULT ] ;

[PRIMARY KEY | UNIQUE] ;

[REFERENCES [TAG ]] ;

[, …] ;

[, PRIMARY KEY TAG ;

|, UNIQUE TAG ] ;

[, FOREIGN KEY TAG [NODUP] ;

REFERENCES [TAG ]] ;

[, CHECK [ERROR ]])

Trong ñoù :

 <.DBF> : teân taäp tin DBF cuûa baûng seõ ñöôïc taïo laäp. Baûng seõ ñöôïc töï ñoäng ñöa vaøo danh saùch tham chieáu cuûa CSDL.

 NAME : teân ñaët theâm cho baûng.

 FREE : baûng ñöôïc taïo ra khoâng ñöôïc ñöa vaøo danh saùch tham chieáu .

: teân cuûa vuøng thöù nhaát cuûa baûng.

: kieåu döõ lieäu cho vuøng thöù nhaát cuûa baûng.

: kích thöôùc cuûa vuøng thöù nhaát cuûa baûng.

: soá chöõ soá thaäp phaân cuûa vuøng thöù nhaát.

 NULL | NOT NULL : cho pheùp / khoâng cho pheùp vuøng laáy giaù trò NULL

 CHECK : raøng buoäc toaøn veïn treân vuøng thöù nhaát trong baûng. Ngay caû moät maãu tin traéng ñöa vaøo cuõng seõ ñöôïc kieåm tra.

 ERROR : thoâng baùo loãi khi raøng buoäc toaøn veïn trong thaønh phaàn CHECK bò vi phaïm.

 DEFAULT : giaù trò ngaàm ñònh cho vuøng.

 PRIMARY KEY : taïo chæ muïc khoùa chính cho vuøng, vuøng naøy seõ laø khoùa chính cuûa baûng.

 UNIQUE : taïo chæ muïc khoùa cho vuøng, seõ trôû thaønh khoùa cuûa baûng.

 REFERENCES {TAG : baûng ñöôïc taïo seõ lieân keát khoùa ngoaïi giöõa vuøng thöù nhaát vôùi cuûa .

 PRIMARY KEY TAG : laø khoùa chính cuûa baûng (coù theå goàm nhieàu vuøng). Neáu ñaõ duøng thaønh phaàn PRIMARY tröôùc ñoù roài thì khoâng ñöôïc duøng thaønh phaàn naøy.

 UNIQUE TAG : laø khoùa cuûa baûng (coù theå goàm nhieàu vuøng), khoâng chöùa moät vuøng ñaõ tham gia vaøo khoùa chính.

 FOREIGN KEY TAG [NODUP] REFERENCES [TAG ] : baûng ñöôïc taïo seõ lieân keát khoùa ngoaïi giöõa vôùi cuûa . Neáu coù töø khoùa NODUP thì chæ muïc taïo ra seõ laø chæ muïc khoùa ngoaïi.

 CHECK : moâ taû raøng buoäc toaøn veïn cuûa baûng.

 ERROR : thoâng baùo loãi khi thaønh phaàn CHECK bò vi phaïm trong quaù trình caäp nhaät döõ lieäu trong cöûa soã Browse hay Edit.

Ngoaøi ra coøn caùc leänh veà söûa ñoåi caáu truùc baûng, söûa ñoåi thoâng tin caùc vuøng, huûy boû coät cuûa baûng, theâm döõ lieäu cuûa baûng, caäp nhaät döõ lieäu cuûa baûng, xoùa döõ lieäu cuûa baûng, truy vaán döõ lieäu cuûa CSDL thoâng qua caùc leänh ALTER, INSERT, UPDATE, DELETE, SELECT.

Trigger cuûa moät baûng laø moät haønh ñoäng (töông öùng vôùi 1 thuû tuïc hay chöông trình) ñöôïc ñònh nghóa gaén lieàn vôùi moät thao taùc caäp nhaät döõ lieäu (theâm, söûa, xoùa) cuûa baûng. Trigger thöôøng ñöôïc söû duïng ñeå kieåm tra caùc RBTV.

Ñònh nghóa caùc trigger cho moät baûng : môû cöûa soå Table Designer ñeå thieát keá laïi baûng, choïn trang Table, moâ taû ñieàu kieän raøng buoäc hoaëc teân thuû tuïc kieåm tra raøng buoäc trong caùc oâ : Insert trigger, Update trigger, Delete trigger.

Huûy boû moät trigger : môû cöûa soå Table Designer ñeå thieát keá laïi baûng, choïn trang Table, xoùa ñieàu kieän raøng buoäc hoaëc teân thuû tuïc caàn kieåm tra trong caùc oâ : Insert trigger, Update trigger, Delete trigger. Coù theå thöïc hieän thoâng qua leänh DELETE TRIGGER.

Caùc loaïi chæ muïc (index) ñöôïc löu tröõ döôùi 2 loaïi taäp tin : IDX vaø CDX. Chæ muïc coù theå ñöôïc chia laøm 4 loaïi :

 candidate index : chæ muïc khoùa, saép xeáp döõ lieäu theo caùc khoùa cuûa baûng.

 primary index : chæ muïc khoùa chính, saép xeáp döõ lieäu theo khoùa chính cuûa baûng.

 unique index : chæ muïc duy nhaát (caùc sieâu khoùa), saép xeáp caùc döõ lieäu theo caùc sieâu khoùa hay khoùa cuûa baûng.

 regular index : chæ muïc thoâng thöôøng, saép xeáp döõ lieäu theo moät tieâu chuaån naøo ñoù.

Hai moái quan heä thöôøng gaëp laø : 1-1 vaø 1-n.

Taïo moái lieân keát giöõa hai baûng :

Taïo moái lieân giöõa khoùa k cuûa baûng A vaø caùc vuøng cuûa baûng B :

- Taïo chæ muïc ik cho khoùa k vaø chæ muïc iv cho caùc vuøng.

- Click chuoät vaøo doøng ik trong phaàn Indexes cuûa baûng A.

- Gaép doøng ik vaø ñem thaû vaøo doøng iv trong phaàn Indexes cuûa baûng B. Khi ñoù, trong cöûa soå chính cuûa boä coâng cuï Database Designer seõ xuaát hieän ñöôøng noái theå hieän moái lieân keát giöõa hai baûng A vaø B.

Taïo moái lieân giöõa khoùa ka cuûa baûng A vôùi khoùa kb cuûa baûng B :

- Taïo chæ muïc ia cho khoùa ka vaø chæ muïc ib cho khoùa kb.

- Click chuoät vaøo doøng ia trong phaàn Indexes cuûa baûng A.



  • Gaép doøng ia vaø ñem thaû vaøo doøng ib trong phaàn Indexes cuûa baûng B. Khi ñoù, trong cöûa soå chính cuûa boä coâng cuï Database Designer seõ xuaát hieän ñöôøng noái theå hieän moái lieân keát giöõa hai baûng A vaø B.

IV. laäp trình :

  1. Chöông trình : laø moät taäp hôïp caùc leänh seõ ñöôïc thöïc hieän tuaàn töï töø treân xuoáng hoaëc theo caùc caáu truùc ñieàu khieån. Teân cuûa chöông trình laø teân cuûa taäp tin chöùa noù, coù phaàn môû roäng laø PRG.

Soaïn thaûo chöông trình :

Cuù phaùp : MODIFY COMMAND <.PRG> | ? [NOEDIT]

<.PRG> | ? : chæ ñònh teân taäp tin chöông trình, daáu ? cho pheùp ñaët teân chöông trình trong cöûa soå ñoái thoaïi OPEN.

NOEDIT : môû chöông trình ra ñeå xem, khoâng cho söûa noäi dung.



Dòch vaø kieåm loãi chöông trình :



Cuù phaùp : COMPILE <.PRG> | ? [NODEBUG]

<.PRG> | ? : töông töï phaàn soaïn thaûo

NODEBUG : khoâng löu soá thöù töï cuûa caùc doøng leänh vaø ngöôøi söû duïng khoâng theå gôõ roái trong quaù trình thöïc hieän chöông trình.

Khi phaùt hieän loãi sai trong chöông trình, caùc loãi sai ñöôïc ñöa vaøo taäp tin coù teân truøng vôùi teân chöông trình vaø coù phaàn môû roäng laø ERR. Coù theå dòch chöông trình baèng caùch choïn Program, Complie töø thöïc ñôn heä thoáng.

Thöïc hieän chöông trình :



Cuù phaùp : DO | ?

| ? : teân chöông trình muoán thöïc hieän.

Coù theå choïn Program, Do töø thöïc ñôn heä thoáng.

2) Bieán kyù öùc (bieán boä nhôù) laø vuøng boä nhôù duøng ñeå löu tröõ taïm thôøi moät döõ lieäu. Qui taéc ñaët teân töông töï nhö vuøng trong baûng. Tröôùc khi söû duïng phaûi khai baùo baèng moät trong caùc leänh sau :

Leänh gaùn :



Cuù phaùp : 1> = 1> (gaùn giaù trò 1> cho 1>)

hay : STORE 2> TO 2> [, 3>, …] (duøng ñeå gaùn cuøng moät giaù trò cho nhieàu bieán)

Khi bieán kyù öùc truøng teân vôùi teân moät bieán vuøng, söû duïng M. hay M-> ñaët tröôùc bieán kyù öùc ñeå chuyeån quyeàn öu tieân cho bieán kyù öùc.

Leänh PUBLIC : Duøng ñeå khai baùo moät danh saùch caùc bieán toaøn cuïc.



Cuù phaùp : PUBLIC 1> [, 2>, …]

Leänh LOCAL : Duøng ñeå khai baùo moät daùnh saùch caùc bieán cuïc boä hay bieán cuïc boä.



Cuù phaùp : LOCAL 1> [, 2>, …]

Khai baùo maûng :



Cuù phaùp : DIMENSION 1>(1>) [, 2>(kíchthöôùc2) …]

hay : PUBLIC 3>(3>) [, 4>(kíchthöôùc4) …]

hay : LOCAL 5>(5>) [, 6>(kíchthöôùc6) …]

maûng1 : teân bieán maûng 1 hay 2 chieàu.

kích thuôùc1 : kích thöôùc hay soá phaàn töû cuûa caùc chieàu.

Duøng ñeå khai baùo moät daùnh saùch caùc bieán cuïc boä hay bieán cuïc boä. Löu yù leänh naøy khoâng ñöôïc vieát taét thaønh LOCA vì seõ laàm laãn vôùi leänh LOCATE.

Leänh DIMENSION duøng ñeå khai baùo caùc bieán maûng 1 hoaëc 2 chieàu.

Leänh PUBLIC duøng ñeå khai baùo maûng toaøn cuïc.

Leänh LOCAL duøng ñeå khai baùo maûng cuïc boä.

Sau khi khai baùo maûng, coù theå söû duïng leänh gaùn ñeå gaùn caùc giaù trò cho maûng.

Vieäc khai baùo bieán coù theå chæ caàn ñaët tröôùc khi söû duïng bieán maø khoâng baét buoäc phaûi ñaët ôû ñaàu chöông trình. Noù coù theå thöïc hieän ôû cöûa soå leänh cuõng nhö baát cöù vò trí naøo trong chöông trình. Giaù trò cuûa bieán kyù öùc ñöôïc löu thaønh moät taäp tin ñeå söû duïng sau naøy coù phaàn môû roäng laø MEM.

Leänh löu caùc giaù trò cuûa bieán kyù öùc leân taäp tin :



Cuù phaùp : SAVE TO <.MEM> [ALL LIKE 1> | ALL EXCEPT 2>]

<.MEM> : teân taäp tin löu tröõ giaù trò cuûa bieán kyù öùc. Ngaàm ñònh, seõ löu tröõ taát caû caùc bieán kyù öùc ñang toàn taïi trong boä nhôù leân taäp tin.

ALL LIKE 1> : chæ löu caùc bieán kyù öùc coù teân phuø hôïp vôùi 1>

ALL EXCEPT 2> : löu taát caû caùc bieán kyù öùc ngoaïi tröø caùc bieán coù teân phuø hôïp vôùi 2>.

Leänh chuyeån taûi caùc bieán kyù öùc töø taäp tin leân boä nhôù :



Cuù phaùp : RESTORE FROM <.MEM> [ADDITIVE]

<.MEM> : teân taäp tin löu tröõ caùc bieán kyù öùc muoán chuyeån taûi vaøo boä nhôù. Ngaàm ñònh, caùc bieán kyù öùc ñang toàn taïi trong boä nhôù seõ bò maát ñi vaø thay vaøo ñoù laø caùc bieán ñöôïc löu tröõ töø taäp tin <.MEM> leân.

ADDITIVE : caùc bieán kyù öùc hieän coù trong boä nhôù khoâng maát ñi maø cuøng toàn taïi vôùi caùc bieán ñöôïc chuyeån taûi töø taäp tin <.MEM> leân.

Vieäc trao ñoåi döõ lieäu giöõa bieán vuøng vaø bieán kyù öùc thöôøng xuyeân xaûy ra trong quaù trình caäp nhaät döõ lieäu. Leänh SCATTER vaø GATHER seõ thöïc hieän böôùc sao cheùp noäi dung caùc bieán vuøng ra bieán kyù öùc vaø ghi noäi dung caùc bieán kyù öùc ñaõ ñöôïc xöû lyù vaø kieåm tra vaøo maãu tin hieän haønh cuûa DBF.

Cuù phaùp : SCATTER MEMVAR [MEMO] [BLANK]

GATHER MEMVAR [MEMO]

Leänh SCATTER taïo ra moät boä bieán kyù öùc truøng teân vôùi caùc vuøng cuûa taäp tin DBF vaø töï ñoäng sao cheùp noäi dung cuûa maãu tin hieän haønh cho boä bieán kyù öùc naøy. Töø khoùa MEMO nhaèm sao cheùp caû vuøng kieåu Memo (neáu coù) thaønh caùc bieán kieåu chuoãi. Töø khoùa BLANK seõ cho pheùp cheùp moät maãu tin traéng thay vì maãu tin hieän haønh. Leänh GATHER coù taùc duïng ngöôïc laïi. Hieän nay, ñaõ coù nhöõng coâng cuï tieän duïng vaø hieäu quaû trong vieäc taïo caùc maøn hình nhaäp lieäu. Baáy giôø, vieäc giao tieáp seõ ñöôïc thöïc hieän giaùn tieáp qua caùc oâ ñieàu khieån.

Macro (&) ñöôïc duøng vôùi caùc bieán kyù öùc kieåu chuoãi. Leänh coù chöùa macro laø leänh chöa hoaøn chænh, noù seõ ñöôïc thoâng dòch hai laàn tröôùc khi thöïc hieän.

3) Caáu truùc ñieàu khieån : tuaàn töï, choïn löïa, caáu truùc laëp.

Caáu truùc tuaàn töï : laø caáu truùc ñieàu khieån cô baûn cuûa Visual Foxpro.

Caáu truùc choïn löïa :

* Caáu truùc ñieàu kieän ñôn IF :

Cuù phaùp : IF

1>

[ELSE


2>]

ENDIF


Khi thöïc hieän ñeán caáu truùc naøy, ñöôïc kieåm tra. Neáu baèng .T. seõ thöïc hieän 1> töø sau IF ñeán tröôùc ELSE (neáu coù) hoaëc ñeán tröôùc ENDIF (neáu khoâng coù ELSE). Neáu baèng .F. seõ thöïc hieän 2> töø sau ELSE ñeán ñeán tröôùc ENDIF (neáu coù) hoaëc boû qua caáu truùc naøy (neáu khoâng coù ELSE). Sau ñoù, chöông trình seõ ñöôïc tieáp tuïc thöïc hieän phaàn tieáp theo sau ENDIF. Ñoái vôùi caáu truùc choïn löïa ñôn giaûn, coù theå duøng haøm IIF().

* Caáu truùc nhieàu ñieàu kieän DO CASE :

Cuù phaùp : DO CASE

CASE 1>



1>

CASE 2>



2>

CASE n>



n>

[OTHERWISE



0>]

ENDCASE


Caáu truùc ñieàu khieån DO CASE seõ laàn löôït kieåm tra caùc ñieàu kieän 1>, 2>, …, , n> vaø thöïc hieän nhoùm leänh ôû sau ñieàu kieän ñaàu tieân ñöôïc thoaû. Neáu taát caû caùc ñieàu kieän ñeàu khoâng thoûa seõ thöïc nhoùm leänh ôû sau OTHERWISE neáu coù.

Caáu truùc laëp :



* Caáu truùc ñieàu khieån FOR … ENDFOR :

Cuù phaùp : FOR = 1> TO 2> [STEP ,btN3>]

[LOOP]



[EXIT]


ENDFOR


Thaân cuûa voøng laëp ñöôïc laëp ñi laëp laïi nhieàu laàn trong khi thay ñoåi giaù trò töø 1> ñeán 2>. Sau moãi laàn thöïc hieän thaân voøng laëp, ñöôïc theâm 3> neáu coù STEP hoaëc töï ñoäng taêng leân 1 neáu khoâng coù STEP.

Gaëp töø khoùa EXIT trong thaân voøng laëp seõ thoaùt khoûi caáu truùc ñieàu khieån FOR vaø thöïc hieän tieáp caùc leänh sau ENDFOR.

Gaëp töø khoùa LOOP trong thaân voøng laëp, seõ boû qua caùc leänh coøn laïi cuûa thaân voøng laëp trong laàn thöïc hieän ñoù, thay ñoåi giaù trò , chuyeån ñieàu khieån trôû laïi voøng laëp FOR cho laàn thöïc hieän keá.

* Caáu truùc ñieàu khieån DO WHILE … ENDDO :

Cuù phaùp : DO WHILE

[LOOP]



[EXIT]


ENDDO


Thaân cuûa voøng laëp ñöôïc laëp ñi laëp laïi nhieàu laàn trong khi vaãn coøn laø .T. Chæ khi naøo coù giaù trò .F. thì seõ thoaùt khoûi caáu truùc naøy. Töø khoùa EXIT, LOOP töông töï nhö treân.

* Caáu truùc ñieàu khieån SCAN … ENDSCAN :

Cuù phaùp : SCAN [
] [FOR 1>] [WHILE 2>]

[LOOP]



[EXIT]


ENDSCAN


Caáu truùc naøy duøng ñeå “queùt” taäp tin DBF. Khoâng caàn ñaët leänh SKIP vaøo trong thaân chöông trình vì sau moãi laàn thöïc hieän voøng laëp, con troû maãu tin töï ñoäng dôøi xuoáng maãu tin keá. Töø khoùa EXIT, LOOP töông töï nhö treân.

Caáu truùc ngaét :



* Ngaét khi phaùt hieän loãi sai :

Cuù phaùp : ON ERROR []

Duøng ñeå kieåm soaùt vaø xöû lyù loãi sai trong quaù trình thöïc hieän chöông trình hay leänh.



: leänh seõ thi haønh ñeå xöû lyù loãi sai. Thöôøng laø leänh goïi thöïc hieän moät chöông trình hay thuû tuïc (leänh DO). Haøm ERROR() cho bieát maõ soá töông öùng cuûa loãi sai, ngöôøi laäp trình döïa vaøo ñaây ñeå coù xöû lyù thích hôïp cho töøng loãi sai. Sau khi thöïc hieän xong, seõ tieáp tuïc laøm doøng leänh tieáp theo ngay beân döôùi doøng phaùt sinh loãi hoaëc thöïc hieän laïi doøng phaùt sinh ra loãi neáu trong chöông trình hay thuû tuïc xöû lyù loãi coù chöùa leänh RETRY.

Leänh ON ERROR khoâng coù leänh theo sau duøng ñeå traû quyeàn xöû lyù loãi sai veà cho Visual Foxpro.



* Ngaét khi baám phím qui ñònh :

Cuù phaùp : ON ESCAPE [1>]

Leänh naøy duøng ñeå thöïc hieän moät xöû lyù khaùc (,leänh1>) thay cho caùch xöû lyù ngaàm ñònh cuûa Visual Foxpro. Neáu khoâng coù thaønh phaàn leänh keøm theo coù taùc duïng traû veà caùch xöû lyù ngaàm ñònh cuûa Visual Foxpro.

ON KEY [LABEL [leänh2>]]

Leänh naøy duøng ñeå moâ taû nhöõng xöû lyù (2>) khi ngöôøi söû duïng baám toå hôïp phím hay baám chuoät. Neáu khoâng coù thaønh phaàn leänh keøm theo seõ traû veà caùch xöû lyù ngaàm ñònh neáu coù cuûa toå hôïp phím. Leänh naøy ñöôïc duøng phoái hôïp vôùi leänh PUSH KEY ñeå ghi nhôù caùch xöû lyù hieän haønh cuûa taát caû caùc phím tröôùc khi duøng ON KEY LABEL vaø phuïc hoài laïi caùch xöû lyù cuûa caùc phím khi keátthuùc chöông trình baèng leänh POP KEY.

Caáu truùc loàng nhau :

Ngoaïi tröø leänh ON ERROR ñöôïc loàng vaøo moät thuû tuïc xöû lyù loãi khaùc, taát caû caùc caáu truùc ñieàu khieån ñaõ neâu coù theå loàng vaøo nhau theo nhieàu caáp. Kyõ thuaät gioùng haøng ñöôïc aùp duïng nhaèm traùnh caùc loãi sai veà cuù phaùp vaø giuùp deã ñoïc hôn.

4) Thuû tuïc (Procedure) : laø ñoaïn chöông trình con ñeå thöïc hieän moät chöùc naêng naøo ñoù. Moät thuû tuïc ñaàu baèng chæ thò PROCEDURE ñeå ñaët teân cho thuû tuïc vaø coù theå keát thuùc baèng chæ thò RETURN hoaëc ENDPROC (khoâng baét buoäc).

Cuù phaùp : PROCEDURE

[RETURN]



[ENDPROC]

Caùc thuû tuïc coù theå löu chung trong moät chöông trình nhöng phaûi taùch rôøi vaø khoâng ñöôïc loàng nhau. Khi goïi thöïc hieän thuû tuïc, seõ thöïc hieän nhö sau :

Cuù phaùp : DO IN <.PRG>

Neáu caùc thuû tuïc chöùa trong moät taäp tin chöông trình, coù theå môû taäp tin chöông trình naøy baèng leänh SET PROCEDURE TO [<.PRG>] vaø boû qua phaàn IN <.PRG> trong caùc leänh goïi thöïc hieän thuû tuïc.

Thuû tuïc noäi taïi laø moät daïng thuû tuïc raát ñaëc bieät cuûa Visual Foxpro, thöôøng laø caùc triggers cuûa CSDL. Choïn muïc Stored Procedures trong cöûa soå öùng duïng, choïn moät trong caùc nuùt chöùc naêng New hoaëc Add hoaëc Modify (taùc duïng nhö nhau). Khi ñoù xuaát hieän moät cöûa soå chöùa taát caû caùc thuû tuïc noäi taïi hieän coù cuûa CSDL ñeå ngöôøi laäp trình coù theå soaïn thaûo moät thuû tuïc môùi, söûa ñoåi hoaëc xoùa boû moät thuû tuïc ñaõ coù.

Dòch caùc thuû tuïc noäi taïi :



Cuù phaùp : COMPILE DATABASE <.DBC>

Bieán toaøn cuïc (Global) : laø bieán coù theå söû duïng ôû moïi caáp chöông trình (hay thuû tuïc) goïi nhau; ñöôïc khai baùo trong chöông trình (hay thuû tuïc) baèng leänh PUBLIC hoaëc ñöôïc khai baùo ôû cöûa soå leänh khoâng phaûi baèng leänh LOCAL; seõ maát ñi neáu gaëp moät trong caùc leänh : QUIT, CLEAR ALL, CLEAR MEMORY, RELEASE 1> [2>, …]

Bieán cuïc boä (Local) : laø bieán chæ coù theå söû duïng trong chöông trình (hay thuû tuïc) khai baùo noù vaø trong nhöõng chöông trình (hay thuû tuïc) maø noù goïi thöïc hieän; ñöôïc khai baùo trong chöông trình (hay thuû tuïc) khoâng phaûi baèng leänh PUBLIC hoaëc ñöôïc khai baùo ôû cöûa soå leänh baèng leänh LOCAL; seõ maát ñi neáu gaëp moät trong caùc leänh : QUIT, CLEAR ALL, CLEAR MEMORY, RELEASE 1> [2>, …]

Trao ñoåi tham bieán : Coù hai hình thöùc trao ñoåi tham bieán : trao ñoåi theo giaù trò (coù theå thay ñoåi giaù trò cuûa baûn sao nhöng khoâng laøm thay ñoåi giaù trò goác cuûa tham bieán) vaø trao ñoåi theo ñòa chæ (coù theå laøm thay ñoåi giaù trò goác cuûa tham bieán).

Ñeå thöïc hieän vieäc trao ñoåi tham bieán giöõa caùc chöông trình (hay thuû tuïc), phaûi chæ ñònh danh sach tham bieán gôûi ñi.

Cuù phaùp : DO WITH 1> [, 2>, …]

Taïi chöông trình (thuû tuïc) ñöôïc goïi thöïc hieän, phaûi ñaët doøng leänh khai baùo caùc tham bieán nhaän PARAMETERS hay LPARAMETERS ôû ngay sau doøng leänh ñaët teân cuûa thuû tuïc.



Cuù phaùp : PROCEDURE

PARAMETERS 1> [, 2>, …]

ENDPROC


Toái ña coù 27 tham bieán ñöôïc khai baùo.

Che bieán : nhaèm traùnh tình traïng caùc bieán cuïc boä ñöôïc ñaët teân truøng nhau ngoaøi yù muoán khi coù nhieàu ngöôøi cuøng tham gia vieát moät chöông trình öùng duïng.



Cuù phaùp : PRIVATE 1> [, 2>, …]

hay : PRIVATE ALL [LIKE 1> | EXCEPT 2>]



1> [, 2>, …] : caùc bieán cuïc boä ñöôïc che ñi.

PRIVATE ALL : che taát caû caùc bieán cuïc boä.

PRIVATE ALL LIKE 1> : che taát caû caùc bieán coù teân phuø hôïp vôùi 1>.

PRIVATE ALL EXCEPT 2> : che taát caû caùc bieán coù teân khoâng phuø hôïp vôùi 2>.

5) Haøm (Function) : töông töï thuû tuïc veà maët chöùc naêng, chæ khaùc ôû choã haøm seõ traû veà nôi goïi moät vaø chæ moät giaù trò. Kieåu döõ lieäu cuûa haøm laø kieåu cuûa giaù trò traû veà. Haøm coù saün nhö DATE(), INT(), UPPER(), … do Visual Foxpro cung caáp. Haøm do ngöôøi söû duïng ñònh nghóa thì trong phaàn thaân cuûa haøm phaûi coù ít nhaát 1 doøng leänh RETURN ñeå traû giaù trò veà nôi goïi.

Cuù phaùp : FUNCTION

PARAMETERS 1> [, 2>, …]

[RETURN ]



ENDFUNC


: teân cuûa haøm do ngöôøi duøng ñònh nghóa.

PARAMETERS 1> [, 2>, …] : danh saùch caùc tham bieán cuûa haøm.



: giaù trò traû veà nôi goïi.

V. MAØN HÌNH GIAO DIEÄN (INTERFACE DISPLAY):

  1. Maøn hình giao dieän laø nhöõng cöûa soå coù chöùa caùc ñoái töôïng ñaëc bieät goïi laø caùc ñieàu khieån, ñaûm nhieäm vieäc giao tieáp giöõa ngöôøi duøng vaø öùng duïng. Coù hai loaïi maøn hình giao dieän thoâng duïng : daïng ñôn giaûn lieân keát vôùi moät baûng vaø daïng one – to – many lieân keát vôùi baûng coù thieát laäp moái quan heä vôùi nhau.



  • Thanh coâng cuï vaø thuoäc tính taïo giao dieän :

Nhaõn (Label): laø ñoaïn vaên baûn coá ñònh, daøi toái ña 256 kyù töï. Khi ñaët \< tröôùc moät kyù töï naøo ñoù thì kyù töï ñoù trôû thaønh phím noùng.



Thuoäc tính

YÙ nghóa

Caption

Noäi dung cuûa nhaõn

Name

Teân cuûa nhaõn



tải về 279.63 Kb.

Chia sẻ với bạn bè của bạn:
1   2   3




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương