VFP ·R¥ÎªÌªÀ°Ï ­º­¶ VFP ·R¥ÎªÌªÀ°Ï
¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.
 
 ±`¨£°ÝÃD±`¨£°ÝÃD   ·j´M·j´M   ·|­û¦Cªí·|­û¦Cªí   ·|­û¸s²Õ·|­û¸s²Õ   ·|­ûµù¥U·|­ûµù¥U 
 ­Ó¤H¸ê®Æ­Ó¤H¸ê®Æ   µn¤JÀˬd±zªº¨p¤H°T®§µn¤JÀˬd±zªº¨p¤H°T®§   µn¤Jµn¤J

¸ê®Æ¶°¨Ï¥Î°ÝÃDªº¸Ñ¨M¤è®×

 
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD  
µoªí¤H ¤º®e
Ruey



µù¥U®É¶¡: 2003-03-12
¤å³¹: 1698
¨Ó¦Û: tunglo

²Ä 1 ¼Ó

µoªíµoªí©ó: ¬P´Á¤T ¤K¤ë 13, 2003 11:16 am    ¤å³¹¥DÃD: ¸ê®Æ¶°¨Ï¥Î°ÝÃDªº¸Ñ¨M¤è®× ¤Þ¨¥¦^ÂÐ

¸ê®Æ¨Ó¦Û¡G
¬°§Ú«ü©ú¥¿½T¤§¸ô(Ãö©ó¦h¸ê®Æ¶°¨Ï¥Î°ÝÃDªº¸Ñ¨M¤è®×)
§@ªÌ¡GPaul Maskens ©M Andy Kramek
ĶªÌ¡GRMH
Ķ¤å¥X¦Û¡Gfoxer ¸ê®Æ¯¸¡]http://fbilo.myrice.com¡^

¦b§A¨Ï¥Î²³æªº¸ê®Æ¶°®Éªí³æªº¸ê®ÆÀô¹Ò¬O«D±`¥Î¦³ªº. ¦b¬Û¦Pªºªí³æ¥²¶·¨Ï¥Î¦ì©ó¤£¦P¥Ø¿ý¤¤ªºµ²ºc¬Û¦Pªº¸ê®Æ¶°®É´N¤£±o¤£¨Ï¥Î¤@¨Ç§Þ¥©¤F. ·í©Ò­n¨Dªº¸ê®Æ¶°ªº¦ì¸m¥²¶·¥H°Ñ¼Æ¶Ç»¼®É, ´N§ó¬°§xÃø¡X¬O¤£¬O? Paul Maskens ©M Andy Kramek ¬ã¨s¤F¸Ó°ÝÃD.

¦w­}: §A¦n, «Où, ¦³¤@­Ó°ÝÃD­n½Ð±Ð§A. §Ú¥¿¦b³B²z¤@­Ó¸ê®Æ«O¦s¦b¼Ð·Çªº Visual FoxPro ¸ê®Æ®w¤¤ªºÀ³¥Îµ{¦¡, ¦ý¬O¦b¤£¦Pªº¦ì¸mùئ³¦h­Ó³o­Ó¸ê®Æ®wªº«þ¨©. (³o¬O¤@­Ó½ã°ÈÀ³¥Îµ{¦¡, ¥¦¬°¤£¦Pªº¤½¥q¦b¤£¦Pªº¤l¥Ø¿ý¤¤¦U¦Û«O¦s¤@®M¸ê®Æ). §Úªº°ÝÃD¬O¡G§Ú¤£±o¤£³Ð«Ø³o¼Ë¤@­Óªí³æ¡A§âªí³æ¨Ï¥Îªº¸ê®Æ¶°ªº¦ì¸m§@¬°°Ñ¼Æ¦b¹B¦æ®É¥æµ¹ªí³æ¡C

«Où: ¦n, ­n½T«Hªº¤@¥ó¨Æ±¡¬O¡X§A¤£¯à²³æªº²K¥[ªí¨ìªí³æªº¸ê®ÆÀô¹Ò¨Ã¤¹³\ Visual FoxPro ¦Û°Ê¥´¶}¥¦­Ì. ©Ò¦³§A¶Ç»¼¨ìªí³æªº°Ñ¼Æ¦b¥¦ªº Init() ¤èªk¤¤±µ¦¬, ¨Ã¥B¥¦ªº±Ò°Ê±ß©ó¸ê®ÆÀô¹Òªºªì©l¤Æ. ¥H¤U¬Oªí³æ¹B¦æ®Éªº¨Æ¥ó¶¶§Ç:
1. DataEnvironment.OpenTables
2. DataEnvironment.BeforeOpenTables
3. Form.Load
4. DataEnvironment.Init
5. Form.Init
6. Form.Show
7. Form.Activate
8. Form.Refresh
9. Form.Gotfocus
¦w­}: ¥¿½T. ¥t¥~, ³o­Ó¶¶§Ç¬Ý°_¨Ó¦³ÂI©_©Ç, ¤£¬O¶Ü? ¸ê®ÆÀô¹Òªº BeforeOpenTables ¦b OpenTables ªº«á­±¿Eµo?

«Où: §Ú¦P·N, ¦ý³o¶È¶È¬O¥~ªíªº²§±`. §Ú»{¬° OpenTables ¬O¤@­Ó¦b Visual FoxPro °ò¥»Ãþªº¥N½X¤¤½Õ¥Îªº¤èªk, ¦Ó BeforeOpenTables ¬O¤@­Ó¦b OpenTables ¤èªk³Q½Õ¥Î®É¿Eµoªº¨Æ¥ó. ¥¦¹ê»Ú¤W¬O¤@ºØ¹ê²{ Hook pattern ªº¤èªk, ¦]¦¹§A¥i¥H¥]§t¥N½X¦Ó¤£¥²ª½±µ²K¥[¥¦¨ì OpenTables ¤èªk¤¤. ·íµM, ³oÂkµ²©ó Visual FoxPro ¬O¦p¦óºÞ²z¥´¶}ªí¾Þ§@ªº. ¬Ý¨Ó¦b§Ú­Ì¶i¦æ­×§ï«e­n²z¸Ñ³B²z¹Lµ{. §@¬° Microsoft Office Automation with Visual FoxPro (¡mMicrosoft Office ¦Û°Ê¤Æ©M Visual FoxPro ¡nGranor and Martin, Hentzenwerke Publishing, June 2000) ¤¤ªº³W©w, ¡§§A¤£¯à¦Û°Ê¤Æ§A¤£²z¸ÑªºªF¦è¡¨¡C

¦w­}: ¦n, ©¯¹Bªº¬O, ¤@¥¹§A·d²M¤F¦]¬°¡§cursor¡¨³æµü¨âºØ¤£¦Pªº¥Îªk¦Ó³y¦¨ªº²V¶Ã, ¥¦´N¬O¬Û·í²³æ¤F¡C °ò¥»ªº³B²z¹Lµ{¬O¡G­º¥ý Visual FoxPro ²K¥[¤@­Ó°ò©ó Cursor °òÃþªº cursor ª«¥ó¨ì¸ê®ÆÀô¹Ò¡C±µµÛ, ¥¦³]¸m¸Óª«¥óªºÄÝ©Ê¡AµM«á¥Î³o¨ÇÄݩʨӳЫدu¥¿ªº¸ê®Æ´å¼Ð¡X¡X´N¬O§Ú­Ì¥Î¨Ó¶i¦æŪ¼g¾Þ§@ªº¨º­Ó¡C¦Ü©ó¬ÛÃöªº¸ê®Æ¦ì¸m¡A§Ú­Ì»Ý­n¾á¤ßªº¥u¦³¨â­Ó cursor ª«¥óÄÝ©Ê: Database ©M CursorSource¡C¤£©¯ªº¬O¡A¦pªí 1 ©Ò¥Ü¡A³o¨â­ÓÄݩʳQ¨Ï¥Îªº¤è¦¡¨ú¨M©óª«¥ó¬O¤Þ¥Î¦Û¥ÑªíÁÙ¬O¸j©wªí¡C³Ì­«­nªº¬O, ¥¦¬O¦b³]­p®É¨M©w¨Ã¦b¥H«á¤£¯à­×§ï¡C

«Où: ³á, ¦ý³o·N¨ýµÛ²¦³º§A¥i¥H¨Ï¥Î¸ê®ÆÀô¹Ò. ¥Ñ©ó³o¨ÇÄݩʬO¦b³]­p®É³]¸m, §A¥i¥H¥Î¥¦­Ì¨Ó¨M©w Visual FoxPro ¦b¦ó³B§ä¨ì¥¦­Ì¨Ã²³æªº¾A·í­×§ï¥¦­Ì. ·íµM, §A»Ý­n³]¸m Auto-Opentables ¬° .F. ¨ÓÁקKªí³Q Visual FoxPro ±q¥¦­ÌªºÀq»{¦ì¸m¥´¶}¡X¦ý¬O¦b³oºØ±¡ªp¤U¥u¦³¤@­ÓÄݩʳ]¸m. ¦pªG¬O¨Æ¹ê, §A¬Æ¦Ü¤£»Ý­n³o¼Ë°µ! ¥u»Ý²K¥[¥H¤U¥N½X¨ì§Aªºªí³æÃþªº Load() ¤¤:
WITH This.DataEnvironment
IF .AutoOpenTables
.CloseTables()
ENDIF
ENDWITH
ªí 1. Visual FoxPro ¦p¦ó«O¦s¸ê®Æ¦ì¸m.(ĶªÌª`: ¥»¤å¤¤ªº¸j©wªí§YÄÝ©ó¬Y¤@¸ê®Æ®wªºªí)
ªíÃþ«¬©M¦ì¸m Database ÄÝ©Ê CursorSource ÄÝ©Ê
¸j©wªí, DBC ¦b¥»¦aÅX°Ê¾¹ DBC ¬Û¹ï¸ô®|©MÀɮצW DBC ªí ¡§Name¡¨­È
¸j©wªí, DBC ¦b¤£¦PÅX°Ê¾¹¤W DBC ªºµ´¹ï¸ô®|©MÀɮצW DBC ªí ¡§Name¡¨­È
¥»¦aÅX°Ê¾¹¤Wªº¦Û¥Ñªí DBF ¬Û¹ï¸ô®|©MÀɮצW ¥¼¨Ï¥Î
¤£¦PÅX°Ê¾¹¤Wªº¦Û¥Ñªí DBC ªºµ´¹ï¸ô®|©MÀɮצW ¥¼¨Ï¥Î
¦w­}: ¼g±o¬Û·íÀu¶®. ¥¦·|¦b§Y¨Ï§Ú§Ñ°O­×§ïÄݩʮɽT«O©Ò¦³¤w¸g¦Û°Ê¥´¶}ªºªí³QÃö³¬.

«Où: ¬Oªº, ¦ý¬O¹ï§Ú¨Ó»¡ÁÙ¥X²{¤F¤@¨ÇªF¦è. ¦b³o¨Çªí³æ¤¤, Ãö©ó¸j©w±±¨î¶µ¨ì¸ê®Æ§A«ç»ò°µ? ¦pªG§A¦bªí³æªº Init() ¿Eµo®ÉÁÙ¨S¦³¥´¶}¥ô¦óªí, «h§A¤£¯à¸j©w¥ô¦ó±±¨î¶µ, ©ÎªÌ¡X§A¨S¦³ªF¦è¸j©w.

¦w­}: °Ý±o¦n! ¦b¥¦µo¥Í®É, §Ú¤w¸g·Q¹L¸Ó°ÝÃD¤F. §Ú­pµe±qªí³æªº Init() ¤¤½Õ¥Î¤@­Ó¤èªk½sµ{¦a¸j©w§Úªº±±¨î¶µ.

«Où: °µ±o°÷º}«G¤F. ¦]¦¹²{¦b§Ú­Ì¹F¨ì¦bªí³æ±Ò°Ê®É½T«O¥¦¤£·|¥´¶}¥ô¦óªíªº¶¥¬q¤F.¦]¦¹§Úªº²Ä¤@­Ó·Qªk²¦³º¬O¿ù»~ªº. §A¥i¥H§âªí©ñ¤J¨ìªí³æªº¸ê®ÆÀô¹Ò, §Ú­Ì©Ò»Ý­n°µªº¥u¬O½T«O§Ú­Ì±o¨ì¥¿½Tªºªí. §A¬O«ç¼Ë­pµe¶Ç»¼¨ìªí³æªº?

¦w­}: §Ú·QÀ³¸Ó¬O§Ú·Q©w¦ìªºªí©Ò¦b¸ê®Æ®wªº§¹¾ãªº¸ô®|¦W©MÀɮצW. °O¦í, ³o¬O¬Û¦Pªºªí¦W¥Î©ó¤£¦Pªº¸ê®Æ®w®e¾¹¤¤ªº¤@ºØ±¡ªp. ¦b³o­Ó¯S©wªºÀ³¥Îµ{¦¡¤¤, ¦U¤½¥q¦b¥L­Ìªº¤l¥Ø¿ý¤¤ªº DBC ¤¤¦³¤@²Õªí, §Ú·|¦³¤@­Óªí¥]¬A¤½¥q¦W¦r©M¦ì¸m¤Î¬ÛÃöªº¸ê®Æ®w®e¾¹ªº¸ê°T. µM«á¥Î¤á¥i¥H¦bµn¿ýªí³æ¤¤¿ï¾Ü¤@­Ó¥L­Ì­n³B²zªº¤½¥q.

«Où: ¦]¦¹, ¦b§Aªº¥N½X¤¤ªº¬Y³B¥i¯à·|¦³¶H¤U­±¤@¼Ëªº¥N½X¦æ:
DO FORM frmMain WITH C:\Accounts\Data\TLC\CpyData.dbc
¦P®É¦b§Aªºªí³æªº Init() §A·|³o¼Ë°µ:
LPARAMETERS tcDBCToUse
ThisForm.SetDBC( tcDBCTouse )
¦w­}: ¦³¨ÇªF¦è¬O³o¼Ëªº, ÁöµM§Ú¤]¦Ò¼{¹L¨Ï¥Î³oºØ¤èªk, ¥Ñ©ó³o·|±qµn¿ýªí³æ¤¤½Õ¥Î, §Ú·|²³æ¦a«O¦s¥Î¤á¿ï¾Üªº¸ô®|©MÀɮצW¨ì¤@­Ó application ª«¥óªºÄÝ©Ê©Î _Screen ª«¥óªºÄÝ©Ê. ¨Ï¥Î³oºØ¤èªk, ²¦³º§Ú¤£¥²¶Ç»¼¤@­Ó°Ñ¼Æ¤]¥i¥H¦bªí³æªº Load() ¤¤¹ê»Ú¦aÀò¨ú¥²¶·ªº¸ê°T.

«Où: ¦n¤F, ¨º¬O¤@ºØ¿ìªk¡X¦pªG§A¦bªí³æªº Load() ¤¤³o¼Ë°µ, §A¤]ÁÙ¥i¥H¨Ï¥Î¸j©w±±¨î¶µ. ¨Æ¹ê¤W, ²{¦b§Ú»{¬°, ³oÁÙ»·¤£¬O³Ì¨Î¿ìªk. §A¤£¥²§ïÅܧAªº³B²z¤èªk. ¦b§Aªºªí³æÃþªº Load() ¤¤Â²³æ¦a©ñ¤J¥N½X¨Ó±j¨îÃö³¬¦Û°Ê¥´¶}ªºªí, µM«á§A¥i¥H¶H¥­±`¤@¼Ë¥Î¥¿½T¦a¨Ï¥Î¸ê®ÆÀô¹Ò. §A¤£¥²¦bªí³æªº¥ô¦ó¤èªk¤¤©ñ¤J¥ô¦ó¥N½X, ¦]¦¹¦b¤lÃþªí³æÃþ®É¤]¤£·|µo¥Í°ÝÃD. ³Ñ¤U­n°µªº¶È¤@ªº¨Æ±¡¬O½s¼g¹ê»Úªº¥N½X¨Ó§ïÅܸê®ÆÀô¹Ò¤¤ªº³]¸m. §Ú°²©w³oÀ³¸Ó¦b¤@­Ó±qªí³æªº Load() ¤¤½Õ¥Îªº§Aªºªí³æÃþªº¦Û©w¸q¤èªk¤¤.

¦w­}: ¦n¶H¹ï©ó§Ú¨Ó»¡³o¬O¦X²zªº. ³o¨Ç¥N½X«D±`¤@¯ë¡X§Ú­Ì©Ò­n°µªº¤@¤Á¥u¬OÀˬd _Screen ª«¥ó¤Wªº¤w¦s¦bªº¯S©wÄÝ©Ê. (¦p§A©Òª¾, §Ú¤£¶H§A¤@¼Ë¨Ï¥Î¤@­Ó application ª«¥ó). ·íµMÄÝ©Ê·|¦bµn¿ýªí³æµn¿ý¦¨¥\¨Ã«ü©w¤F¸ê®Æ®w®É³Ð«Ø. ¥N½X¬O²³æªº:
WITH _Screen
.AddProperty( 'cDataBase', ;
JUSTSTEM( ThisForm.txtDataBase.Value ) )
.AddProperty( 'cDataPath', ;
JUSTPATH( ThisForm.txtDatabase.Value ) )
ENDWITH
«Où: ¥´¦í. ¬°¤°»ò§A¶H³o¼Ë¤À¶}¸ô®|©MÀɮצW?

¦w­}: ³á, ¨º¬O¦]¬°³o¼Ë§Ú¥i¥H¦b§Ú»Ý­n©ú½T¦a¤Þ¥Î¨ì¨S¦³¸ô®|ªºªí®É¤Þ¥Î database name ÄÝ©Ê, ¦Ò¼{¥H¤U SQL »y¥y:
lcDBC = _Screen.cDataBase
SELECT *;
FROM (lcDBC + "!Customers") ;
WHERE cust_id = liCurrentID ;
INTO CURSOR csr_CurCust
«Où: ¦ý¬O¶È¦b§A»Ý­n¦b¥´¶}¤F¦h­Ó¸ê®Æ®w®É¤~»Ý­n³o¼Ë°µ. ¹ï¶Ü?

¦w­}: §Ú¤£ª¾¹D <ÁqÁqªÓ>. ¦ý¬O¬°¤°»ò­n±Æ°£¥¦©O? °£¦¹¤§¥~, ¦pªG§Ú¦³¥ô¦ó¦Û¥Ñªí, §Ú·|»Ý­n¨S¦³ DBC ¦ñÀHªº¸ô®|. ¥i¯à§Úªº¹Á¸Õ¤Ó¥©§®¤F, ¦ý¬O²K¥[¨â­ÓÄݩʨäÀ¶}¥¦¬O«Ü®e©öªº. ¦b«á¨Ó§â¥¦­Ì²Õ¦X¦b¤@°_ (¯S§O¬O²{¦b ADDBS() ¬O¦b»y¨¥¨ç¼Æ¤¤) ¤£¬O°ÝÃD.

«Où: §Ú·Q§A¬O¹ïªº. ¨Æ¹ê¤W, §Ú½T«H§A¬O¥¿½Tªº. ¦n¤F, ¨º»ò, §Ú­Ì¤w¸gÀˬd¤F_Screen ¤W­±ªºÄݩʬO§_¦s¦b¡X¥i¯à¨Ï¥Îªº¥N½X¶H³o¼Ë?
IF ! PEMSTATUS( _Screen, 'cDataBase', 5 )
* Äݩʤ£¦s¦b! Something is badly wrong
ASSERT .F. MESSAGE ;
"_Screen ªº cDatabase ÄÝ©Ê¥¼§ä¨ì" )
ENDIF

¦w­}: ·F±o¦n¡X·íµM, ¦pªGÄݩʯuªº¤£¦s¦b, §Ú­Ì¤£±o¤£»°§Ö°h¥X!

«Où: ²{¦b¹ï©ó¹ê»Ú¥N½X. §Ú­Ì¥²¶·Àò±o¸ê®ÆÀô¹Ò¤¤ªº©Ò¦³ª«¥óªº¦Cªí, µM«á³v­ÓÀˬd­þ¤@­Óªº BaseClass ÄݩʬO Cursor. §ä¨ì®É, §Ú­Ì²³æ¦aÀˬd Database Äݩʪº¤º®e (¹ï©ó¦Û¥Ñªí¥¦Á`¬O¬°ªÅ) µM«á¦]¦¹§ó·s Database ©Î CursorSource ÄÝ©Ê. ¥H¤U¬O¥i¥Hª½±µ©ñ¦b Load() ¤¤©Î§ó«ê·í¦a©ñ¦b¤@­Ó±q Load() ¤¤½Õ¥Îªº¤@­Ó¤èªk¤¤:
LOCAL ARRAY laObj[1]
LOCAL lnObjCnt, lnCnt, loObj, lcTable, lcDBC

*** ¨ú±o¸ê®ÆÀô¹Ò¤¤ªº©Ò¦³ª«¥óªº¦Cªí
lnObjCnt=AMEMBERS(laObj, ThisForm.DataEnvironment, 2)

*** ·j¯Á¸Ó¦Cªí
FOR lnCnt = 1 TO lnObjCnt
*** Àˬd¸Óª«¥ó¬O¤£¬O¤@­Ó¹ê»Úªº Cursor
loObj = EVAL( "ThisForm.DataEnvironment." ;
+ laObj[lnCnt] )

IF NOT ( loObj.BaseClass = "Cursor" )
*** ¤£¬O Cursor - ©¿²¤¥¦
LOOP

ENDIF

*** §ä¨ì cursor
IF EMPTY( loObj.DataBase )

*** ³o¬O¤@­Ó¦Û¥Ñªí, ¨ú±o¥¦ªº filename
lcTable = JUSTFNAME( loObj.CursorSource )

*** ²K¥[¥¿½TªºÄÝ©Ê
loObj.CursorSource = ADDBS( _Screen.cDataPath ) ;
+ lcTable

ELSE

*** ¬O¤@­Ó¸j©wªí, ³]¸m DBC
lcDBC = _Screen.cDataBase
loObj.Database = ADDBS( _Screen.cDataPath ) ;
+ lcDBC
ENDIF
NEXT
¦w­}: ¥¦¬Ý°_¨Ó¬Û·íÀu¶®¡X¦ý²¦³ºÁÙ¤£¬O«D±`Àu¶®! ¥u¦³¤@­Ó¸É¥R: ¦b³Ì«á, §Ú­Ì¬O¤£¬O­n­«·s¥´¶}ªí? §Ú­Ì¥u»Ý­n½Õ¥Î¸ê®ÆÀô¹Òªº OpenTables() ¤èªk:
This.DataEnvironment.OpenTables()
«Où: ¥i¯ºªº§Ú. §Ú­Ì·íµM­n³o¼Ë°µ. ¥t¥~, »ÝµM§Ú¦b³o¨Ç¥N½X¤¤¥Î¤F§Aªº _Screen ÄÝ©Ê, ·íµM§Ú­Ì¥ôµM·|Åý¥¦¦¨¬°¥i¥Îªº°Ñ¼Æ. ³o¼Ë¥¦¤]¥i¥H³B²z§Ú­Ì­è¶}©l°Q½×ªº±¡ªp¡X±qªí³æªº Init() ¤¤½Õ¥Î. (¸Ó¤èªk§Ú·|©ñ¤J¨ì§Ú¦Û¤vªº¥N½X¤¤). ¦]¦¹§Úªº³Ì«áªº­×§ï¬O¥Î°Ñ¼Æ¨Ó³B²z¾ã¥ó¨Æ±¡, ¶H¤U­±³o¼Ë:
LPARAMETERS tcDataPath, tcDataBase
IF EMPTY( tcDatabase ) AND ;
! PEMSTATUS( _Screen, 'cDataBase', 5 )
*** µL°Ñ¼Æ©MÄݩʤ£¦s¦b!
*** Some is badly wrong
ASSERT .F. MESSAGE ;
"_Screen ªº cDatabase ÄÝ©Ê¥¼§ä¨ì" )
RETURN .F.
ENDIF
*** ¨Ï¥Î¶Ç»¼ªº°Ñ¼Æ, §_«h¨Ï¥ÎÄÝ©Ê
lcDataPath = IIF( ! EMPTY( tcDataPath ), ;
tcDataPath, _Screen.cDataPath )
lcDataBase = IIF( ! EMPTY( tcDataBase ), ;
tcDataBase, _Screen.cDataBase )
¦w­}: ¤Ó¦n¤F! ²{¦b§Ú­n°µªº¤@¤Á¥u¬O¦b¥N½X¤¤¥ÎÅܼƴÀ´«¤Þ¥Î¨ì _Screen ÄÝ©Ê, ¨Ã¥B§Ú¦³¤F¤@­Ó¯u¥¿ªº¦b¹B¦æ®É¤Á´«¸ê®ÆÀô¹Òªíªº¸ô®|ªº³q¥Î¿ìªk. ÁÂÁ§AªºÀ°§U, «Où.

«Où: ¶â! §ÚÃhºÃ§A¬O§_¤w¸g¥i¥H¦Û¤v°µ¨ì³o¤@ÂI. ³o¬O¤@­Ó¦³½ìªº°ÝÃD, ¨Ã¥B§Ú»{¬°¦b³oùاڭ̦³¤F¤@­Ó¬Û·í¦nªº¤è®×. ¹ê»Ú¥i¥Îªº¥N½X¦b·½¥N½X¤å¥ó¤¤ªº PathSet.prg, ¥i±q http://www.pinnaclepublishing.com/ft ±o¨ì.

­Y»Ý¥»¤åÀHªþµ{¦¡¡A½Ð»P RMH ©Î FBILO Ápô
03KITBOX.ZIP

_________________
#############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~­ì¨Ó©¯ºÖ¨º»ò²³æ!!

¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
±q¤§«eªº¤å³¹¶}©lÅã¥Ü:   
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï ©Ò¦³ªº®É¶¡§¡¬° ¥x¥_®É¶¡ (GMT + 8 ¤p®É)
²Ä1­¶(¦@1­¶)

 
«e©¹:  
±z µLªk ¦b³o­Óª©­±µoªí¤å³¹
±z µLªk ¦b³o­Óª©­±¦^ÂФ峹
±z µLªk ¦b³o­Óª©­±½s¿è¤å³¹
±z µLªk ¦b³o­Óª©­±§R°£¤å³¹
±z µLªk ¦b³o­Óª©­±¶i¦æ§ë²¼
±z µLªk ¦b³o­Óª©­±ªþ¥[ÀÉ®×
±z µLªk ¦b³o­Óª©­±¤U¸üÀÉ®×


Powered by phpBB © 2001, 2005 phpBB Group
¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@