|
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¸ü.
|
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD |
µoªí¤H |
¤º®e |
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 1 ¼Ó
|
µ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³Ì¥Dnªº¦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¥un¦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¥Dn¦³¤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§ä¨ì·Qnªº¸ê°T³£·|»Ýn¸ò¥N½X¾Ä°«¤@µf¡C¤£¹L¡A´N¨Æ½×¨Æ¡A¥Î¶°¦Xn³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©Mn·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¨ú±on³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ÂIn°µªºª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§ÚÌ·Qn¥Î¨ìªºÀɪºÀɮצ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¨Æ±¡´Nn²³æ¦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¤~·|§ó¦³½ì~
############################# |
|
¦^³»ºÝ |
|
|
|
|
±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§@
|