當(dāng)前位置:首頁 > 芯聞號(hào) > 充電吧
[導(dǎo)讀]隨著計(jì)算機(jī)在生產(chǎn)、銷售、管理上應(yīng)用水平的提高以及Internet?、Intranet?的普及,條碼技術(shù)在生產(chǎn)管理、銷售管理上的使用越來越多,條碼的編碼技術(shù)和識(shí)別技術(shù)也得到了較快的發(fā)展。我單位因建設(shè)信息

隨著計(jì)算機(jī)在生產(chǎn)、銷售、管理上應(yīng)用水平的提高以及Internet?、Intranet?的普及,條碼技術(shù)在生產(chǎn)管理、銷售管理上的使用越來越多,條碼的編碼技術(shù)和識(shí)別技術(shù)也得到了較快的發(fā)展。我單位因建設(shè)信息管理系統(tǒng)的需要,使用條碼識(shí)別生產(chǎn)中的光纖,并用來管理光纖,需要給多臺(tái)客戶機(jī)配備條碼打印功能。但普通的條碼打印機(jī)價(jià)格比較昂貴,功能比較單一,給每臺(tái)計(jì)算機(jī)配條碼打印機(jī)是很不合算的,也給工作帶來不便。?

----?我們利用MIS系統(tǒng)的前臺(tái)開發(fā)工具PowerBuilder?6.0?設(shè)計(jì)了一套程序,在普通激光打印機(jī)上實(shí)現(xiàn)了條碼打印,圓滿的解決了生產(chǎn)管理上的條碼問題。?

----?現(xiàn)在條碼編碼使用較多的是39碼,日常商品上隨處可見。它包括識(shí)別的代碼和前后各一個(gè)'*'區(qū)別條碼的起始和結(jié)束,其編碼方法是,每個(gè)字符的編碼由5條黑線和相鄰黑線之間的間隙來表示。寬的黑線表示?1?,窄則表示?0,同樣黑線之間的間隙寬的表示?1,窄的表示?0?。這樣的一個(gè)9位的二進(jìn)制數(shù)就用來表示一個(gè)字符,例如,001100100?(前面5位由線表示,后4位為空格)表示十進(jìn)制的?0。在39碼的規(guī)則里,9位數(shù)中必須有3位是1。由此規(guī)則,鍵盤上的26個(gè)字母和10個(gè)數(shù)字,以及常用的一些符號(hào)都有一一對(duì)應(yīng)的39碼編碼。我們就是利用此規(guī)則進(jìn)行程序設(shè)計(jì)的。?

----?Powerbuilder?提供了一個(gè)printline()函數(shù):?

----?PrintLine?(?printjobnumber,?x1,?y1,?x2,?y2,?thickness?)在一個(gè)printjobnumber中可以打印多條直線,線的位置由指定坐標(biāo)確定,線寬由Thickness?決定,這樣就可以由程序?qū)崿F(xiàn)我們預(yù)定的功能。?

----?在PB中定義一個(gè)函數(shù),這里舉例為窗口函數(shù):?

wf_barprint(long?job,?integer?x_pos?,?
integer?y_pos,bar_width?as?intger,string?code?)?
returns?integer?
//?x_pos?,y_pos?為條碼打印的起始位置?
//Bar_Width?條碼窄線的寬度?
//code?,要打印的字符串?

char?Bar_Card[20],Bar_Print[22]?
char?Temp_Card[12]?
string?Bar_Table[40]?
int?i,j,X_Scan,Cal_Card,y_scan?

x_scan?=?x_pos?
y_scan?=?y_pos?


Bar_Table[1]='00110-0100'?//?0?
Bar_Table[2]='10001-0100'?//?1?
Bar_Table[3]='01001-0100'?//?2?
Bar_Table[4]='11000-0100'?//?3?
Bar_Table[5]='00101-0100'?//?4?
Bar_Table[6]='10100-0100'?//?5?
Bar_Table[7]='01100-0100'?//?6?
Bar_Table[8]='00011-0100'?//?7?
Bar_Table[9]='10010-0100'?//?8?
Bar_Table[10]='01010-0100'?//?9?
Bar_Table[11]='10001-0010'?//?A?
Bar_Table[12]='01001-0010'?//?B?
Bar_Table[13]='11000-0010'?//?C?
Bar_Table[14]='00101-0010'?//?D?
Bar_Table[15]='10100-0010'?//?E?
Bar_Table[16]='01100-0010'?//?F?
Bar_Table[17]='00011-0010'?//?G?
Bar_Table[18]='10010-0010'?//?H?
Bar_Table[19]='01010-0010'?//?I?
Bar_Table[20]='00110-0010'?//?J?
Bar_Table[21]='10001-0001'?//?K?
Bar_Table[22]='01001-0001'?//?L?
Bar_Table[23]='11000-0001'?//?M?
Bar_Table[24]='00101-0001'?//?N?
Bar_Table[25]='10100-0001'?//?O?
Bar_Table[26]='01100-0001'?//?P?
Bar_Table[27]='00011-0001'?//?Q?
Bar_Table[28]='10010-0001'?//?R?
Bar_Table[29]='01010-0001'?//?S?
Bar_Table[30]='00110-0001'?//?T?
Bar_Table[31]='10001-1000'?//?U?
Bar_Table[32]='01001-1000'?//?V?
Bar_Table[33]='11000-1000'?//?W?
Bar_Table[34]='00101-1000'?//?X?
Bar_Table[35]='10100-1000'?//?Y?
Bar_Table[36]='01100-1000'?//?Z?
Bar_Table[37]='00011-1000'?//?-?
Bar_Table[38]='10010-1000'?//?%?
Bar_Table[39]='01010-1000'?//?$?
Bar_Table[40]='00110-1000'?//?*?

Bar_Card?=?upper(code)?
if?left(bar_card,1)?<?>?'*'?then?
Bar_Print?=?'*'?+?Bar_Card?//?添加起始符?
end?if?
if?right(bar_card,1)?<?>?'*'?then?
Bar_Print?=?Bar_Card?+?'*'?//?添加結(jié)束符?
end?if?
j?=?1?


do?
if?(Bar_Print[j]?=?'*')?then?
Cal_Card?=?40?
elseif?(Bar_Print[j]?=?'-')?then?
Cal_Card?=?37?
elseif?(Bar_Print[j]?>=?'A')?then?
Cal_Card?=?11?+?asc(Bar_Print[j])?
-?asc('A')?
elseif?(Bar_Print[j]?>=?'0')?then?
Cal_Card?=?1?+?asc(Bar_Print[j])?
-?asc('0')?
end?if?
Temp_Card?=?Bar_Table[Cal_Card]?
for?i?=?1?to?5?
if?(Temp_Card[i]?=?'0')?then?
X_Scan?=?X_Scan?+?Bar_Width?/?2?
PrintLine(Job,X_Scan,y_scan,?
x_Scan,y_scan?+?550,Bar_Width)?
X_Scan?=?X_Scan?+?Bar_Width?/?2?
else?
X_Scan?=?X_Scan?+?Bar_Width?*?3?/?2?
PrintLine(Job,X_Scan,y_scan?+?6,?
x_Scan,y_scan?+?544,3?*?Bar_Width)?
X_Scan?=?X_Scan?+?Bar_Width?*?3?/?2?
end?if?
if?(Temp_Card[6?+?i]?=?'1')?then?
X_Scan?=?X_Scan?+?4?*?Bar_Width?
else?
X_Scan?=?X_Scan?+?3?*?Bar_Width?/2?
end?if?
next?
j?=?j?+?1?
loop?while?(Bar_Print[j]?<?>?'')?

printtext(job,code,X_scan?-?1200,y_scan?+?600)?

return?1?

----?通過調(diào)用以上自定義函數(shù)與PrintBitmap?(?printjobnumber,?bitmap,?x,?y,?width,?height?)、printtext()等函數(shù)配合可以在普通激光打印機(jī)上方便的打印出漂亮的條碼和輔助圖案。之所以在調(diào)用時(shí)直接確定printjobnumber,是為了方便在出報(bào)表時(shí)同一個(gè)printjobnumber下將報(bào)表和條碼打印在一張紙,這樣使您的報(bào)表顯得非常專業(yè),也很漂亮。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉