誰能解釋下原理

在下問了很多,但是還是不是很明白其中的原理。
一:票據打印機是怎麼被程序控制的?
二:“WindowsAPI”又是怎樣被調用的?
三:這個票據打印類是怎樣被調用的?
四:能不能解釋些這個類的各個模塊的作用。

就不貼代碼了,點連接吧。。。

C#是直接有提供控制打印機的類庫的
能設置頁邊距,打印位置等,可能打印發票也是類擬方式來對準的,打印機是通過打印機的名字來確定的。

C# 可以調用Windows API 比如
Kernell,user32,GDI 之類的核心動態鏈接庫
其中GDI 包含了打印函數

至於第四個,需要看邏輯,語法基礎

請問你購買了票據打印機了嗎?如果你買了,那麼應該有驅動程序給你,驅動裏有幫助文檔,裏面有詳細的API調用,如果支持.NET,還有封裝好的.NET類可以直接調用。至於你提供的鏈接我不看了,具體打印機驅動不一樣的,不能照搬。

對操作系統來說票據打印機和普通打印機除了驅動程序並沒有任何不同,就算是驅動程序也是大同小異...只有“人”纔會認爲它們不同...

對應用程序來說,也僅僅是尺寸和定位的不同...所以什麼類不類的都不過是一些簡單的封裝,不可能有萬能通用的,最終還是得靠報表定位...前幾年寫過一個匯豐銀行收銀終端收銀程序(POS)

1.購買終端機 
2.供應商提供開發包(就是幾個dll,c++寫的)及開發文檔 
3.c#封裝幾個api
4.調用/測試, 準備一張匯豐銀行的卡,測試時每次刷一分錢.
如題,我在操作數據庫的時候,我登陸自己開發的系統之後進行其他操作,都很正常,惟獨在刪除數據的時候就報以下錯誤:
“在 System.AccessViolationException 中第一次偶然出現的“System.Data.OracleClient.dll”用vs2008根的時候在即時窗口中出現的提示也是:System.AccessViolationException 中第一次偶然出現的“System.Data.OracleClient.dll”。
最後我跟的時候就在數據庫連接打開的方法:Open()出了問題。一時搞不明白爲什麼,還請各位幫幫忙,出出主意。

補充一下,vs2008跟的時候在即時窗口中出現的提示:System.AccessViolationException 中第一次偶然出現的“System.Data.OracleClient.dll”。類型的異常
跟到數據庫連接打開的方法:Open()出了問題,就說c#嘗試讀取或寫入受保護的內存。這通常指示其他內存已損壞。
在Open()方法前,數據庫連接是處於關閉狀態的.
不好意思,全是c#代碼,就是我們正常編寫數據庫操作的代碼嘛,我做其他操作,查詢、增加的時候都可以通過,只有刪除纔出這樣的錯誤,讓我很是鬱悶。
終於發現問題所在了,using (TransactionScope tran = new TransactionScope()){}把刪除操作放TransactionScope裏頭了,把這個事務註釋掉就沒問題。真搞不懂爲什麼會出現這樣的錯誤,msdtc服務也已經啓動了。/
我在頁面添加了一個 reportview控件,並給它選擇了報表和數據源,運行時顯示 sa登錄失敗。我其他頁面訪問數據庫都沒有問題,不知道這個是什麼原因,我定義的數據源用的數據庫連接是 web.config文件中的配置,其他頁面也都是用的這個,不知道爲什麼報表就會顯示這個錯誤,有沒有高手給解決一下。謝謝了
sa登錄失敗,你確認你的數據庫連接字符串沒問題嗎?
如果真的沒問題,你再看看你的數據庫訪問權限
如果有問題的話,我其他頁面應該也會出問題啊
數據庫訪問權限,我遠程登錄,用sa是可以的
來源:nba直播
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章