Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
210,81 KB
Nội dung
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
GHẫP HAI TP TIN *.DBF THNH TP TIN TH BA *.DBF
A . PHN M U
qun lý hc sinh bng mỏy tớnh, nh trng chỳng tụi s dng phn ln trờn FoxPro.
Hai tp tin qun lý c bn l KHOI*.DBF v HK*.DBF ( Chng hn : Hc k 1 qun lý
hc sinh Khi 10 cú hai tp tin KHOI10.DBF v HK110.DBF ) : Trong ú tp tin KHOI*.DBF
lu tr lý lch hc sinh v tp tin HK*.DBF lu tr im s ca hc sinh hc k 1 hoc hc
k 2 ca mt khi. Hai tp tin ny cú s records bng nhau v liờn kt vi nhau qua MAHS.
Sau khi cú kt qu thi hc k, nh trng cú yờu cu chn ra cỏc i tng hc sinh nh : hc
sinh gii hoc yu b mụn no ú cụng vic c thc hin nhanh chúng trờn tp tin d
liu, khụng phi lp trỡnh, chỳng tụi s dng chng trỡnh Ghộp hai tp tin *.DBF
vo vic ghộp hai tp tin ny li vi nhau cú c mt tp tin th ba, tp tin ny va lu tr
lý lch hc sinh va lu tr im s trong mt hc k ca hc sinh.
Chng trỡnh Ghộp hai tp tin *.DBF c chỳng tụi vit vo cui thỏng 8 nm
1995, khi m mỏy tớnh trng chỳng tụi b Virus, cỏc d liu Tuyn Sinh 10 trờn cng mỏy
386 b mt sch, ch cũn lu tr trờn cỏc a d phũng 1M4 v ch cú th c cỏc d liu ny
trờn Foxproln v trờn cỏc a mm. Yờu cu chia lp Khi 10 vo u nm hc gn k, buc
chỳng tụi phi ghộp hai tp tin THISINH.DBF v NHAPDIEM.DBF thnh mt tp tin cú c
s d liu qun lý. V t ú chng trỡnh Ghộp hai tp tin *.DBF ó giỳp chỳng tụi vt
qua khú khn ang gp phi.
Ngoi vic qun lý hc sinh trờn FoxPro, mt s d liu cũn c nhp trờn Excel, vic
qun lý d liu trờn bng tớnh Excel giỳp chỳng tụi d sa cha, d copy hoc ct, dỏn cỏc mu
tin. Excel h tr chỳng tụi trong vic Sort d liu cú th chn ra cỏc i tng hc sinh theo
yờu cu ca nh trng. Vo thỏng 7 nm 1998, chỳng tụi nhp d liu xột tuyn hc sinh 10
bng Excel. n thỏng 8 nm 1998 chỳng tụi cn chuyn d liu ny sang s dng cỏc chng
trỡnh qun lý hc sinh ó c vit sn t nhiu nm trc ú trờn Foxpro. Khú khn m
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
chỳng tụi vng phi l khi Save tp tin *.XLS vi kiu *.DBF thỡ cỏc Fonts 2 bytes ca VNI
khụng c gi nguyờn m b chuyn sang mt s ký t l. khc phc tỡnh trng ny chỳng
tụi phi Save tp tin *.XLS sang tp tin *.TXT , ri t tp tin *.TXT chỳng tụi dựng chng
trỡnh Chuyn tp tin *.XLS thnh tp tin *.DBF to tp tin *.DBF v t ú chng trỡnh
ny ra i.
Sau nhiu nm s dng khụng gp li, chỳng tụi xin hõn hnh c gii thiu hai
chng trỡnh ny, vi hy vng rng, cú th h tr phn nh vic qun lý hc sinh bng Foxpro
m mt s trng ang s dng.
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
A. Chng trỡnh 1 :
GHẫP HAI TP TIN *.DBF THNH TP TIN TH BA *.DBF
I.Hng dn s dng :
Hai tp tin *.DBF phi cú cựng records v ch cú duy nht mt Field cú tờn chung
( nh MAHS chng hn ), Field ny dựng ghộp hai tp tin nờn phi cú chung d liu
liờn kt (Relation).
Khi yờu cu m tp tin *.DBF th nht bn phi m tp tin ch trc, sau ú bn
m tp tin *.DBF th hai.
Khi yờu cu cho tờn tp tin xut, bn nhp tờn tp tin th ba l tp tin ghộp ca
hai tp tin ó c chn trc ú.
II.S lc thut toỏn ca chng trỡnh ghộp hai tp tin *.DBF thnh tp tin th ba *.DBF:
M tp tin *.DBF (TT1.DBF) th nht SELE 1 v m tp tin *.DBF
(TT2.DBF) th hai SELE 2.
COPY STRUCTURE EXTENDED tp tin TT1.DBF n TAM1.DBF SELE 1
v tp tin TT2.DBF n TAM2.DBF SELE 2 .
M TAM1.DBF, mang d liu t TAM2.DBF vo TAM1.DBF v tỡm hai
records ging nhau xúa record th hai ( nh MAHS chng hn ). Khi ú cỏc records
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
trong TAM1.DBF theo th t l tờn cỏc fields ca TT1.DBF v TT2.DBF ( khụng cú 2
records cú FIELD_NAME trựng nhau ).
M tp tin *.DBF (TT1.DBF) th nht SELE 1 v m tp tin *.DBF
(TT2.DBF) th hai SELE 2 v sp xp 2 tp tin ny theo Field cú tờn chung ( nh MAHS
chng hn ). Sau ú chộp TT1.DBF (cú sp xp theo mó chung) n TAM3.DBF v chộp
TT2.DBF (cú sp xp theo mó chung) n TAM4.DBF.
To tp tin xut ( tp tin &KQ) t tp tin cú cu trỳc c bit TAM1.DBF v
m tp tin &KQ, chộp d liu t tp tin TAM3.DBF vo &KQ.
SELE 1 m &KQ v SELE 2 m TAM4.DBF. Sau ú ly tun t cỏc records
ca TAM4.DBF chộp vo &KQ.
M &KQ v cho bn kim tra bng lnh Brow.
III. Chng trỡnh ghộp hai tp tin *.DBF thnh tp tin th ba *.DBF :
* PROGRAM : GHEP2DBF.PRG (GHẫP 2 FILES *.DBF)
* NGUOI VIET : PHAM VAN LUAT
* NGAY VIET : 24 & 25/08/1995
* DON VI : DOC BINH KIEU
*
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
SET TALK OFF
SET SAFE OFF
SET CONS OFF
CLEA
SELE 1
@10,12 SAY "HAY MO TAPTIN THU NHAT DE KET NOI "
WAIT WIND" AN PHIM BAT KY DE TIEP TUC"
USE?
@11,11 SAY " BAN DA MO TAPTIN THU NHAT : " +ALLT(DBF())
STOR LEFT(DBF(),RAT("\",DBF()))+SPACE(10) TO KQ
STOR DBF() TO FILE1
SELE 2
@12,12 SAY "HAY MO TAPTIN THU HAI DE KET NOI "
WAIT WIND" AN PHIM BAT KY DE TIEP TUC"
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
USE?
@13,11 SAY " BAN DA MO TAPTIN THU HAI : " +ALLT(DBF())
STOR DBF() TO FILE2
@14,12 SAY 'CHO TAPTIN XUAT ' GET KQ
READ
CLOS ALL
SET DEFA TO LEFT(DBF(),RAT("\",DBF()))
* BUOC 1 : CHUAN BI DOC CAC FIELDS FILE THU 2 :
SELE 2
USE &FILE2
SOFI=FCOU()
DIME TENF(SOFI)
FOR I=1 TO SOFI
TENF(I)=FIEL(I)
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
ENDFOR
* BUOC 2 : DOC CAC FIELDS FILE THU 2 RA FILE TAM2:
STORE LEFT(DBF(),RAT("\",DBF()))+"TAM2.DBF" TO TAM2
COPY STRU EXTE TO &TAM2
* BUOC 3 : DOC CAC FIELDS FILE THU 1 RA FILE TAM1:
SELE 1
USE &FILE1
STORE LEFT(DBF(),RAT("\",DBF()))+"TAM1.DBF" TO TAM1
COPY STRU EXTE TO &TAM1
USE &TAM1
SOFA=RECC()
* BUOC 4 : CHEP CAC RECORDS FILE TAM2 VAO TAM1 :
APPE FROM &TAM2
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
* BUOC 5 : KIEM TRA HAI RECORDS GIONG NHAU DE XOA 1 RECORD O
TAM2 :
FOR KIEMTRA=1 TO SOFA
GO KIEMTRA
KT=FIELD_NAME
LOCA FOR (FIELD_NAME=KT).AND.(RECN()<>KIEMTRA)
IF FOUND()
GO KIEMTRA
STORE KT TO KTHK
DELE
ENDIF
ENDFOR
PACK
* BUOC 6 : SAP XEP FILE1 V FIEL2 THEO MA CHUNG V CHEP DU LIEU
DA SAP XEP DEN TAM3.DBF VA TAM4.DBF
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
SELE 2
USE &FILE2
STORE LEFT(DBF(),RAT("\",DBF()))+"SX2.IDX" TO SX2
INDE ON &KTHK TO &SX2
STORE LEFT(DBF(),RAT("\",DBF()))+"TAM4.DBF" TO TAM4
COPY TO &TAM4
USE &TAM4
SELE 1
USE &FILE1
STORE LEFT(DBF(),RAT("\",DBF()))+"SX1.IDX" TO SX1
INDE ON &KTHK TO &SX1
STORE LEFT(DBF(),RAT("\",DBF()))+"TAM3.DBF" TO TAM3
COPY TO &TAM3
* BUOC 7 : TAO FILE GHEP :
Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF
CREA &KQ FROM &TAM1
USE &KQ
* BUOC 8 : CHEP CAC RECORDS O FILE1 VAO FILE XUAT :
APPE FROM &TAM3
* BUOC 9 : CHEP CAC RECORDS O FILE2 VAO FILE XUAT :
FOR I=1 TO SOFI
STT=0
STOR TENF(I) TO LUAT
FOR T=1 TO RECC()
SELE 2
GO T
TAM=&LUAT
SELE 1
GO T
[...]... ON SET SAFE ON RETURN Chửụng trỡnh : B 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF Chng trỡnh 2 : Chuyn tp tin *.XLS thnh tp tin *.DBF (XLSTODBF.PRG) I Hng dn s dng : Tp tin *.XLS trc ht bn Save As di dng *.TXT v bn phi nh tờn cỏc Fields trong tp tin ny nhp trong lỳc chy chng trỡnh Chuyn tp tin *.XLS thnh tp tin *.DBF (XLSTODBF.PRG) Sau ú bn cho chy chng trỡnh XLSTODBF.PRG... phớm, kiu cỏc fields (Field_Type) mc nh l C rng cỏc field ( Fiel_Len) mc nh l 40 To tp tin TAM2.DBF t tp tin TAM1.DBF v m tp tin TAM2.DBF Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF Sele 1 m tp tin THU.DBF, ct mi records theo tng Field ca THU.DBF v chộp vo tp tin TAM2.DBF SELE 2 record tng ng sau lnh APPEND BLANK Quỏ trỡnh lp li cho n khi con tr... CLOS ALL Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF CLEA FILENGUON= "C:\"+SPACE(30) FILEXUAT= "C:\"+SPACE(30) * BUOC 1 : NGI S DNG NHP TấN TP TIN *.TXT CN CHUYN THNH TP TIN *.DBF V NHP TấN TP TIN *.DBF CN XUT : @10,12 SAY " CHO BIET TAPTIN *.TXT CAN CHUYEN THANH *.DBF" GET FILENGUON @11,12 SAY " CHO BIET TAPTIN *.DBF CAN XUAT " GET FILEXUAT READ STOR...Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF REPL &LUAT WITH TAM ENDFOR ENDFOR * BUOC 10 : CHO BAN XEM FILE XUAT : CLOS ALL USE &KQ BROW * BUOC 11 : TRA LAI MOI TRUONG CLOSE ALL ERASE &TAM1 ERASE &TAM2 ERASE &TAM3 ERASE &TAM4 ERASE &SX1 Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF ERASE &SX2 SET TALK ON... vo record cui cựng ca tp tin TAM2.DBF Cui cựng l chộp d liu t tp tin TAM2.DBF n tp tin *.DBF m bn t tờn lỳc u tiờn chy chng trỡnh XLSTODBF.PRG bi lnh COPY TO III Chng trỡnh XLSTODBF.PRG: * PROGRAM : XLSTODBF.PRG (Chuyn tp tin *.XLS thnh tp tin *.DBF) * NGUOI VIET : PHAM VAN LUAT * NGAY VIET : Thỏng 08/1998 * DON VI : DOC BINH KIEU * - SET SAFE OFF SET TALK... Fields tng ng Vỡ l d liu kiu *.TXT nờn tm thi chỳng tụi cho tp tin *.DBF cú Field_Type l Character v Field_Len l 40 nờn mun s dng tp tin ny, bn phi sa li cu trỳc File (MODIFY STRUCTURE) nh ý bn Tp tin h tr chng trỡnh ny cú tờn THU.DBF cú cu trỳc : Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF Field Field Name Type 1 TACH Character Width Dec Index... ENDFOR SKIP ENDDO SELE 2 Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF COPY TO &FIELXUAT * BUOC 4 : TR LI MễI TRNG : CLOSE ALL ERASE C:\SKKN\TAM1.DBF ERASE C:\SKKN\TAM2.DBF SET TALK ON SET SAFE ON SET CONS ON RETURN Chửụng trỡnh : C 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF XC MINH CA CC GIO VIấN Cể S DNG CC CHNG TRèNH... hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF USE C:\SKKN\TAM1.DBF ZAP FOR I=1 TO DEM+1 APPE BLANK REPL FIELD_NAME WITH TENFIEL(I) REPL FIELD_TYPE WITH "C" REPL FIELD_LEN WITH 40 ENDFOR CREA C:\SKKN\TAM2 FROM C:\SKKN\TAM1 * CHEP TU FILE *.TXT SANG *.DBF : SELE 1 USE C:\SKKN\THU SELE 2 USE C:\SKKN\TAM2 Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS... chng trỡnh 255 XLSTODBF.PRG bn hóy to trc tp tin THU.DBF trong th mc ca bn v sa li ng dn ( ng dn ca chng trỡnh l C:\SKKN) ca chng trỡnh XLSTODBF.PRG II S lc thut toỏn ca chng trỡnh XLSTODBF.PRG: M tp tin THU.DBF Chộp d liu n THU.DBF t tp tin *.TXT bi lnh APPEND FROM *.TXT DELIMITED m s ký t TAB ( mó 9 bờn bng ASCII ) + 1 l s fields ca tp tin *.DBF To tp tin TAM1.DBF bi lnh COPY STRUCTURE EXTENDED,... Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF SELE 1 GO TOP DO WHILE !EOF() A="" SOLAN=0 SELE 2 APPE BLANK SELE 1 FOR I=1 TO LEN(ALLT(TACH)) IF SUBS(ALLT(TACH),I,1)" A=A+SUBS(ALLT(TACH),I,1) CHUOI=A ELSE SOLAN=SOLAN+1 " Chửụng trỡnh : 1) Gheựp hai taọp tin *.DBF vaứ 2) Chuyeồn taọp tin *.XLS thaứnh taọp tin *.DBF CHUOI=A SELE 2 STOR FIEL(SOLAN) TO TEN REPL &TEN WITH CHUOI .
tụi phi Save tp tin *.XLS sang tp tin *.TXT , ri t tp tin *.TXT chỳng tụi dựng chng
trỡnh Chuyn tp tin *.XLS thnh tp tin *.DBF to tp tin *.DBF v t ú. cu m tp tin *.DBF th nht bn phi m tp tin ch trc, sau ú bn
m tp tin *.DBF th hai.
Khi yờu cu cho tờn tp tin xut, bn nhp tờn tp tin th ba l tp tin ghộp