Tin quản lý Visual foxpro - Bài 4: Lập trình trong môi trường Visual Foxpro

pdf 29 trang vanle 2010
Bạn đang xem 20 trang mẫu của tài liệu "Tin quản lý Visual foxpro - Bài 4: Lập trình trong môi trường Visual Foxpro", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdftin_quan_ly_visual_foxpro_bai_4_lap_trinh_trong_moi_truong_v.pdf

Nội dung text: Tin quản lý Visual foxpro - Bài 4: Lập trình trong môi trường Visual Foxpro

  1. BÀI 4 LẬP TRÌNH TRONG MÔI TR ƯỜNG VISUAL FOXPRO NGUY N M NH HÙNG hung.nguyenmanh@thanglong.edu.vn hung2709@gmail.com NỘI DUNG CHÍNH  GI ỚI THI ỆU T ỔNG QUAN V Ề CHƯƠNG TRÌNH  CÁC B ƯỚC XÂY D ỰNG CH ƯƠ NG TRÌNH  MỘT S Ố CÂU L ỆNH LÀM VI ỆC V ỚI BI ẾN & CÁC CẤU TRÚC ĐIỀU KHI ỂN CH ƯƠ NG TRÌNH TIN QU N LÝ - VISUAL FOXPRO 2 1
  2. GI ỚI THI ỆU CH ƯƠ NG TRÌNH  Khái ni ệm: Ch ươ ng trình là mt on vn bn ch a các tp lnh, ưc to lp nh m gi i quy t mt hay nhi u bài toán cùng mt lúc.  Vi c xây dng mt ch ư ng trình gi i quy t mt công vi c nào ó ⇒ lập trình  Tp ch ư ng trình: *.prg  VD: baitap.prg; giaiptb2.prg TIN QU N LÝ - VISUAL FOXPRO 3 GI ỚI THI ỆU CH ƯƠ NG TRÌNH(Cont)  Thu n li  Có th thay i ni dung và th c hi n li  Có th th c hi n ti nhi u ni (Menu, Form, Toolbar, , ch ư ng trình khác) TIN QU N LÝ - VISUAL FOXPRO 4 2
  3. GI ỚI THI ỆU CH ƯƠ NG TRÌNH (Cont)  Mt s chú ý khi lp trình  Hi u rõ vn cn xây dng ch ư ng trình  Phân nh vn cn gi i quy t  Xác nh các ki u d li u cn dùng  Ch ư ng trình hóa các vn  Ki m tra & ch nh sa  Ti n hành ch y th ch ư ng trình  Ki m tra & ch nh sa các li khi ch y th  Kt ni các vn nh thành mt ch ư ng trình hoàn ch nh  Ki m tra toàn b ch ư ng trình TIN QU N LÝ - VISUAL FOXPRO 5 GI ỚI THI ỆU CH ƯƠ NG TRÌNH (Cont)  Cu trúc ca mt ch ư ng trình  To môi tr ưng làm vi c: • Ch a các câu lnh chu n b mt môi tr ưng làm vi c cho toàn b ch ư ng trình  Thân ch ư ng trình: •Cp nh t d li u •X lý, tính toán d li u •Kt xu t thông tin  Kt thúc ch ư ng trình • óng các tp tin (bng d li u) • Gi i phóng bi n, tr li các ch mc nh ca h th ng TIN QU N LÝ - VISUAL FOXPRO 6 3
  4. MỘT S Ố CÂU L ỆNH T ẠO MÔI TR ƯỜNG  SET TALK ON | OFF Bt/t t ch c nng hi n th thông báo hay kt qu tính toán ca mt s câu lnh (AVERAGE, SUM, CALCULATE, )  SET DATE AMERICAN | FRENCH | MDY | DMY |YMD Thi t lp ngày gi hi n th theo các nh dng khác nhau (mm/dd/yy , dd/mm/yy và yy/mm/dd )  SET DELETED OFF | ON Bt/t t ch thao tác vi nh ng bn ghi ã ưc ánh du xóa TIN QU N LÝ - VISUAL FOXPRO 7 MỘT S Ố CÂU L ỆNH T ẠO MÔI TR ƯỜNG  SET EXACT OFF | ON  Bt/t t ch ki m tra chính xác khi so sánh dài các xâu ký t  SET DEFAULT TO  t ưng dn mc nh ca h th ng n ưng dn TIN QU N LÝ - VISUAL FOXPRO 8 4
  5. CẤU TRÚC CH ƯƠ NG TRÌNH TIN QU N LÝ - VISUAL FOXPRO 9 NỘI DUNG CHÍNH  GI ỚI THI ỆU T ỔNG QUAN V Ề CHƯƠNG TRÌNH  CÁC B ƯỚC XÂY D ỰNG CH ƯƠ NG TRÌNH  MỘT S Ố CÂU L ỆNH LÀM VI ỆC V ỚI BI ẾN & CÁC CẤU TRÚC ĐIỀU KHI ỂN CH ƯƠ NG TRÌNH TIN QU N LÝ - VISUAL FOXPRO 10 5
  6. CÁC B ƯỚC XÂY D ỰNG CH ƯƠ NG TRÌNH  Kh i to ch ư ng trình  So n th o ch ư ng trình  Lưu ch ư ng trình  Th c hi n và sa li ch ư ng trình  Ch y th TIN QU N LÝ - VISUAL FOXPRO 11 KH ỞI T ẠO CH ƯƠ NG TRÌNH C1: MODIFY COMMAND VD: Modi comm MyFirstPro C2: FILE - NEW TIN QU N LÝ - VISUAL FOXPRO 12 6
  7. SO ẠN TH ẢO CH ƯƠ NG TRÌNH  S dng các k thu t so n th o vn bn  Chú thích trong ch ư ng trình  && : chú thích cu i dòng lnh  * ho c NOTE : li chú thích u dòng lnh  ; : ng t dòng lnh TIN QU N LÝ - VISUAL FOXPRO 13 SO ẠN TH ẢO CH ƯƠ NG TRÌNH TIN QU N LÝ - VISUAL FOXPRO 14 7
  8. LƯU CH ƯƠ NG TRÌNH  C1: Bm CTRL – W  C2: File – Save (Save As) TIN QU N LÝ - VISUAL FOXPRO 15 TH ỰC HI ỆN & S ỬA L ỖI CH ƯƠ NG TRÌNH  Th ực hi ện ch ươ ng trình  Cú pháp: • DO   VD: • DO TinhdiemTB  TIN QU N LÝ - VISUAL FOXPRO 16 8
  9. TH ỰC HI ỆN & S ỬA L ỖI CH ƯƠ NG TRÌNH  Sửa lỗi ch ươ ng trình  Cú pháp • MODIFY COMMAND   VD: • MODI COMM TinhdiemTB  TIN QU N LÝ - VISUAL FOXPRO 17 NỘI DUNG CHÍNH  GI ỚI THI ỆU T ỔNG QUAN V Ề CHƯƠNG TRÌNH  CÁC B ƯỚC XÂY D ỰNG CH ƯƠ NG TRÌNH  MỘT S Ố CÂU L ỆNH LÀM VI ỆC V ỚI BI ẾN & CÁC CẤU TRÚC ĐIỀU KHI ỂN CH ƯƠ NG TRÌNH TIN QU N LÝ - VISUAL FOXPRO 18 9
  10. MỘT S Ố CÂU L ỆNH LÀM VI ỆC V ỚI BI ẾN  KHAI BÁO BI N  NH P THÔNG TIN CHO BI N  XU T THÔNG TIN QUA BI N TIN QU N LÝ - VISUAL FOXPRO 19 CÁC L ỆNH LÀM VI ỆC V ỚI BI ẾN  KHAI BÁO GIÁ TR BI N  Gán =  STORE  NH P THÔNG TIN (GIÁ TR ) CHO BI N  ACCEPT  INPUT  @X,Y SAY GET  XU T THÔNG TIN QUA BI N  ?/??  @X,Y SAY TIN QU N LÝ - VISUAL FOXPRO 20 10
  11. CÁC L ỆNH LÀM VI ỆC V ỚI BI ẾN  Khai báo giá tr cho bi n  _Name  Lê Văn An ae  _Age 10  e TIN QU N LÝ - VISUAL FOXPRO 21 CÁC CÂU L ỆNH NH ẬP THÔNG TIN (GIÁ TR Ị) CHO BI ẾN    o aaeo a  e e o a  oeeoee oa a TIN QU N LÝ - VISUAL FOXPRO 22 11
  12. CÁC CÂU L ỆNH NH ẬP THÔNG TIN (GIÁ TR Ị) CHO BI ẾN    o u o  o u ae o oa  u a e o u  ou TIN QU N LÝ - VISUAL FOXPRO ay 23 LỆNH @X,Y SAY GET  Cú pháp @X,Y SAY “Xâu ký t hi n th ra màn hình” GET READ Trong ó: X,Y – Ta dòng, ct hi n th xâu ký t : lưu giá tr do ng ưi dùng nh p vào Ví d: o o o y u TIN QU N LÝ - VISUAL FOXPRO 24 12
  13. LỆNH XU ẤT THÔNG TIN QUA BI ẾN  Lnh ? và ??  Lnh @X,Y SAY TIN QU N LÝ - VISUAL FOXPRO 25 LNH ? và ??  Cú pháp  ?  ho ặc ?   ??  ho ặc ??   Xu ất thông tin (giá tr ị) của bi ến (bi ểu th ức) ra màn hình TIN QU N LÝ - VISUAL FOXPRO 26 13
  14. LNH ? và ??  Ví d: _Ten = “Nguy n Vn An” _Tuoi = 20 ?”Bn ” + _Ten + “nm nay ” + _Tuoi + “tu i” Bn Nguy n Vn An nm nay 20 tu i _ ??”Bn ” + _Ten + “nm nay ” + _Tuoi + “tu i” Bn Nguy n Vn An nm nay 20 tu i_ TIN QU N LÝ - VISUAL FOXPRO 27 LNH ? và ??  Ví d (Cont) o TIN QU N LÝ - VISUAL FOXPRO 28 14
  15. LNH @X,Y SAY  Cú pháp • @X,Y SAY “Xâu ký t hi n th ra màn hình” Trong ó: X,Y – Ta dòng, ct hi n th xâu ký t y u TIN QU N LÝ - VISUAL FOXPRO 29 CÁC C ẤU TRÚC ĐIỀU KHI ỂN CH ƯƠ NG TRÌNH  CU TRÚC TU N T  CU TRÚC R NHÁNH  CU TRÚC L A CH N  CU TRÚC L P TIN QU N LÝ - VISUAL FOXPRO 30 15
  16. CẤU TRÚC TU ẦN T Ự  Ch ư ng trình ưc th c hi n tu n t t trên xu ng dưi TIN QU N LÝ - VISUAL FOXPRO 31 CẤU TRÚC R Ẽ NHÁNH  CÂU L NH IF  Cú pháp  IF [ELSE] ENDIF  Câu lnh IF có 2 dng  Dng khuy t: IF ENDIF  Dng y : IF ELSE ENDIF TIN QU N LÝ - VISUAL FOXPRO 32 16
  17. CÂU L ỆNH IF D ẠNG KHUY ẾT ể ứ ề ệ ể ứ ề ệ  ệ TIN QU N LÝ - VISUAL FOXPRO 33 CÂU L ỆNH IF D ẠNG KHUY ẾT Input “Nh p s th nh t” To So1 Input “Nh p s th hai” To So2 IFIFIFSo1>So2 ? “S th nh t ln hơn s th hai” ENDIF ố ứ ớ ố ứ TIN QU N LÝ - VISUAL FOXPRO 34 17
  18. CÂU L ỆNH IF D ẠNG ĐẦY ĐỦ ể ứ ề ệ ể ứ ề ệ ệ ệ a TIN QU N LÝ - VISUAL FOXPRO 35 CÂU L ỆNH IF D ẠNG ĐẦY ĐỦ ố ứ ấ ớ ố ứ ố ứ ớ ố ứ ấ TIN QU N LÝ - VISUAL FOXPRO 36 18
  19. CÂU L ỆNH IF D ẠNG ĐẦY ĐỦ Input “Nh p s th nh t” To So1 Input “Nh p s th hai” To So2 IFIFIFSo1>So2 ? “S th nh t ln hơn s th hai” ELSE ? “S th hai ln hn s th nh t” ENDIF TIN QU N LÝ - VISUAL FOXPRO 37 Ví dụ IF ELSE ENDIF  Nh p mt s bt k. Cho bi t s va nh p là s ch n hay s l (ChanLe.prg ) a a o a a a ooayeo oe ay o a ay oe a a a aa a a a aa TIN QU N LÝ - VISUAL FOXPRO 38 19
  20. Ví dụ IF ELSE ENDIF  Nh p im TB ca mt SV. Cho bi t ánh giá v SV ó (Nhanxet.prg ) a a e a a a oeayee ee ayo o ee ayo a ayo u a a a aa TIN QU N LÝ - VISUAL FOXPRO 39 CẤU TRÚC L ỰA CH ỌN  CÂU L NH DO CASE ậ ệ ậ ệ ậ ệ ệ a TIN QU N LÝ - VISUAL FOXPRO 40 20
  21. CÂU L ỆNH DO CASE ể ứ ề ệ ể ứ ề ệ ể ứ ề ệ a TIN QU N LÝ - VISUAL FOXPRO 41 Ví dụ DO CASE  Nh p im TB ca mt SV. Cho bi t ánh giá v SV ó (Nhanxet.prg ) a a e a a a oeayee e ayo o e ayo a ayo u a a a aa TIN QU N LÝ - VISUAL FOXPRO 42 21
  22. CẤU TRÚC L ẶP  Vòng lp DO WHILE ENDDO  Vòng lp FOR ENDFOR  Vòng lp SCAN ENDSCAN TIN QU N LÝ - VISUAL FOXPRO 43 CẤU TRÚC L ẶP  Nhóm lnh ưc th c hi n LẶP ĐI L ẶP L ẠI:  Theo mt iu ki n nh t nh.  Dng khi iu ki n không còn th a mãn. TIN QU N LÝ - VISUAL FOXPRO 44 22
  23. Cấu trúc lặp: Do While  Cú pháp: Do While [Loop ] [Exit ] Enddo  Trong ó • Loop: Ch ư ng trình s quay li th c hi n t u vòng lp • Exit : Thoát ngay kh i vòng lp, Th c hi n lnh ti p ngay sau Enddo TIN QU N LÝ - VISUAL FOXPRO 45 Cấu trúc lặp: Do While ề ệ ặ u u TIN QU N LÝ - VISUAL FOXPRO 46 23
  24. Cấu trúc lặp: Do While (cont.)  Ví dụ 1: Dùng vòng lp Do While in ra các bn ghi t 1-10: CLEAR USE DSSV DO WHILE RECNO()<=10 DISPLAY SKIP ENDDO TIN QU N LÝ - VISUAL FOXPRO 47 Cấu trúc lặp: Do While (cont.)  Ví dụ 2: Tìm trong bng DSSV.dbf có bao nhiêu SV có h tên là “NGUYEN NAM HAI” CLEAR USE DSSV DEM=0 LOCATE FOR HOTEN = ”NGUYEN NAM HAI” DO WHILE FOUND() DEM = DEM + 1 DISPLAY CONTINUE ENDDO ?”Tng s bn ghi tìm ưc là: “+ str(DEM) TIN QU N LÝ - VISUAL FOXPRO 48 24
  25. Cấu trúc lặp: Do While (cont.)  Ví dụ 3: Dùng vòng lp Do While tìm ki m và hi n th : Tieptuc = “Y” Do While Tieptuc $“Yy” Locate For HOTEN = ”NGUYEN NAM HAI” If Found() Display Endif Accept “Bn có mu n tìm ti p không?” To Tieptuc If Tieptuc $ “Nn” Exit Endif Endd TIN QU N LÝ - VISUAL FOXPRO 49 Cấu trúc lặp - For  Cú pháp: FOR = To [Step ] [Loop ] [Exit ] [Nhóm lnh sau Loop | Exit] ENDFOR  Trong ó • Loop : Ch ư ng trình s quay li th c hi n t u vòng lp (B qua Nhóm lnh sau Loop) • Exit : Thoát ngay kh i vòng lp, Th c hi n lnh ti p ngay sau Endfor TIN QU N LÝ - VISUAL FOXPRO 50 25
  26. Cấu trúc lặp: For (cont.)  Ví dụ 1: Dùng vòng lp For in ra các bn ghi t 1-10: CLEAR USE DSSV FOR dem=1 TO 10 DISPLAY SKIP ENDFOR TIN QU N LÝ - VISUAL FOXPRO 51 Cấu trúc lặp: For (cont.)  Ví dụ 2: Dùng vòng lp For in ra các bn ghi ch n t 2-10: CLEAR USE DSSV Store 2 To I && Initial Value ≈ I = 2 Store 10 To J && Final Value ≈ J = 10 Store 2 To K && Step Value ≈ K = 2 FOR dem = I TO J STEP K GO dem && Nh y n bn ghi s dem DISPLAY ENDFOR TIN QU N LÝ - VISUAL FOXPRO 52 26
  27. Cấu trúc lặp: Scan  Cú pháp: Scan [Scope ] [FOR ] [Loop ] [Exit ] [Nhóm lnh sau Loop | Exit] EndScan  Trong ó  Scope: ALL, NEXT n, RECORD m, và REST  Loop : Ch ư ng trình s quay li th c hi n t u vòng lp (B qua Nhóm lnh sau Loop)  Exit : Thoát ngay kh i vòng lp, Th c hi n các lnh sau Endscan TIN QU N LÝ - VISUAL FOXPRO 53 Cấu trúc lặp: Scan (cont.)  Ví dụ 1: Dùng vòng lp Scan in ra màn hình thông tin ca các sinh viên lp “QA20” CLEAR USE DSSV SCAN For Lop=“QA20” DISPLAY ENDSCAN TIN QU N LÝ - VISUAL FOXPRO 54 27
  28. Cấu trúc lặp: Scan (cont.)  Ví dụ 2: Dùng vòng lp Scan in ra 10 sinh viên u tiên có im TB > 8.0: CLEAR USE DSSV dem=0 SCAN For DiemTB>8 While dem<10 DISPLAY dem = dem + 1 ENDSCAN TIN QU N LÝ - VISUAL FOXPRO 55 BÀI T ẬP  Bài tập 1  Vi t ch ư ng trình có tên là CT1.PRG th c hi n yêu cu sau: Nh p vào mt tháng , sau ó ki m tra và thông báo ra màn hình xem tháng ó có hp l không? (Bi t rng tháng hp l là tháng t 1 - 12).  Bài tập 2  Vi t ch ư ng trình có tên là CT2.PRG th c hi n yêu cu sau: Nh p tên và năm sinh ca mtưi bn bt k. Sau ó thông báo ra ngoài màn hình tên và tu i ca bn ó  Bài tập 3  Vi t ch ư ng trình có tên là CT3.PRG th c hi n yêu cu sau: Nh p mt số nguyên bt k. Thông báo ra màn hình s va nh p chia h t cho 2 hay cho 3 ? TIN QU N LÝ - VISUAL FOXPRO 56 28
  29. BÀI T ẬP  Bài tập 4  Vi t ch ư ng trình có tên là CT4.PRG th c hi n yêu cu sau: Nh p vào s ti n thu nh ập hàng tháng ca mtưi bt k. Sau ó thông báo ra màn hình s ti n thu TN màưi ó ph i np bi t rng nu: • Thu nh p 4.000.000 VN : không ph i np thu TN • Thu nh p >= 4.000.000: thu TN = 3% thu nh p • Thu nh p >= 7.000.000: thu TN = 5% thu nh p • Thu nh p >= 10.000.000: thu TN = 7% thu nh p TIN QU N LÝ - VISUAL FOXPRO 57 BÀI T ẬP  Bài tập 5  Vi t ch ư ng trình có tên là CT5.PRG th c hi n yêu cu sau: Nh p vào mt s N nguyên dư ng bt k. In ra màn hình giá tr bình ph ư ng các s t 1 n N.  Bài tập 6  Vi t ch ư ng trình có tên là CT6.PRG th c hi n yêu cu sau: Nh p vào N s nguyên bt k. Cho bi t trong N s va nh p ó, có bao nhiêu s là s ch n, bao nhiêu s là s l. TIN QU N LÝ - VISUAL FOXPRO 58 29