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

±µ¨üVFP8¤¤ªº¶°¦X(Âà¶K)

 
µ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 ¤Q¤G¤ë 10, 2003 9:10 pm    ¤å³¹¥DÃD: ±µ¨üVFP8¤¤ªº¶°¦X(Âà¶K) ¤Þ¨¥¦^ÂÐ

±µ¨üVFP8¤¤ªº¶°¦X
¨Ó·½:µ£¤ß¥¼¯v
http://childish.meibu.com/dvbbs/dispbbs.asp?boardID=84&ID=3954


§@ªÌ¡GAndy Kramek & Marcia Akins
ĶªÌ¡Gfbilo
Visual FoxPro 8.0 ¤¤·s¼Wªº´X­Ó°òÃþ·¥¤jªºÂX®i¤F³o­Ó²£«~ªº¥\¯à¡C¤£¹L¡A¦pªG±q²{¦³À³¥Îµ{¦¡ªº¨¤«×¨Ó¬Ý¡A§Ú­Ì»Ý­n¹Á¸Õ¨Ã§P©w¬O§_¯uªº»Ý­n¥Î¥¦­Ì¨Ó¥N´À¤w¦³¥N½X¤¤ªº¬ÛÀ³³¡¤À¡C¨ä¤¤¤@­Ó·sÃþ´N¬O¡§Collection¡]¶°¦X¡^¡¨°òÃþ¡C¦b³o­Ó¤ëªº±MÄ椤¡AAndy Kramek ¡]¥H¤U²ºÙ¦w­}¡^©M Marcia Akins ¡]¥H¤U²ºÙº¿¦èÔÕ¡^¦Ò¹î¤F¤@¤U¨ì©³¤°»ò¬O¶°¦XÃþ¡B¥¦¬O«ç»ò¤u§@ªº¡B¥H¤Î¥¦¯à¦b Visual FoxPro ¤¤¬°§Ú­Ì°µ¨Ç¤°»ò¡C
º¿¦èÔÕ¡G·s¦~§Ö¼Ö¡A¦w­}¡AÁÙ¦³©Ò¦³ªºÅªªÌ¡A¤]¯¬§A­Ì·s¦~§Ö¼Ö¡C§Ú­Ì³£§Æ±æ·sªº¤@¦~±N¥u±aµ¹§A¦n¨Æ¨à¡I°²´ÁùاA¬O«ç»ò¹Lªº¡H
¦w­}¡G°£¤F¶H©¹±`¤@¼Ë¦b¦Y³Üª±¼Ö¥H¥~¡A§Ú¦bª± 8.0 Beta¡C¥¦¦³³\¦h«D±`»Åªº·sªF¦è¡A¤£¹L¨ä¤¤¦³¤@¼ËªF¦è§Ú¤£½T©w·|¦³¤°»ò¦n³B¡A¥¦´N¬O¡§¶°¦X¡¨¡C
º¿¦èÔÕ¡G¤j¦h¼Æªº Microsoft ²£«~³£¼sªxªº¨Ï¥Î¶°¦X¡X¡X¨Æ¹ê¤W¡AVisual FoxPro ùبS¦³¶°¦X¤Ï¦ÓÅý¥¦Åã±o¦³¨Ç©Ç»÷¡C
¦w­}¡G¬Oªº¡A¤£¹L¨ì©³¶°¦X¬O¤°»òªF¦è©O¡H¬O§_¥¦´N¬O°}¦Cªº¤@­Óªá¦W¡H²¦³º¡A§Ú­Ì¦b Visual FoxPro ¤¤¤w¸g¦³¤F§A¯à°÷·Q¨ìªº©Ò¦³»Ý­n¥Î¨Ó³B²z°}¦Cªº¥\¯à¡A¦pªG§A¥Î¹L¤F¤µ¦~¦­¨Ç®É­Ô§Ú­Ì°Q½×¹Lªº¨º­ÓÃþ¡]¨£ FoxTalk 2002¦~2¤ë¥Z¤¤ªº¡m§Ú­ÌÀ³¸Ó¥Î¦n°}¦C¡n¤@¤å¡^¡A§A´N¯à°÷«Ü»´ÃP¼W±j VFP ¦b°}¦Cªº¤¸¯À­Ì¡B¦æ¡B¦C¤¤¶i¦æ·j¯Áªº¯à¤O¡C
º¿¦èÔÕ¡G¦nªº¡A¦b Visual Basic ªºÀ°§U¤¤¹ï¶°¦Xªº©w¸q¬O¡G
¡§¤@­Ó¶°¦X¡A¬O¥i¥H·í§@¤@­Ó³æ¤¸¡]unit¡^³Q¤Þ¥Îªº¸g¹L±Æ§Ç¤Fªº¤@®M¸ê®Æ¶µ¥Ø¡C¡¨
À°§U¤¤ÁÙÄ~Äò«ü¥X¡A¶°¦X´£¨Ñ¤F¤@ºØ²©öªº¡§§â¤@²Õ¬ÛÃöªº¸ê®Æ¶µ¥Ø·í§@³æ­Óª«¥ó¨Ó¤Þ¥Î¡¨ªº³~®|¡CÁ`¤§¡A¥¦«ü¥X¶°¦X³Ì¥D­nªº¦n³B¬O¦b¤@­Ó¶°¦X¤¤ªº¸ê®Æ¶µ¥Ø¡]©ÎªÌ¥s°µ¡§¦¨­û¡¨¡^¤£»Ý­n¬O¦P¤@¸ê®ÆÃþ«¬ªº¡C
¦w­}¡G§Ú¥i¥H²z¸Ñ¦b Visual Basic ¤¤³o¬O¤@­Ó«Ü¤jªº¦n³B¡A¦]¬°¦pªG§A§â°}¦C©w¸q¬°ª«¥óÃþ«¬¡A¨º»ò³o¬O°ß¤@Åý°}¦C¡X¡X©ÎªÌ¶°¦X¡X¡X¥i¥H¨Ï¥Î¤£¦PÃþ«¬¸ê®Æªº¿ìªk¡C§Ú©_©Çªº¬O¦b Visual FoxPro ¤¤³o»ò°µ¯uªº¦³¦n³B¶Ü¡H§Ú­Ì¥»¨Ó´N¥i¥H¦b°}¦C¤¤¨Ï¥Î²V¦X¸ê®ÆÃþ«¬¤F¡C
º¿¦èÔÕ¡G¬Oªº¡A¤]³\¯uªº¨S¦³³o­Ó¦n³B¡C¦³½ìªº¬O¡AVisual FoxPro À°§UÀɤ¤¹ï¶°¦Xªº©w¸q«o¬O«D±`¤£¦Pªº¡G
¡§§A¥i¥H§â¶°¦X(Collection)¥Î§@±N¤@¨t¦C¬ÛÃöªº¸ê®Æ¶µ¥Ø(Item)¡X¡X³q±`¥¦­Ì¬O¤@¨Çª«¥ó¡X¡X¤À¦¨¤@²Õ¡A³o¨Ç¸ê®Æ¶µ¥Ø¥i¥H¬O¥ô¦óÃþ«¬ªº¡C¶°¦X´£¨Ñ¤F¤@ºØ¹ï¦sÀx¦b®e¾¹¤¤ªºª«¥ó­Ì¶i¦æ¾Þ§@ªº¾÷¨î¡A¨Ã¥B´£¨Ñ¤F¤@ºØ³X°Ý©MÅ|¥N¦b¤@­Ó¶°¦X¤¤ªºª«¥ó­Ìªº³~®|¡C¶°¦XÃþªí²{¬°¤@­Ó¯u¥¿ªº®e¾¹Ãþ¡AÁöµM¥¦¤£¹³ªí³æ©M­¶®ØÃþ¨º¼Ë¦³ AddObject ¤èªk¡C¡¨
¦w­}¡G¶â¡A¬Oªº¡A¥¦½T¹ê´£¨Ñ¤F¤@ºØ¤£¦Pªº¾÷¨î¡A¤£¬O¶Ü¡H¬JµM§A¤w¸g¥´¶}¤FÀ°§UÀÉ¡A¨º»ò Visual FoxPro ªº¶°¦XÃþ¦³­þ¨ÇÄÝ©Ê¡B®É¶¡©M¤èªk©O¡H
º¿¦èÔÕ¡GºJ¶}¨º¨Ç©Ò¦³Ãþ³£·|¦³ªº¼Ð·Ç PEMs ¡]PEMs¡G«üÄÝ©Ê¡B¨Æ¥ó©M¤èªk¡^¡X¡XBaseClass¡BClass¡BInit()¡BError()¡B¥H¤Î Destory()µ¥µ¥¡X¡X¤£½Í¡A§Ú¦bªí1¤¤¦C¥X¤F¨ä¥L±M¥Îªº Pems¡A¨Ã¤@¨Ö´£¨Ñ¤F¤@­Ó²­nªº¸ÑÄÀ¡C
¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X
ªí1.¶°¦XÃþªºÄÝ©Ê©M¤èªk
¦WºÙ Ãþ«¬ ¸ÑÄÀ
Count P ¦b¤@­Ó¶°¦X¤¤¥]§t¸ê®Æ¶µ¥Øªº¼Æ¶q¡A¦Û°ÊºûÅ@¡C·í¶°¦X¬°ªÅªº®É­Ô¡ACount = 0¡]ª`·N¡G³o­ÓCountÄݩʬO°ßŪªº¡^¡C
KeySort P ©w¸q¶¶§Çªº¤@­Ó¼Æ­È«¬­È¡C¥Î©ó¶H¨Ï¥Î For Each...Next °j°é¨Ó¹M¾ä¤@­Ó¶°¦Xªº±¡ªp¡C¥i¥Îªº­È¦³¡G
0 ¡]Àq»{¡^«öª@¾­±Æ¦Cªº¸ê®Æ¶µ¥Ø¯Á¤Þ­È¡]1,2,3...n¡^
1 ¸ê®Æ¶µ¥Ø¯Á¤Þ­È«ö­°¾­±Æ¦C(n...3,2,1)
2 ¸ê®Æ¶µ¥ØªºÁä¡]key¡^«öª@¾­±Æ¦C¡]A,B,C...Z¡^
3 ¸ê®Æ¶µ¥ØªºÁä¡]key¡^«ö­°¾­±Æ¦C¡]Z...C,B,A¡^
Add M µ¹¶°¦X²K¥[¤@­Ó¸ê®Æ¶µ¥Ø(Item)¡C§A¥i¥Hµ¹¸ê®Æ¶µ¥Ø¡]Item¡^«ü©w¤@­ÓÁä¡]Key¡^¡A¤]¥i¥H«ü©w¥¦¦b¶°¦X¤¤¬Û¹ï©ó¨ä¥L¤w¦³ªº¸ê®Æ¶µ¥Øªº¦ì¸m¡]¤§«e©Î¤§«á¡^¡C¶°¦XªºCountÄÝ©Ê·|¦Û°Ê¼W¥[¡C
Remove M ¥Î«ü©wªº¯Á¤Þ­È±q¶°¦X¤¤§R°£¤@­Ó¸ê®Æ¶µ¥Ø¡C¶°¦XªºCountÄÝ©Ê·|¦Û°Ê´î¤p¡C¡]ª`·N¡G§A¥i¥H¥ÎGetKey()¤èªk¨Óªð¦^¤@­Óª¾¹D¦W¦rªº¸ê®Æ¶µ¥Øªº¯Á¤Þ­È¡^
GetKey M ªð¦^¤@­Ó¸ê®Æ¶µ¥Ø¦b¶°¦X¤¤¬ÛÀ³ªº¯Á¤Þ­È¡C¦pªGµ¹¥¦¶Ç»¼¤@­Ó¼Æ­È«¬ªº­È¡A«hªð¦^Áä¡]¦pªG¤w¸gµ¹¸ê®Æ¶µ¥Ø«ü©w¤FÁ䪺¸Ü¡^©ÎªÌ¤@­ÓªÅ¦r¦ê¡C¦pªGµ¹¥¦¶Ç»¼¤@­Ó¦r¤¸«¬­È¡A«hªð¦^¬ÛÀ³ªº¸ê®Æ¶µ¥Øªº¯Á¤Þ­È©Î0¡C¦pªGµ¹¥¦¶Ç»¼¨ä¥L¥ô¦óÃþ«¬ªº­È¡A«h·|¼u¥X¤@­Ó¡§¨ç¼ÆÅܼƪº­È¡B¸ê®ÆÃþ«¬©ÎªÌ¼Æ¶qµL®Ä¡¨ªº¿ù»~¡]¿ù»~¸¹11¡^¡C
Item M ªð¦^«ü©wªº¶°¦X¦¨­û¡]Collection member¡^¡C¥i¥H¨Ï¥Î¼Æ­È«¬ªº¯Á¤Þ¡A¤]¥i¥H¨Ï¥Î¦r¤¸«¬ªºÁä¡C¦pªG«ü©wªº¸ê®Æ¶µ¥Ø¤£¦s¦b¡A·|¼u¥X¤@­Ó¡§¯Á¤Þ©Î¹Bºâ¦¡»P¶°¦Xªº¥ô¤@­Ó¦¨­û¤£¤Ç°t¡¨¿ù»~¡]¿ù»~¸¹2061¡^¡C
¦w­}¡G§Úª`·N¨ì¤@¥ó¨Æ±¡¡GKeysort ªº­È¬O¥H 0 ¬°°ò¼Æªº¡I³o¦b Visual FoxPro ¤¤¯u¬O«D±`¤Ö¨£¡A³q±`§Ú­ÌÁ`¬O¥Î1¨ì4¦Ó¤£¬O0¨ì3¨Óªí¥Ü¥|­Ó¿ï¶µ¡C§Úªº·N«ä¬O»¡¡A§Ú­Ì¦³¤­ºØ½w½Ä¼Ò¦¡¡]¥]¬A¤£¥´¶}½w½Ä¡^¡A¥¦­Ìªº½s¸¹¬O±q1¨ì5¡A¶H SourceType¡BUpdateType ©M WhereType ³o¼ËªºÄݩʱ¡ªp¤]»P¦¹Ãþ¦ü¡A³£¬O±q1¨ìn¡C
º¿¦èÔÕ¡G¬Oªº¡A¦b Visual FoxPro ªºÆ[©À¤¤³oªº½T¦³ÂI©Ç²§¡A¤£¹L¥H0¬°°ò¼Æªº±¡ªp¦b COM ³¡¥ó©M ActiveX ±±¨î¶µ¤¤¬Û·íªº±`¨£¡C¥u­n¦bª«¥ó¬yÄý¾¹¤¤Àˬd¥ô¦óÃþ«¬®w¡A§A³£·|¬Ý¨ì¤j¶q³o¼Ëªº±¡ªp¡C
¦w­}¡G«Ü¦X²z¡]ÁöµM¥L³o»ò»¡¡A¤£¹L«o¤£¬O¯uªº«HªA¤F¡^¡C¨º»ò³o­Ó·sªº¶°¦XÃþ¦³¤°»ò¦n³B©O¡H
º¿¦èÔÕ¡G­º¥ý¡AÅý§Ú­Ì¥ý·d²M·¡¤@¥ó¨Æ±¡¡G§A¯à°÷¦b Visual FoxPro ¤¤µ²¦X¨Ï¥Î°}¦C©M Access/Assign ¤èªk¦Û¤v¥h¹ê²{¶°¦X¡C©Ò¥H¶°¦X¨Ã¤£¬O¤°»ò·sÂA¨Æª«¡A¥u¤£¹L²{¦b¤£»Ý­n§A¦Û¤v¥h¼g¥N½X¨Ó¹ê²{¶°¦X¤F¡A²{¦b¥¦­Ì¬O VFP ¦Û±aªº¡C»P°}¦C¬Û¤ñ¡A¶°¦X¥D­n¦³¤T­Ó¦n³B¡G
¡Ñ Count ÄݩʬO¦Û°ÊºûÅ@ªº¡C³o¼Ë§Ú­Ì´NÂ\²æ¤F­«­nªºÀˬd°}¦Cªºªø«×¡B´ú¸Õ¨C¤@¦C¥H§P©w¬Y¤@¦æ¬O§_¬°ªÅªº¤u§@¡C
¡Ñ §A¥i¥H¥Î¤@­Óªí¥Ü¸ê®Æ¶µ¥Ø¦b¶°¦X¤¤¦ì§}ªº¯Á¤Þ­È©ÎªÌ¥Î¤@­Ó¦³·N¸qªºÁä¨Ó«ü©w¸ê®Æ¶µ¥Ø¡A§A¥i¥H®Ú¾Ú¦Û¤vªº»Ý­n¿ï¾Ü­þºØ¦ì§}¼Ò¦¡¡C
¡Ñ ¶°¦XÃþ¦³¦Û±aªº²K¥[¡B§R°£¤@­Ó¸ê®Æ¶µ¥Øªº¤èªk¡C
¦w­}¡G¨º»òÅý§Ú­Ì¨Ó¤ñ¸û¤@¤U¡C¤U­±¬O¤@¨Ç¥N½X¡A¥¦«Ø¥ß¤@­Ó¦W¬°¡§fruits¡]¤ôªG¡^¡¨ªº°}¦C¡A¸Ó°}¦C¦³¥|­Ó¤¸¯À¡G
Dimension afruits[4,2]
aFruits[1,1] = NEWOBJECT( 'Empty')
aFruits[1,2] = "Apples" && Ä«ªG
aFruits[2,1] = NEWOBJECT( 'Empty')
aFruits[2,2] = "Bananas" && ­»¿¼
aFruits[3,1] = NEWOBJECT( 'Empty')
aFruits[3,2] = "Cherriess" && Äå®ç
aFruits[4,1] = NEWOBJECT( 'Empty')
aFruits[4,2] = "Dansons" && µµ¸²µå
º¿¦èÔÕ: ¦Ó¦P¼Ë®ÄªGªº«Ø¥ß¤@­Ó¤ôªG¶°¦Xªº¥N½X¦p¤U¡]¶¶«K°Ý¤@¥y¡A¤°»ò¬O Dansons¡H¡^
oFruit = Newobject("collection")
oFruit.Add( Newobject( 'Empty' ), 'Apples')
oFruit.Add( Newobject( 'Empty' ), 'Bananas')
oFruit.Add( Newobject( 'Empty' ), 'Cherriess')
oFruit.Add( Newobject( 'Empty' ), 'Dansons')
¦w­}¡GDansons ¬O¤@ºØ¤pªºµµ¦â¸²µå¡]§Ú±q¥¦ªº¦W¦r¨Ó±À´ú¥¦¥i¯à³q±`¬O±q¤j°¨¤h­²¶i¤fªº¡^¡C§Ú¤£±o¤£»¡¡A§Aªº¥N½X«Ü²¼ä¡C²{¦b¡AÅý§Ú­Ì¦A¬Ý¬Ý¡X¡X§Ú¦³¨âºØ¤èªk¥i¥H¨ú±o¤@­Ó¹ï§Ú°}¦C¤¤ªº Cherries ª«¥óªº¤Þ¥Î¡C²Ä¤@ºØ¡A¦pªG§Úª¾¹D²Ä3¦æ²Ä1¦C¬O Cherry ª«¥óªº¸Ü¡A§Ú¥i¥Hª½±µ³X°Ý°}¦Cªº[3,1]¤¸¯À¡C
loCherry = aFruits[3,1]
º¿¦èÔÕ¡G«Ü©êºp¡A¹ê»Ú±¡ªp¤¤³q±`¨S³o»ò¼ÖÆ[¡C§AÃø¹D·|¨C¦¸³£·Ç½Tªºª¾¹D¦æ¸¹©M¦C¸¹¡H³q±`¬°¤F§ä¨ì·Q­nªº¸ê°T³£·|»Ý­n¸ò¥N½X¾Ä°«¤@µf¡C¤£¹L¡A´N¨Æ½×¨Æ¡A¥Î¶°¦X­n³o»ò°µ¤]«Ü²³æ¡G
loCherry = oFruit.Item(3)
¦w­}¡G¬Oªº¡A©Ò¥H³q±`§Ú³£¬O¥Î ASCAN() ¨Ó¦b²Ä¤G¦C¤¤·j¯Á¡§cherries¡¨³o­Ó¦W¦r¡A¦Aªð¦^¦æ¸¹¡CµM«á§Ú´N¥i¥H±q³o¤@¦æªº²Ä¤G¦C¨ÓÀò±o¹ï¸Ó¹ï¶Hªº¤Þ¥Î¡A´N¹³³o¼Ë¡G
lnRow = ASCAN( aFruits, 'cherries', -1, -1, 2, 15)
loCherry = aFruits( lnRow, 1)
(ª`·N¡G¦pªG§A¥Îªº¤£¬O VFP 7¡A¨º»ò§A´N¤£¯à³o»ò°µ¡C¤£¹L¬°¤°»ò§AÁÙ¨S¥Î¤W VFP 7.0¡H°¨¤W¤É¯Å§a¡I¡^
º¿¦èÔÕ¡G«Ü²¼ä¡X¡X§A¥u»Ý­n°O¦í§A»Ý­n¥Î¨â­Ó ¡Ð1 ¨Óªí¥Ü¶}©l·j¯Áªº¦ì¸m©M­n·j¯Á¤¸¯Àªº­Ó¼Æ¡B¤@­Ó 2 ¨Ó­­¨î¦b²Ä2¦C¤¤·j¯Á¡B¤@­Ó 15 ªí¥Ü°õ¦æªº¬O¤j¤p¼g¤£±Ó·P·j¯Á¨Ã¥B Exact ¬° ON¡A³o¼Ë´N·|ªð¦^§ä¨ìªº¦æ¸¹¡C¤£¹L§Ú§ó³ßÅw¶H³o¼Ë¥Î¶°¦X¡I
loCherry = oFruit.Item( 'Cherries' )
¦w­}¡G¶â¡I¾¨ºÞ³o­ÓÁä¬O¤j¤p¼g±Ó·Pªº¡A¤£¹L§ÚÁÙ¬O¶}©l¦P·N§Aªº·N¨£¤F¡X¡X³o¹ê¦b¬O²³æªº¤Ó¦h¤F¡C
º¿¦èÔÕ¡GOK¡A²{¦bÅý§Ú­Ì±q§Ú­Ìªº¶°¦X©M°}¦C¤¤¤À§O§R°£ Cherry ª«¥ó¡C§A·|«ç»ò°µ¡H
¦w­}¡G¨º«Ü²³æ¡A´N¬O¥Î ADEL()¡C·íµM¡A§Ú­Ì­º¥ý»Ý­n¨ú±o­n³Q§R°£ªº¸ê®Æ¶µ¥Øªº¯Á¤Þ­È¡A©Ò¥H§Ú­Ì´N»Ý­n¦³¨â¦æ¥N½X¡A¶H³o¼Ë¡G
lnRow = ASCAN( aFruits, 'cherries', -1, -1, 2, 15)
ADEL( aFruits, lnRow)
º¿¦èÔÕ¡G¥i§A¨Ã¨S¦³§R°®²b¡I²{¦b§Aªº°}¦C¤¤´N·|¦³¤@­ÓªÅªº¦C¡X¡X§AÁٻݭn­«·s©w¸q¤@¤U³o­Ó°}¦C¡C
¦w­}¡G®@¡A¬Oªº¡A·íµM¡I©Ò¥H§¹¾ãªº¥N½XÀ³¸Ó¬O¡G
lnLen = ALEN( aFruits, 1)
lnRow = ASCAN( aFruits, 'cherries', -1, -1, 2, 15)
ADEL( aFruits, lnRow)
DIMESSION aFruits[ lnLen - 1, 2]
º¿¦èÔÕ¡G¦Ó¦b¶°¦X¤¤¬ÛÀ³ªº¥N½X¬O³o¼Ëªº¡G
oFruit.Remove( 'Cherries' )
Ta-da!
¦w­}¡G§ÚªA¤F¡I³o­Ó¶°¦XºûÅ@°_¨Ó¤ñ°}¦C²³æªº¤Ó¦h¤F¡CÁÙ¦³¤@¨Ç¤°»ò§Ú­Ì¥i¥H°µªº¶Ü¡H
º¿¦èÔÕ¡G¬Oªº¡C¦pªG§A¶Ç»¼¤@­Ó¯Á¤Þ­È¡AGetKey() ¤èªk·|ªð¦^¹ïÀ³ªºÁä¡A´N¶H³o¼Ë¡G
FOR lnCnt = 1 TO oFruit.Count
lcKey = oFruit.GetKey( lnCnt )
IF LOWER( lcKey ) = "damsons"
*** ©¿²¤ damsons
ELSE
*** ³B²z©Ò¦³¨ä¥Lªº¤ôªG
ENDIF
NEXT
¦w­}¡G§Ú·Q¦pªG§Aª¾¹DÁ䪺¸Ü¤]¥i¥H¥Î¥¦¨Ó¨ú±o¯Á¤Þ­È¡]¾¨ºÞ§Ú¶}©l©_©Ç¬°¤°»ò·|¦³¤H¾Þ¤ß³o¨Ç¡^¡A´N¶H³o¼Ë¡G
lnIndex = oFruit.GetKey( 'Damsons' )
º¿¦èÔÕ¡G¤£¹L¡A§Ú­ÌÁÙ¨S¦³ª`·N¨ì¶°¦XÃþ¾Ö¦³ªº³Ì­«­nªº¥\¯à¡G¥¦¬O¤@­Ó Visual FoxPro ªº°òÃþ¡A©Ò¥H§A¥i¥H«Ø¥ß¥¦ªº¤lÃþ¡I³o´N·N¨ýµÛ§Ú­Ì¥i¥H«Ø¥ß¦Û¤vªº¶°¦XÃþ¡A¨Ãµ¹¥¦²K¥[¦Û©w¸qÄÝ©Ê©M¤èªk¡C
¦w­}¡G¨º»ò§Ú·Q§A·|»¡ªº´N¬O¡G¤£ºÞ§A¦bÂÂ¥N½Xªº¤°»ò¦a¤è§ä¨ì¤@­Ó°}¦C¡A§A³£¯à§â¥¦´À´«¦¨¤@­Ó¶°¦X¡C¦ý§ó­«­nªº¬O¡A§A¥i¥H§â¥¦´À´«¦¨¤@­Ó¤£¶È¯à¶H°}¦C¨º¼Ë¦sÀx¸ê®Æ¡BÁÙ¥i¥H§â³B²z°}¦Cªº¥N½X³£¶°¦¨°_¨Óªº¶°¦XÃþ¡C´«¥y¸Ü¨Ó»¡¡A§A¯à°÷«Ê¸Ë¤@­Ó°}¦C¤F¡C
º¿¦èÔÕ¡G¥¿½T¡C³o½g¤å³¹ªºªþ¥ó¥]§t¤F¤@­Ó­±¦V¦UºØÃþ«¬ªºÀɪº¦Û©w¸q¶°¦XÃþ¡A¥¦´N°µ¨ì¤F§A»¡ªº¨º¨Ç¨Æ¨à¡CÃþ®w colbase.vcx ¥]§t¤@­Ó®ÚÃþ¡]colfiles¡^©M¤@¨Ç±M¥Î©ó PRG ¤å¥ó¡Bªí³æ©MÃþ®wªº¤lÃþ¡]colprgs¡Bcolforms ©M colvcxs¡^¡C
¦w­}¡GCool¡C¥¦¬O«ç»ò¤u§@ªº¡H
º¿¦èÔÕ¡G¦n¡A¨C­Ó¤lÃþ¦³¥|­Ó»Ý­n§A³]¸mªº¦Û©w¸qÄÝ©Ê¡A¦pªí2
________________________________________________________
ªí2.¦Û©w¸q¶°¦XÃþªºÄÝ©Ê
ÄÝ©Ê ¸ÑÄÀ
cfiletype ¦b·í«e¶°¦X¤¤ªºÀÉÃþ«¬¡C©w¸q¦b®ÚÃþ¤¤ªº¹w³]­È³£¬O¡]"*"¡^¡C¦b¦U­Ó¤lÃþ¤¤«ü©w¬ÛÀ³ªº°ÆÀɦW¡]¨Ò¦p ¡§PRG¡¨¡B¡§SCX¡¨¡B©ÎªÌ¡§VCX¡¨¡^¡C
copencmd ¥Î¨Ó±q¶°¦X¤¤¥´¶}¤@­ÓÀɪº©R¥O¡C¹w³]­È¬°ªÅ¡C¦pªG¤°»ò³£¨S¦³«ü©w¡A·í²Ä¤@¦¸½Õ¥Î FileModify() ¤èªkªº®É­Ô·|¥´¶}¤@­Ó Inputbox Åý§A¿é¤J¥²­nªº©R¥O¡C
cruncmd ¥Î¨Ó±q¶°¦X¤¤¹B¦æ¤@­ÓÀɪº©R¥O¡C¹w³]­È¬°ªÅ¡C¦pªG¤°»ò³£¨S¦³«ü©w¡A·í²Ä¤@¦¸½Õ¥Î FileRun() ¤èªkªº®É­Ô·|¥´¶}¤@­Ó Inputbox Åý§A¿é¤J¥²­nªº©R¥O¡C
laddquotes ·í³]¸m¬° .T. ªº®É­Ô·|¦b¹B¦æ Modify ©ÎªÌ Run ©R¥Oªº®É­Ô¦bÀɮצWªº¨âºÝ¥[¤W¤Þ¸¹¡C¹w³]­È¬° .F.¡C
¦w­}¡G§Ú²z¸Ñ¤F¡C¨º»ò¡A¹ï©ó colprgs ¤lÃþ¨Ó»¡¡A°ß¤@­n°µªº´N¬O³]¸m cFileType = "PRG"¡BcOpenCmd = "Modify Command"¡BcRunCmd = "DO"¡C§Ú­Ì¤£»Ý­n¤Þ¸¹¡A©Ò¥H¥i¥H§â lAddQuotes «O¯d¬°¹w³]­È¡C¨º»òÃö©ó³o¨ÇÃþªº¤èªk¦³¤°»ò­n»¡ªº¶Ü¡H
º¿¦èÔÕ¡G¤]¥u¦³¤@ÂIÂI­n°µªºªF¦è¡A¦]¬°¤j¦h¼Æ»Ý­nªº¥\¯à³£¤w¸g¥Ñ¶°¦XÃþ¦Û¤v°µ¦n¤F¡C³Ñ¤Uªº´N¬O«Ê¸Ë¤@¨Ç³B²zÀɪº±M¥Î¤èªk¤F¡Cªí3¦C¥X¤F³o¨Ç¦Û©w¸q¤èªk¡G
¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X¡X
ªí3.¦Û©w¸q¶°¦XÃþªº¤èªk
¤èªk ¸ÑÄÀ
filesadd ±q·í«e¤u§@¸ô®|¤¤ªð¦^«ü©wÃþ«¬ªº¤å¥ó©M²Ä¤@¼h¤l¥Ø¿ý¡A¨Ã§â¥¦­Ì²K¥[¨ì¶°¦X¤¤¥h¡C¥Î¨ì¤F cFileType ÄÝ©Ê«ü©wªºÀÉ·§­n¡C
fileslist «Ø¥ß¤@­Ó¦b¶°¦X¤¤©Ò¦³Àɪº¦Cªí¡A¨Ã¥Î¤@­Ó¼u¥X¥\¯àªí¨ÓÅã¥Ü¥¦­Ì¡C¿ï©wªºÀɳQ«O¦s¨ì cSelFile ÄÝ©Ê¡A¥H¨Ñ Run ©M Modify ¤èªk¨Ï¥Î¡C
filemodify ¥Î cOpenCmd Äݩʤ¤«ü©wªº©R¥O¥´¶} cSelFile Äݩʤ¤«ü©wªºÀÉ¡C¦pªG cSelFile ¬°ªÅ¡A«h½Õ¥Î Fileslist() ¤èªk¡C
filerun ¥Î cRunCmd Äݩʤ¤«ü©wªº©R¥O¹B¦æ cSelFile Äݩʤ¤«ü©wªºÀÉ¡C
makefileobj ³o¬O¤@­Ó¨ü«OÅ@ªº¤èªk¡Aµ¹¥¦¶Ç»¼¸ô®|©MÀɮצW°Ñ¼Æ¡A¥¦·|ªð¦^¤@­Ó±N³Q²K¥[¨ì¶°¦X¤¤¥hªºÀɪ«¥ó¡C
¦w­}¡G´N¬Ý¬Ý¦b FilesAdd() ¤èªk¤¤ªº¥N½X§a¡A§Ú¬Ý¨ì¥¦´N¬O¤@¬q´¶³qªº VFP ¥N½X¡A¥Î ADIR() ©M¥»¦a°}¦C¨Ó«Ø¥ß¤@­Ó·í«e¥Ø¿ý¤UÀɪº¦Cªí¡CMakeFileObj() ¤èªk¥u¬O¥Î¨ì¤F Empty °òÃþ¡A¨Ãµ¹¥¦²K¥[¤F¤@¨Ç°ò¥»ªºÀÉÄÝ©Ê¡G¤@­ÓÀɮצW¡B¸ô®|¡BÀÉÃþ«¬¡B¥H¤Î¤@­Ó¡§RunAs¡¨(´N§Ú©Ò¨£¡A¥¦¥u¬O§â¸ô®|©MÀɮצW¥[°_¨Ó¦Ó¤w)¡AµM«áªð¦^ Empty ª«¥ó¡C§Ú¬Ý¨ìªº°ß¤@±M¥Î¤_¶°¦Xªº¥N½X´N¥u¦³³o¤@¦æ¡G
This.Add( loFile, JUSTSTEM( lajunk[ lnFCnt, 1]) )
º¿¦èÔÕ¡GªF¦è´N¨º»ò¦h¡X¡XloFile ¬OÀɪ«¥ó¡A¦Ó¡§lajunk¡¨ùØ¥]§tªº¬OÀɮצW¡A§Ú­Ì¥Î¥¦¨Ó§@¬°¸ÓÀɪ«¥ó¦b¶°¦X¤¤ªºÁä¡AFileList() ¤èªk¤]¥Î¨ì¨Ã·|Åã¥Ü³o­ÓÁä¡C¨º¨Ç³£¤Ó²³æ¤F¡C¦p§A©Ò¨£¡A¤j¦h¼Æªº¥N½X³£¬O»Pºc³y¼u¥X¤å¥ó¦Cªí¦³ÃöªºªF¦è¡C§Ú­Ì¨Ï¥Î¶°¦Xªº Count Äݩʨӱ±¨î¥\¯àªíªº¥Í¦¨¹Lµ{¡A¥Î Getkey()¤èªk¨Óªð¦^§Ú­Ì§@¬°ÁäÀx¦sªºÀɮצW¡C
LOCAL lnBar, lnCnt, lcName
PRIVATE pcSelFile
WITH This
DEFINE POPUP shortcut SHORTCUT RELATIVE
FROM MROW(),MCOL()
lnBar = 0
FOR lnCnt = 1 TO .Count
lcName = PROPER( .GetKey( lnCnt ))
lnBar = lnBar + 1
DEFINE BAR (lnBar) OF shortcut PROMPT (lcName)
ON SELECTION BAR (lnBar) OF shortcut
pcSelFile = PROMPT()
IF lnCnt < .Count
*** µ¹°£¤F³Ì«á¤@¶µ¥H¥~ªº©Ò¦³¥\¯àªí¶µ²K¥[¤@­Ó°_¹º¤À§@¥Îªº¦æ
lnBar = lnBar + 1
DEFINE BAR (lnBar) OF shortcut PROMPT "\-"
ENDIF
NEXT
ACTIVATE POPUP shortcut
*** §â¿ï¾Ü«O¦s¨ìÄÝ©ÊùØ
*** ¡]ª`·N¡GÁä¦W³£¬O¤j¼gªº)
.cSelFile = UPPER( ALLTRIM( pcSelFile ))
ENDWITH
¦w­}¡GGetKey() ¤èªk¦b³oùؤӦ³¥Î¤F¡X¡X¸ò¾Þ§@¤@­Ó°}¦C¬Û¤ñ¡A¥¦¹ê¦b¬O¤Ó²³æ¤F¡C·íµM¡A§Ú­Ì¥u¬O¥Î¨º­ÓÁä¨ÓÀò±oÀɮצW...ÁÙ¦³§Oªº¦a¤è­n¥Î¨ì³o­ÓÀɪ«¥ó¶Ü¡H
º¿¦èÔÕ¡G®@¡A¬Oªº¡A¦b Run ©M Modify ¤èªkùØ¡C«Ø¥ßÀɪ«¥óªº²z¥Ñ¡A¬O§Ú­Ì¥i¥Hª½±µ³X°Ý¥¦ªºÄÝ©Ê¡C¦b Modify ©M Run ¤èªkùاڭ̱q cSelFile ÄݩʨÓÀò±o§Ú­Ì·Q­n¥Î¨ìªºÀɪºÀɮצW¡AµM«á¨Ï¥Î³o­Ó¶°¦Xªº Item() ¤èªk¨Ó¥ÎÁä¦W¨Óªð¦^¸Óª«¥ó¥»¨­¡C³o¼Ë§Ú­Ì´N¥i¥H³X°Ý¥¦ªº¥ô¦óÄݩʤF¡G
*** ¨Ï¥ÎÁä¦W¨Óªð¦^Àɪ«¥ó
loFile = .Item( lcFile )
¦w­}¡GÁÙ¦³¤@­Ó¦n³B¬O¡A¦pªG§A»Ý­nªº¸Ü¡A§A¥i¥H§â¥¦«Ø¥ß¬°¤@­Ó¥iµøÃþ¡C¨º»ò­n¨Ï¥Î³o­ÓÃþ¨Ó½s¿è§Úªºµ{¦¡Àɪº¸Ü¡A¥u»Ý­n°µ¡G
*** «Ø¥ßÀɶ°¦X
oPrgs = NEWOBJECT( 'colprgs', 'colclass.vcx' )
*** ²K¥[·í«e¥Ø¿ý¤Uªº©Ò¦³ PRG ÀÉ©M²Ä¤@¼h¤l¥Ø¿ý
oPrgs.FileAdd()
*** ¦b¤@­Ó¥\¯àªí¤¤Åã¥ÜÀɦCªí
oPrgs.FileList()
*** ½s¿è¿ï¤¤ªºÀÉ
oPrgs.FileModify()
*** ¹B¦æ¿ï¤¤ªºÀÉ
oPrgs.FileRun()
*** ¥t¿ï¤@­ÓÀÉ
oPrgs.FileList()
º¿¦èÔÕ¡G¥N½Xªº¶¶§Ç¬O¥¿½Tªº¡A¤£¹L§A¨Ã¤£»Ý­nÅ㦡ªº½Õ¥Î FileList() ¤èªk¡X¡X·í§Aªì¦¸½Õ¥Î Modify ©ÎªÌ Run ¤èªkªº®É­Ô¡A¨t²Î·|´£¥Ü§A¿ï¾Ü¤@­Ó­n¾Þ§@ªºÀɪº¡C
¦w­}¡G«D±`²¼ä¡C§Ú¬Û«H§A¤]¥i¥H¤£¥Î¶°¦XÃþ´N°µ¨ì³o¨Ç¨Æ±¡¡A¦ý§Ú§ó½T«H¦³¤F¶°¦X¨Æ±¡´N­n²³æ¦h¤F¡I§Æ±æ§A­Ì¦b¬Ý¤F³o½g¤å³¹¥H«á¤]·|¶H§Ú¤@¼Ë¦³µÛ°í©wªº«H¤ß¥h¤É¯Å¨ì Visual FoxPro ªº³Ì·sª©¥»¡C

_________________
#############################
§Ö¼Ö¶ý«}¨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§@