  | 
				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 | 
	 
	
		¦æªÌ孙
 
  
  µù¥U®É¶¡: 2006-03-11 ¤å³¹: 43
 
  ²Ä 1 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤T ¤Q¤@¤ë 22, 2006 4:49 pm    ¤å³¹¥DÃD: 纯VFP¥Í¦¨EAN¡Ð13条码ºâªk | 
				     | 
			 
			
				
  | 
			 
			
				EAN码¬O国际ª««~编码协会¨î©wªº¤@Ïú°Ó«~¥Î条码¡A³q¥Î¤_¥þ¥@¬É¡CEAN码²Å号¦³标㪩¡]EAN-13¡^©M缩µuª©¡]EAN-8¡^两Ïú¡A§Ú国ªº³q¥Î°Ó«~条码ÉO¨äµ¥®Ä¡C§Ú们¤é±`购买ªº°Ó«~¥]装¤W©Ò¦Lªº条码¤@¯ë´N¬OEAN码¡C§Ú这¨½给¥Xªº¬OEAN¡Ð13ªººâªk¥N码¡A¤j®a¦pªG»ÝnEAN¡Ð8条码¥i¥H¦Û¦æ×§ï¤U¡C
 
 
 
 
*      ¨ç 数 ¦W¡GEAN13()
 
*      ¥\¡@   ¯à¡G®ÚÕu条EAN-13码²Å号¦r²Å¦ê¥Í¦¨条码¦ì图
 
*      参¡@   数¡GBM ¦r²Å«¬(12¦ìEAN-13码²Å号¦r²Å¦ê ¦p¡G'690102818039')
 
*      ªð ¦^ È¡G¥Í¦¨ªº条码¦ì图ªº¤å¥ó¦W
 
*      运¦æ环¹Ò¡GWIN95¥H¤Wª©¥»¡CVisual FoxPro 6.0,7.0,8.0,9.0
 
*      ºâªk¨î§@¡G¦æªÌ孙(QQ:310727570)-VFP应¥Îµ{¦¡ºâªk¸s(12787940)
 
*      说       ©ú¡G转载请«O¯d¥X处¡I
 
Function EAN13(BM As String )
 
Private BM
 
Dimension EAN_code[10,3]
 
EAN_code[1,1]='00000011110011'
 
EAN_code[1,2]='00110000111111'
 
EAN_code[1,3]='11111100001100'
 
EAN_code[2,1]='00001111000011'
 
EAN_code[2,2]='00111100001111'
 
EAN_code[2,3]='11110000111100'
 
EAN_code[3,1]='00001100001111'
 
EAN_code[3,2]='00001111001111'
 
EAN_code[3,3]='11110011110000'
 
EAN_code[4,1]='00111111001100'
 
EAN_code[4,2]='00001111110011'
 
EAN_code[4,3]='11000000001100'
 
EAN_code[5,1]='00110000001111'
 
EAN_code[5,2]='00001111110011'
 
EAN_code[5,3]='11001111110000'
 
EAN_code[6,1]='00111100000011'
 
EAN_code[6,2]='00111111000011'
 
EAN_code[6,3]='11000011111100'
 
EAN_code[7,1]='00110011111111'
 
EAN_code[7,2]='00000011001111'
 
EAN_code[7,3]='11001100000000'
 
EAN_code[8,1]='00111111001111'
 
EAN_code[8,2]='00001100000011'
 
EAN_code[8,3]='11000000110000'
 
EAN_code[9,1]='00111100111111'
 
EAN_code[9,2]='00000011000011'
 
EAN_code[9,3]='11000011000000'
 
EAN_code[10,1]='00000011001111'
 
EAN_code[10,2]='00001100111111'
 
EAN_code[10,3]='11111100110000'
 
Dimension EAN_left[10]
 
EAN_left[1]='111111'
 
EAN_left[2]='112122'
 
EAN_left[3]='112212'
 
EAN_left[4]='112221'
 
EAN_left[5]='121122'
 
EAN_left[6]='122112'
 
EAN_left[7]='122211'
 
EAN_left[8]='121212'
 
EAN_left[9]='121221'
 
EAN_left[10]='122121'
 
Dimension EAN_mode[8]
 
Store '' To EAN_mode
 
If Len(Alltrim(BM))<>12 .And. Val(BM)>0
 
 Messagebox('EAN-13编码长«×¤£规S',268,'«H®§´£¥Ü')
 
 Return ''
 
Else
 
 EAN_mode[1]='000000000000000000'
 
 EAN_mode[2]='110011'
 
 For i=0 To 9
 
  If Val(Substr(BM,1,1))=i
 
   For ii=1 To 6
 
    BMZ=Val(Substr(BM,ii+1,1))
 
    MODE=Val(Substr(EAN_left[i+1],ii,1))
 
    EAN_mode[3]=EAN_mode[3]+EAN_code[BMZ+1,MODE]
 
   Endf
 
  Endi
 
 Endf
 
 EAN_mode[4]='0011001100'
 
 For i=1 To 5
 
  BMZ=Val(Substr(BM,i+7,1))
 
  EAN_mode[5]=EAN_mode[5]+EAN_code[BMZ+1,3]
 
 Endf
 
 JY_A=0
 
 JY_B=0
 
 For i=1 To 12
 
  If i%2=0
 
   JY_A=JY_A+Val(Substr(BM,i,1))
 
  Else
 
   JY_B=JY_B+Val(Substr(BM,i,1))
 
  Endif
 
 Endf
 
 JYM=10-(JY_A*3+JY_B)%10
 
 If JYM=10
 
  JYM=1
 
 Endi
 
 EAN_mode[6]=EAN_code[JYM+1,3]
 
 EAN_mode[7]='110011'
 
 EAN_mode[8]='000000000000000000'
 
 EAN_code=EAN_mode[1]+EAN_mode[2]+EAN_mode[3]++EAN_mode[4]+EAN_mode[5]+EAN_mode[6]+EAN_mode[7]+EAN_mode[8]
 
 Dimension BMP[4]
 
 BMP[4]=90
 
 BMP[3]=224
 
 BMP[2]=Int((BMP[3]*3+3)/4)*4*BMP[4]+54
 
 BMP[1]=BMP[2]-54
 
 Dimension BMP_T[4]
 
 For i=1 To 4
 
  k1='0x'+Subs(Righ(Tran(BMP[i],"@0"),8 ),7,2)
 
  k2='0x'+Subs(Righ(Tran(BMP[i],"@0"),8 ),5,2)
 
  k3='0x'+Subs(Righ(Tran(BMP[i],"@0"),8 ),3,2)
 
  k4='0x'+Subs(Righ(Tran(BMP[i],"@0"),8 ),1,2)
 
  BMP_T[i]=Chr(&k1)+Chr(&k2)+Chr(&k3)+Chr(&k4)
 
 Endf
 
 st1='BM'+BMP_T[2]+Chr(0)+Chr(0)+Chr(0)+Chr(0)+Chr(54)+Chr(0)+Chr(0)+Chr(0);
 
  +Chr(40)+Chr(0)+Chr(0)+Chr(0)+BMP_T[3]+BMP_T[4]+Chr(1)+Chr(0)+Chr(24)+Chr(0)+Chr(0)+Chr(0)+Chr(0)+Chr(0)+BMP_T[1]+Chrt(Spac(16),' ',Chr(0))
 
 st2=Chrt(Spac(224*10*3),' ',Chr(255))
 
 st3=''
 
 For i=11 To 70
 
  For k1=1 To 224
 
   If Substr(EAN_code,k1,1)=='1'
 
    st3=st3+Chr(0)+Chr(0)+Chr(0)
 
   Else
 
    st3=st3+Chr(255)+Chr(255)+Chr(255)
 
   Endi
 
  Endf
 
 Endf
 
 Pb=Chr(0)+Chr(0)+Chr(0)
 
 Pw=Chr(255)+Chr(255)+Chr(255)
 
 st4=Chrt(Spac(18*3),' ',Chr(255))+Pb+Pb+Pw+Pw+Pb+Pb+Chrt(Spac(84*3),' ',Chr(255))+Pw+Pw+Pb+Pb+Pw+Pw+Pb+Pb+Pw+Pw+Chrt(Spac(84*3),' ',Chr(255))+Pb+Pb+Pw+Pw+Pb+Pb+Chrt(Spac(16*3),' ',Chr(255))
 
 st4=st4+st4
 
 Dimension T_D[11]
 
 T_D[1]='11111000111111111100000111111110111100111111101111101111111011111011111110111110111111101111101111'+;
 
  '11101111101111111011111011111110111110111111101111101111111011110011111111000001111111111000111111'
 
 T_D[2]='11111110111111111111001111111111100011111111100000111111111011101111111111111011111111111110111111'+;
 
  '11111110111111111111101111111111111011111111111110111111111111101111111111111011111111111110111111'
 
 T_D[3]='11111000111111111000000111111110111110111111101111101111111111111011111111111110111111111111011111'+;
 
  '11111110011111111111001111111111100111111111110011111111111001111111111110000000111111000000001111'
 
 T_D[4]='11111000111111111100000111111110011100111111101111101111111111110111111111110011111111111100011111'+;
 
  '11111111101111111111111011111111111110111111101111101111111011110011111111000001111111111000111111'
 
 T_D[5]='11111111011111111111100111111111111001111111111100011111111110110111111111011101111111110111011111'+;
 
  '11101111011111110111110111111100000000011111000000000111111111110111111111111101111111111111011111'
 
 T_D[6]='11110000001111111100000011111111011111111111110111111111111000001111111110000001111111101111101111'+;
 
  '11111111101111111111111011111111111110111111101111101111111011110011111111000001111111111000111111'
 
 T_D[7]='11111000111111111100000111111110011110111111101111111111111011001111111110000001111111100111001111'+;
 
  '11101111101111111011111011111110111110111111101111101111111001111011111111000001111111111000111111'
 
 T_D[8]='11000000001111110000000011111111111100111111111111011111111111101111111111111011111111111101111111'+;
 
  '11111101111111111110011111111111101111111111111011111111111110111111111111101111111111110011111111'
 
 T_D[9]='11111000111111111100000111111110011100111111101111101111111011111011111110011100111111110000011111'+;
 
  '11110000011111111011111011111110111110111111101111101111111011111011111110000001111111111000111111'
 
 T_D[10]='11111000111111111100000111111110111100111111101111101111111011111011111110111110111111101111101111'+;
 
  '11101111001111111100000011111111100110111111111111101111111011110111111110000001111111111001111111'
 
 T_D[11]='11111111111111111111111111111111111111111111111111001111111111000011111111000001111111100111111111'+;
 
  '11100111111111111100000111111111110000111111111111001111111111111111111111111111111111111111111111'
 
 Dimension td[14]
 
 Store '' To td
 
 For i=1 To 14
 
  For k1=1 To 13
 
   zh=Val(Substr(BM+Alltrim(Str(JYM)),k1,1))+1
 
   td[i]=td[i]+Substr(T_D[zh],14*i-13,14)
 
  Endf
 
  td[i]=td[i]+Substr(T_D[11],14*i-13,14)
 
 Endf
 
 For i=1 To 7
 
  td[i]='11'+Subs(td[i],1,14)+'11'+'001100'+Subs(td[i],15,84)+'1100110011'+Subs(td[i],99,84)+'001100'+Subs(td[i],183,14)+'11'
 
 Endf
 
 For i=8 To 14
 
  td[i]='11'+Subs(td[i],1,14)+'11'+'111111'+Subs(td[i],15,84)+'1111111111'+Subs(td[i],99,84)+'111111'+Subs(td[i],183,14)+'11'
 
 Endf
 
 For i=1 To 14
 
  td[i]=Strtran(td[i],'1',Chr(255)+Chr(255)+Chr(255))
 
  td[i]=Strtran(td[i],'0',Chr(0)+Chr(0)+Chr(0))
 
 Endf
 
 st5=Chrt(Spac(224*4*3),' ',Chr(255))
 
 h=Fcreate(BM+Alltrim(Str(JYM))+'.bmp')
 
 =Fwrite(h,st1)
 
 =Fwrite(h,st5)
 
 For i=14 To 1 Step -1
 
  =Fwrite(h,td[i])
 
 Endf
 
 =Fwrite(h,st4)
 
 =Fwrite(h,st3)
 
 =Fwrite(h,st2)
 
 Fclose(h)
 
 Return BM+Alltrim(Str(JYM))+'.bmp'
 
Endif
 
 
调¥Î¤èªk¡G¦p¦p¡Gthisform.image1.picture=EAN13('6901028039')
 
 
 
调¥Î®ÄªG¡G[/img] _________________ ¢~⌒¢¡VFP应¥Îµ{¦¡ºâªk¸s 12787940¤¢~⌒
 
¢~http://hi.baidu.com/myvfp/blog
 
,¡`¡`¡`¡`,""¡`~~ ,""~¡`¡`¡@ ,"" 
 
 ¢¬¢ª¢i¢©¡@¢¬¢ª¢i¢© 
 
¡W¥Ð¡W¥Ð¡W¡W¥Ð¡W¥Ð¡W 
 
ùáùáùáùáùáùáùáùáùáùáùáùáùáùáùáùáùáùá
 
 
http://hi.baidu.com/myvfp/blog | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		janlih
 
 
  µù¥U®É¶¡: 2003-11-04 ¤å³¹: 69
 
  ²Ä 2 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤T ¤Q¤@¤ë 22, 2006 5:23 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				| ·P®¦¡A¥ý´ú¸Õ¬Ý¬Ý | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		janlih
 
 
  µù¥U®É¶¡: 2003-11-04 ¤å³¹: 69
 
  ²Ä 3 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤T ¤Q¤@¤ë 22, 2006 8:54 pm    ¤å³¹¥DÃD: Re: 纯VFP¥Í¦¨EAN¡Ð13条码ºâªk | 
				     | 
			 
			
				
  | 
			 
			
				 	  | ¦æªÌ孙 ¼g¨ì: | 	 		  If Len(Alltrim(BM))<>12 .And. Val(BM)>0 
 
Messagebox('EAN-13编码长«×¤£规S',268,'«H®§´£¥Ü') 
 
...............
 
[/img] | 	  
 
 
´ú¸Õ¤ß±o¡G
 
 
³o¤@¦æ¦³°ÝÃD
 
If Len(Alltrim(BM))<>12   && .And. Val(BM)>0 
 
 
¦C¦L«á¥Î±ø½X¾÷¨ê¥X¨Óªº±ø½X¸¹½X»P¹Ï¤ùªº¸¹½X¤£²Å =>¬Gµ{¦¡¦³°ÝÃD¡A¤£ª¾þ¸Ì¿ù¤F¡AÁÙn¦A¬ã¨s
 
 
¥B¥Î±ø½X¾÷¨ê®Én¸Õ«Ü¦h¦¸¤~¨ê±o¥X¨Ó | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		green
 
 
  µù¥U®É¶¡: 2003-09-19 ¤å³¹: 137
 
  ²Ä 4 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¥| ¤Q¤@¤ë 23, 2006 9:46 am    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				| ·PÁ¤À¨É!!«Ü¹ê¥Îªº¤@Óµ{¦¡,×¥¿«áÀ³¸Ó«Ü¦³µo®i,¥i±¤¤â¤W¨S¦³Åª½X¾÷ ... | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		¦æªÌ孙
 
  
  µù¥U®É¶¡: 2006-03-11 ¤å³¹: 43
 
  ²Ä 5 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¥| ¤Q¤@¤ë 23, 2006 10:58 am    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				¦Ü¤_Éó¾¹读¥X来ªº数Õu©Mµ{§Ç¥Í¦¨ªº数¦r¦³¥X¤J¡A¥i¯àÉO区°ì间ªº条码规则¦³关¡A¥i¥H¦Û¦æ×§ï¤U¡I
 
§Ú写这¬q¥N码³Ìªìªº¥Øªº¬O为¤F给¸s¨½ªº¤H°µ¤@个¤£¥ÎAPI动态¥Í¦¨24¦ì¦ì图ªº¥Ü¨Ò¡A¦Z来·Q¬JµM°µ´N°µ个¦³点实¥ÎɲȪº¡A©Ò¥H´N写¤F这¬q¥N码¡A这¬q¥N码写¦n¦Z经过¸s¨½ªº¤@¨Ç¤H¥h测试³£«Ü顺§Qªº³q过¤F¡I _________________ ¢~⌒¢¡VFP应¥Îµ{¦¡ºâªk¸s 12787940¤¢~⌒
 
¢~http://hi.baidu.com/myvfp/blog
 
,¡`¡`¡`¡`,""¡`~~ ,""~¡`¡`¡@ ,"" 
 
 ¢¬¢ª¢i¢©¡@¢¬¢ª¢i¢© 
 
¡W¥Ð¡W¥Ð¡W¡W¥Ð¡W¥Ð¡W 
 
ùáùáùáùáùáùáùáùáùáùáùáùáùáùáùáùáùáùá
 
 
http://hi.baidu.com/myvfp/blog | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		Erwin
 
 
  µù¥U®É¶¡: 2003-03-28 ¤å³¹: 97 ¨Ó¦Û: ¥x¥_
  ²Ä 6 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¥| ¤Q¤@¤ë 23, 2006 11:16 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				| ·PÁÂ | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		shjianq
 
 
  µù¥U®É¶¡: 2006-09-16 ¤å³¹: 2
 
  ²Ä 7 ¼Ó
  | 
		
			
				 µoªí©ó: ¬P´Á¤é ¤Q¤G¤ë 03, 2006 11:02 pm    ¤å³¹¥DÃD:  | 
				     | 
			 
			
				
  | 
			 
			
				| kan kan | 
			 
		  | 
	 
	
		| ¦^³»ºÝ | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
±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§@ 
		 |