你的電腦可能檢測不到硬盤(檢測不到硬盤的癥狀:開機時IDE檢測中不顯示硬盤信息)這樣進系統前就顯示:"“reboot and select proper boot device or insert bootmedia in selected boot device and press a key” 硬盤檢測失敗的原因:
1) 主板BIOS沒電,記不到硬盤信息,如果你的系統日期不正確的話,很可能是這個原因。 解決辦法:更換BIOS電池,重新進BIOS內檢測硬盤。
2)IDE線質量不好或插得不牢。 解決辦法:換一條IDE線或將IDE線插在主板另一個IDE槽里,連硬盤的線不要與其它IDE設備一起連接,例如光驅,分開兩條IDE線連,正確設置主/從盤。
3)硬盤故障,可能需要更換。
4)如果你的電腦每次都能檢測到硬盤而不能進入系統的話,把硬盤重新完全格式化,再重新裝系統。
5)另外設置硬盤啟動試試(是不是設置錯誤)。
6)還有一種情況,內存重新插拔一下、清一下灰也可以解決問題(有時是因為它引起的)。
7)自己解決不了,建議檢修一下去。
一:打開騰訊電腦管家,找到工具箱-電腦診所。
二:點擊軟件問題專區。
三:在丟失dll文件一鍵修復區,找要修復的dll文件選項。
四:點擊立即修復,便可以恢復正常了
SR1:=......是表示建立一個名叫“SR1”的變量,其內容就是省略號的部分。 第二個等號是一個羅輯判斷,是指前面第20天的最高價與前面(2*20+1)天內的最高價判斷是否相等,如果相等返回1,否則為0。
這樣就能實現在IE上直接對POS機進行操作。而我要封裝的這個動態庫,廠家只提供了一個單的動態庫和一百多字的說明,也就是說明一下動態庫中有機個函數和其對應的參數。也就是廠家就連動態庫對應的頭文件也沒有提供。接到這個任務后,我第一想到的是用VC的ATL來實現它。你問我為什么要用ATL也不用別的,如CB、Delphi之類的。我只能說我覺得寫ActiveX還是用VC好;況且還要對硬件進行操作,這樣一來當然是用VC了。別說我沒提醒你,用CB、Delphi之類的有可能會出現預想不到的驚奇。。?!,F在讓我帶著進入正題吧!先用ATLCOMAppWizard生成一個名叫PosActiveX的工程,生成時系統會問你是生成DLL還是EXE。當然是DLL的了。生成好后加入一個接口叫IPosCtrl,當然了要在Web上用,所以生成的接口一定是要小所以選擇LiteControl的。你可別問我怎么加入,如果這都不會,那我寫的這文章是不適合你看的。所以等你學會加入接口后再看。接口加好后,我就要實現方法了。首先用接口一般都要對其進行初始化。所以加入一個叫Init(shortnCom)的接口方法,該方法完成加載DLL和DLL中的功能函數,還有就是打開對POS機進行操作的COM口;還有一個是修改POS機的時間的方法叫ModifyPosDT(BSTRbstrDT);還有個是清空POS機中數據的方法--EmptyPos()。最后,當你不想用時就要關閉所打開的COM口--Quit()。在生成接口IPosCtrl時同時會生成CPosCtrl類。我有個習慣,就是我一般是把實現方法都寫在類中,而接口只時輸出該類中你想輸出的方法。所以在類中我就寫了以下幾個方法:InitDll()----加載DLL庫和其中的功能函數;ExitDll()----卸載DLL庫,用完后不卸載是在占用內存。所以它是少不了的。SetPosDateTime(char*pchDT)---設置POS機的時間。ClearPos()----清空POS機中的記錄。在類中我就寫了這幾方法了。在說一下我要輸出的接口方法有:Iint(shortnCom)----初化接口,為調用做準備。Quit()----退出程序時,調用它退出接口調用。ModifyPosDT(BSTRbstrDT)----設置POS機時間。EmptyPos()----清空POS機數據。完了就這么多?,F在來看看我的源程序吧!//PosCtrl.cpp:ImplementationofCPosCtrl#include"stdafx.h"#include"PosActiveX.h"#include"PosCtrl.h"http:///////////////////////////////////////////////////////////////////////////////CPosCtrl///////////////////////////////////////////////////////////////////////////////Police.dll所用到的常量定義/////////////////////////////////////////////////////////////////////////////#defineCom_UpRecord1#defineCom_UpPoliceLen2#defineCom_UpSimpleDataLen3#defineCom_UpSimplePunishLen4#defineCom_UpGeneralDataLen5#defineCom_UpGeneralPunishLen6#defineCom_EmptyPolice7#defineCom_EmptySimpleData8#defineCom_EmptySimplePunish9#defineCom_EmptyGeneralData10#defineCom_EmptyGeneralPunish11#defineCom_DownRecord0x80#defineCom_DownStreetCodeLen0x81#defineCom_DownBlackListLen0x82#defineCom_DownPeccancySimpleLen0x83#defineCom_DownPeccancyGeneralLen0x84#defineCom_DownDateTime0x85#defineCom_Exit0x86#defineCom_Init0x87#defineErr_UpSimpleDataLen0#defineErr_UpSimplePunishLen1#defineErr_UpGeneralDataLen2#defineErr_UpGeneralPunishLen3#defineErr_UpPoliceLen4#defineErr_UpRecord5#defineErr_DownStreetCodeLen6#defineErr_DownSimplePeccancyCodeLen7#defineErr_DownGeneralPeccancyCodeLen8#defineErr_DownBlackList9#defineErr_DownDateTime10#defineErr_EmptyData11#defineErr_GetCode12;#defineConst_Terminator0x20/////////////////////////////////////////////////////////////////////////////////#pragmadata_seg("mydata")staticHINSTANCEDLLInst=NULL;//動態庫句柄#pragmadata_seg()//HANDLEhCom;//COM串口句柄///////////////////////////////////////////////////////////////////////////////////POLICE.DLL動態庫函數功能定義/////////////////////////////////////////////////////////////////////////////////HANDLE(__stdcall*Init_comm)(LPSTRstr);//初始化通信口BYTE(__stdcall*Exit)(HANDLEhCom);//關閉通信口BYTE(__stdcall*Protocol)(HANDLEhCom,BYTEcmd,BYTElen,BYTE*_dt,BYTE*prlen,BYTE*prdt);//通信協議BYTE(__stdcall*Pipe_control)(HANDLEhCom,BYTEmode);//多路控制typedefBYTE(__stdcall*Dev_escape)(HANDLEhCom);//斷開多路控制///////////////////////////////////////////////////////////////////////////////CPosCtrl//----------------------------------------------------------------------------////功能:加載POLICE.DLL動態庫和其中的一些功能函數//輸入/輸出參數:無//版本:1.0//修改://----------------------------------------------------------------------------//voidCPosCtrl::InitDll(){DLLInst=LoadLibrary("police.dll");if(DLLInst!=NULL){Init_comm=(HANDLE(__stdcall*)(LPSTR))GetProcAddress(DLLInst,"Init_comm");Exit=(BYTE(__stdcall*)(HANDLE))(GetProcAddress(DLLInst,"Exit"));Protocol=(BYTE(__stdcall*)(HANDLE,BYTE,BYTE,BYTE*_dt,BYTE*prlen,BYTE*prdt))(GetProcAddress(DLLInst,"Protocol"));Pipe_control=(BYTE(__stdcall*)(HANDLE,BYTE))(GetProcAddress(DLLInst,"Pipe_control"));Dev_escape=(BYTE(__stdcall*)(HANDLE))(GetProcAddress(DLLInst,"Dev_escape"));}else{::MessageBox(NULL,"加載動態庫失??!","提示信息",MB_OK|MB_ICONINFORMATION);exit(0);}}//----------------------------------------------------------------------------////功能:釋放動態庫//輸入/輸出參數:無//版本:1.0//修改://----------------------------------------------------------------------------//voidCPosCtrl::ExitDll(){if(DLLInst!=NULL)FreeLibrary(DLLInst);}//----------------------------------------------------------------------------////功能:控件接口方法,對外提供關閉串口,釋放動態庫。//輸入/輸出參數:無//版本:1.0//修改://----------------------------------------------------------------------------//STDMODIMPCPosCtrl::Quit(){//TODO:Addyourimplementationcodehere(*Exit)(hCom);ExitDll();::MessageBox(NULL,"關閉COM口成功","提示信息",MB_OK|MB_ICONINFORMATION);returnS_OK;}STDMODIMPCPosCtrl::get_ComNo(short*pVal){//TODO:Addyourimplementationcodehere*pVal=m_ComNo;returnS_OK;}STDMODIMPCPosCtrl::put_ComNo(shortnewVal){//TODO:Addyourimplementationcodeherem_ComNo=newVal;returnS_OK;}//----------------------------------------------------------------------------////功能:提供初化動態庫的對外接口,并實現打開口串口的功能。//輸入/輸出參數:11--要打開的串口號。
我來幫TA回答