bmr編程
⑴ 急求助!擴展名是BML的文件,是什麼文件怎樣打開
你用,cad ky dai kai
我給你解釋一下
如下:
對於一個成熟的應用程序系統來說,方便詳盡的幫助系統是必不可少的。在Windows95/98環境下的圖形化幫助系統中可以包含圖形、經過格式化編排的文本、聲音和動畫等,這為應用程序增色不少。
在Windows95/98環境下,利用Visual Foxpro提供的Microsoft Help Workshop工具,可以創建功能較為完善的應用程序幫助系統。
創建Windows95/98下的幫助系統時首先應該明確以下幾個概念:
(1)、幫助主題:幫助主題是指幫助窗口中的信息,它通常是以標題開始且包含某一特定任務、命令或對話框的信息。Help由一個個「主題」串接而成,每個主題可由標題、主題標識字元串、瀏覽順序號來識別。
(2)、標題:標題可由帶空格的多個單片語成,具有描述性的文字,通常以「主題」中的首行作為標題。不同的主題應有不同的標題,如果出現多個主題共同擁有一個標題,系統將會發出警告。
(3)、主題標識字元串:主題標識字元串是唯一用來確定主題的字元串,它只能由字母、數字或下劃線組成。
(4)、關鍵詞:在生成的Help文件中可以根據關鍵詞來搜索並轉到相應的主題上。
(5)、瀏覽順序號:瀏覽順序號用在製作上下文敏感的Help文件中,它與主題標識字元串一樣不能重復。
創建幫助系統的步驟如下:
(1)、編輯幫助主題文件(擴展名為.RTF),該文件含有具體幫助信息以及所需的各種編碼,可由一個或多個文件組成;
(2)、編輯幫助項目文件(擴展名為.HPJ),該文件含有對主題文件進行編譯時所需的信息;
(3)、編輯幫助目錄文件(擴展名為.CNT),該文件含有幫助的目錄框架信息;
(4)、編輯生成幫助文件(擴展名為.HLP),該文件含有系統所需的各種幫助信息;
(5)、在應用程序(如VB、VFP或其它高級程序設計語言)中編寫代碼調用幫助系統(WinHelp),提供幫助信息。
一、 編輯幫助主題文件
1、建立RTF格式文件
通常用Word來創建RTF文件,文件中可以包含文本、點陣圖或圖元文件,甚至還可以包括聲音、動畫等。其中應注意兩點:(1)一個主題結束後應插入一個分頁符,作為主題間的分界;(2)整個主題文件編輯完成後保存時,在「文件類型」列表框中應選擇RTF(Rich Text Format),這樣文件將.RTF擴展名存檔並供幫助編譯器使用。
2、設置腳注
將游標移至主題的最左邊,選擇菜單中的「插入|腳注和章節附註」,選擇「腳注」,在「定製腳注標記」中輸入腳注符號,然後按回車鍵,這時激活腳注窗口,然後輸入腳注內容。
不同的腳注符號代表的含義不同,常見的腳注含義及其符號如表1所示:
此外,還有其它腳注。在所有腳注中,主題標識字元串(#)是必需的,其它腳注可據實際情況加以選用。
3、設置熱點,建立主題之間的連接
幫助主題中另一重要的編碼是為文本指定「熱點」。用滑鼠單擊「熱點」即可跳轉到相應主題或彈出說明窗口,為「熱點」處的文本給出幫助信息。前者稱為「跳轉(Jump)熱點」,表現為綠色單下劃線形式;後者稱為「彈出(Popup)熱點」,表現為綠色單點下劃線形式。
(1)、指定跳轉熱點。跳轉熱點在幫助主題文件中是帶雙下劃線的文本。首先選擇字元的雙下劃線格式。然後鍵入跳轉熱點文本,清除雙下劃線格式,選擇隱藏文本格式,鍵入跳轉目的地處的主題標識字元串。清除隱藏文本格式後,再鍵入其它正文。注意:在隱藏文本後換行時,一定要先清除隱藏文本格式,然後再按回車鍵。
(2)、指定彈出熱點。彈出熱點在幫助主題文件中表現為單下劃線的文本。首先選擇字元的單下劃線格式,鍵如彈出熱點文本,清除單下劃線格式,選擇隱藏文本格式,鍵入在彈出的附加說明的主題的主題標識字元串。清除隱藏文本格式後再鍵入其它正文。同樣,在隱藏文本後換行時,一定要先清除隱藏文本格式,然後再按回車鍵。
以上兩種熱點文本均可帶有格式,如字體、字型大小以及不同的風格(黑體或斜體)。在隱藏文本和帶下劃線(單或雙)文本間不能有空格。隱藏文本顯示出來時是帶點劃線的正文(使Word工具欄上的「隱藏|顯示」按鈕呈高亮顯示時,則隱藏文本可被顯示出來)。
除文本可具有熱點特徵外,圖形也可具有以上兩種熱點特徵。圖形中的熱點要使用專用的工具軟體——熱點編輯器(Hot Spot Editor)才能指定。
4、建立不可滾動的標題區域
在Windows的幫助窗口中,經常可以見到窗口上部的標題區域(有時還會有圖形)是不可滾動的。這樣,當顯示一個較長的主題時,用戶就總能看到該主題的題目。用Word創建主題文件時,通過使用下列方法則很容易就能夠實現上述功能。
在編輯每一個主題時,第一行通常是主題的標題,然後換行,再輸入主題中的正文。這時,把游標放在第一行,從「格式」菜單中選擇「段落」命令,Word彈出段落格式設置對話框,在此對話框中選取「正文排列」選擇卡,在「分頁」成組框中用滑鼠選中「與下段同頁」復選框,然後關閉段落格式對話框。這樣,第一行經過編譯後就會成為不可滾動的區域。當然不可滾動的區域可以有多行,這時只需在選擇多行後再設置「與下段同頁」格式即可。
5、使用圖形和圖像
幫助主題文件中使用的圖形和圖像是點陣圖(BMP)格式。可用下列兩種方法來引用點陣圖圖形:
(1)、直接在主題文件中放置點陣圖。由於Word支持圖文混排,故可用OLE方法從其它應用程序中引用圖形或圖像;或者在Word的「插入」菜單中選擇「圖片」命令,直接插入具有BMP格式的圖形文件。
(2)、使用點陣圖索引法。即如果在點陣圖出現的位置加入下面的語句之一,則在主題文件中加入一個下列點陣圖索引:
● {bmc圖形文件名}:把一個點陣圖當作一個字元處理,行高由點陣圖決定。
● {bml圖形文件名}:點陣圖放在一行的左邊,正文可在右邊卷繞。
● {bmr圖形文件名}:點陣圖放在一行的右邊,正文可在左邊卷繞。
其中,圖形文件名應加BMP擴展名。一個點陣圖可被多處索引。應該注意的是,不要給出文件的路徑名。如果需要告訴編譯器在編譯時在非工作目錄中尋找點陣圖文件,則可在幫助項目文件的[BITMAP]欄位中給出點陣圖的全路徑名。
二、 建立幫助項目文件
Help幫助項目文件(擴展名為.HPJ)中包含Microsoft Help編譯器將主題文件和其它元素合成幫助文件所需的全部信息。項目文件是一個純文本文件,可用任何文本編輯器來建立,也可用其它工具建立。每一個項目文件由一節或多節組成。每一節有一個節名,用方括弧([])括起來,定義該節中的語句和選項的目的及格式。例如:
(1)、[OPTIONS]:指定控制創建過程的選項。此節是可選的,若選用則必須用在第一節。
(2)、[FILES]:指定幫助的主題文件,擴展名為RTF。這一節是必需的,可以有一個或多個主題文件。
(3)、[MAP]:把上下文串與上下文號相連接,成為上下文關聯的幫助。
(4)、[CONFIGS]:指定在創建幫助文件中使用的宏。這些宏由幫助系統調用或用於創建非標準的幫助菜單和按鈕。例如,用於前後翻頁的「》」和「《」按鈕,就是由此欄位指定的宏創建的。
(5)、[BITMAPS]:指定主題文件中引用的點陣圖的文件名,包括其路徑。
(6)、[WINDOWS]:定義幫助系統使用的主窗口及次窗口的標題、位置、大小和使用的顏色。在幫助主題文件中,若設計為跳轉主題使用次級窗口,則應包括此段。
用VFP提供的Microsoft Help Workshop來建立項目文件十分直觀方便,選擇菜單File|New,再選擇Help Project,即出現創建幫助項目文件的畫面。
三、 建立幫助目錄文件
幫助目錄文件提供了幫助系統中主題的層次結構視圖,利用Microsoft Help Workshop的可視化的編輯功能可以方便地建立幫助目錄文件。選擇菜單File|New,再選擇Help Content,則出現建立目錄文件的畫面。
四、 編譯生成幫助文件
幫助編譯器有幾個版本,功能也不盡相同。這里利用Microfoft Help Workshop下的HCW進行編譯,在Microfoft Help Workshop下選擇菜單File|Compile即可進行編譯。編譯過程中若出現錯誤時,則系統會給出出錯信息,以便用戶進行修改,直到正確無誤為止。編譯時系統會提示幫助系統的有關信息,若無致命的錯誤則編譯生成一個擴展名為HLP的幫助文件,這也是Windows的幫助系統可以調用的二進制文件。選擇File|Run Winhelp即可欣賞生成的幫助系統。
五、 在應用程序中編寫代碼以便調用幫助系統(WinHelp),提供幫助信息
在應用程序中,用戶訪問幫助系統的途徑有三:
(1)、幫助菜單:顯示在應用程序主菜單欄上的一個菜單;
(2)、上下文相關幫助:當選定某個對象、控制項或菜單選項並按下F1鍵時顯示的幫助;
(3)、「這是什麼」幫助:當用戶尋求關於特定對象或控制項的幫助時出現的簡單彈出式提示信息。
下面以FVP為例,分別說明如何在應用程序中編寫代碼以便調用幫助系統。
1、幫助菜單
要為菜單標題或菜單命令指定幫助標題,則必須在與菜單標題或菜單相關聯的過程中包含SET TOPIC TO命令,然後用Help加以激活。
2、上下文相關幫助
「上下文相關幫助」允許用戶隨時訪問與他們在應用程序中所作、所見相關的幫助主題。例如,如果用戶正在查看一個數據輸入表單,則「上下文相關幫助」能夠提供與那個數據輸入表單相關的幫助主題。
一般地,按下F1鍵即可訪問「上下文相關幫助」,還可以使用ON KEY LABEL指定任意鍵激活「上下文相關幫助」。
在「表單」上使用「上下文相關幫助」時,必須為應用程序指定一個幫助文件,然後將特定的幫助主題與應用程序中的不同對象關聯起來。
添加「上下文相關幫助」步驟如下:
(1)、為應用程序指定一個幫助文件。
如果在代碼中包含了SET HELP TO FILE命令(其中FILE為幫助文件的名字),則可以為應用程序選定能夠訪問的幫助文件。例如,如果幫助文件名為MYHELP.HLP,則可使用如下命令:
SET HELP TO MYHELP.HLP
這個命令一般包含在您的應用程序的主程序的設置代碼中。
(2)為希望提供「上下文相關幫助」的對象指定一個幫助主題。
1)、在「設計」狀態下打開想要指定「上下文相關幫助」功能的對象,例如一個表單、控制項或工具欄;
2)、查看該對象的屬性;
3)、把HelpContextID屬性設置為代表幫助文件中特定主題的編碼。
3、「這是什麼?」幫助
「這是什麼?」幫助類似於上下文相關幫助,因為它提供對當前具有焦點的特定對象或控制項的幫助。但「這是什麼?」幫助不是在激活幫助後在默認大小的「幫助」窗口中顯示幫助主題,而是在一個彈出式小窗口顯示幫助主題,並且當用戶在屏幕任意位置單擊時該窗口消失。
「這是什麼?」幫助在提供簡單提示型描述文字或特定控制項定義時很有用,因為「這是什麼?」幫助主題簡潔、准確,窗口不會變得過大從而掩蓋用戶正在描述的特性。
要把「這是什麼?」幫助與特定表單、表單控制項或工具欄關聯起來,則應將其WhatsThisHelpID屬性設置為代表幫助中特定主題的編碼。
使用如表2所示的屬性可實現「這是什麼?」幫助功能。
若要實現「這是什麼?」幫助,則應做到:
(1)、在設計模式下打開要想啟用「這是什麼?」幫助的表單;
(2)、把表單的WhatsThisHelp屬性設置為「真」(.T.);
(3)、要在表單標題中顯示一個「這是什麼?」幫助按鈕,可將表單的WhatsThisButton屬性設置為「真」(.T.);
(4)、要把一個「這是什麼?」幫助主題與該表單關聯起來,可將表單的WhatsThisHelpID屬性設置為與幫助中主題相應的ID編碼;
(5)、要把一個「這是什麼?」幫助主題與表單上的特定控制項關聯在一起,則應在選擇控制項後將其WhatsThisHelpID屬性設置為與幫助中主題相對應的ID編碼。
4、使用WinHelp函數
通過編程來使用幫助的另一個方法是調用WinHelp函數。WinHelp函數僅用於Windows平台,它是Windows應用程序編程介面(API)的一部分。
使用WinHelp函數的步驟如下:
(1)、定義您的應用程序將要傳遞的命令參數。
有關這些參數的說明,請參閱稍後的wCmd參數。
(2)、用SET LIBRARY TO設置庫並定義要使用的變數,這個工作一般在應用程序主文件的初始化代碼中完成。
SET LIBRARY TO SYS(2004)+ 「FOXTOOLS.FLL」 ADDITIVE
Help=RegFn(「Help」,「LCIC」, 「I」)
庫一定要設置成FOXTOOLS.FLL。SYS(2004)返回安裝FOXTOOLS.DLL的Visual FoxPro根目錄。
如果希望傳送K關鍵字來打開一個幫助主題,則可用RegFn()來定義一個變數(如上例的Help變數)。如果希望打開映射帶一個編碼的幫助主題,則用RegFn來定義一個類似於上例中的Help的變數,用一個編碼代替dwData中的字元串。如果要傳遞編碼,則必須在.HPJ文件的[MAP]節中把它們與唯一的用編碼標記(#)腳註定義的上下文字元串映射起來。
(3)、使用CallFn()調用函數。
下列代碼使用CallFn()來打開幫助主題,該代碼中包含主題關鍵字。
#define HELP_KEY 0x0101
wCmd=HELP_KEY
cFileName=HOME()+「Myprogram\Myhelp.hlp"
dwData=「ADD Menu Items at Run Time"
CallFn(Help,MainNWND(),cFileName,wCmd,dwData)
有關FoxTools函數的更詳細內容,請參閱VFP、TOOLS目錄下的FOXTOOLS.HLP文件。
(4)、指定WinHelp參數
下列參數指定了WinHelp函數的參數選項。
1) hWnd參數
hWnd參數標識請求幫助的窗口。幫助使用這個標識符跟蹤哪一個應用程序請求過幫助。在Visual FoxPro中使用包含在FOXTOOLS.FLL庫中的MainHWND()函數來傳遞hWnd參數。
2)lpzFileName參數
lpzFileName參數是一個欄位串,指定包含所需主題的幫助的有效路徑及文件名稱。它是以值傳遞方式來傳遞的。
3)wCmd參數
wCmd參數指定用戶對特定主題定位的查找類型或指明應用程序不再需要幫助。它可以設置為表3中的任一值。
4)dwData參數
dwData參數代表應用程序需要查找的主題。它的內容和格式取決於應用程序調用WinHelp函數時所傳遞的wCmd值。
在大多數調用幫助時按值傳遞方式傳遞dwData參數,這是Visual FoxPro的默認設置。
根據環境設置,上一行中的dwData或者代表一個文本字元串,指示要查找的關鍵字,或者是一個數值,指示標識一個特定主題的上下文編碼。
表4中列出了wCmd每個值對應的dwData格式。
因為WinHelp可指定一個上下文編碼或關鍵字,所以它可以支持「上下文相關幫助」及對幫助中主題的查找。
說明:如果幫助系統包含兩個以上的索引時,則在應用程序中必須指定其中的一個為默認索引。要想確保設置的是正確的索引,則在應用程序調用幫助系統時應該將wCmd設置為HELP_SETINDEX(其中dwData指定相應的上下文標識)。對幫助的每次調用都要後接HELP_CONTEXT的命令設置。千萬不要把HELP_SETINDEX與HELP_INDEX一起使用。
(5)、保留F1鍵的功能
當用戶在應用程序中按F1鍵時,Vlsual FoxPro會顯示一個「上下文相關幫助」主題。為了做到這一點,可在幫助表中為需要「上下文相關幫助」的主題指定一個幫助的相關ID值,並把此值賦給表單或控制項的HelpContextID屬性。這樣,當表單或控制項獲得焦點並且用戶按下F1鍵時,Vlsual FoxPro就會適應該主題。
(6)、在表單中包含「幫助」按鈕。
如果在表單中添加了「幫助」按鈕,則用戶可以更方便地訪問幫助信息。如果用戶是個新手,則更應該考慮在表單中添加一個「幫助」按鈕。
若要設置上下文相關幫助並添加一個「幫助」按鈕,則應做到:
1)在表單的Init事件中,將表單中所有對象的HelpContextID屬性都設置為該幫助主題的ID值。例如,如果該值為7,則可用如下命令:
THIS.SetALL(「HelpContextID」,7)
2)在表單中添加一個命令按鈕。
3)把命令按鈕的Caption屬性設置為「幫助」。
4)在命令按鈕的Click事件中添加如下命令:
HELP ID THIS.HelpContextID
為了方便起見,可將「幫助」按鈕保存為一個類,這樣就可以方便地將它添加到任何錶單中。
(7)、退出圖形化幫助。
幫助系統是所有Windows應用程序共享的資源。因為它也是一個獨立的應用程序,所以用戶可以像其它應用程序一樣去執行它。這樣,您的應用程序對幫助系統就只有有限的控制能力了。
盡管您的應用程序不能直接關閉幫助系統窗口,但它可以通知幫助系統它不再需要幫助了。在關閉主窗口之前,您的應用程序應該將wCmd參數設置為 HELP_QUIT,以此來通知幫助說明您的應用程序不再需要它了。
如果應用程序在執行過程的某個位置要調用幫助系統,那麼在終止應用程序前必須將wCmd參數設置為HELP_QUIT。
如果一個應用程序打開了一個以上的幫助系統,則它必須為每一個幫助文件調用WinHelp函數以退出其幫助系統。如果一個應用程序或動態鏈接庫(DLL)已經打開了一個幫助系統但不希望幫助系統的相關實例保持活動,則該應用程序或DLL應該把wCmd參數設置為HELP_QUIT,這樣就可以退出幫助系統的那個實例了。
說明:在終止之前,一個應用程序或DLL應該對任何一個打開的幫助系統調用幫助文件。每次用幫助名來調用幫助文件時都會打開相應的幫助系統。
只有在所有調用幫助的窗口相繼把wCmd設置為HELP_QUIT後,幫助系統才退出。如果一個應用程序沒有這樣做,那麼即使在所有請求幫助的應用程序都終止以後,幫助系統仍將繼續運行。
以上介紹的是製作Windows95/98幫助系統的基本方法。事實上,目前已經出現了許多專門用於製作幫助系統的工具軟體,它們的主要共同點是可視化、所見即所得、集成處理等,其操作界面類似於Word,一般在加入了自己的工具條、菜單項後即可實現可視化設計,輕松地創建跳轉熱點、彈出熱點、圖形熱點等等,而且還可以將幫助文件列印成冊。
⑵ java計算器編程!!急急急!
//一本參考書上的
importjava.awt.*;
importjava.awt.event.*;
{
doubledResult=0;
doubledNowInput=0;
doubledMemory;
intn=0;//記載小數位數
intnOperation=1;//記錄運算符類型
intnBitsNum=0;//記錄總共輸入的位數
booleanalreadyHaveDot=false;//已經有小數點?
booleankeyAvailable=true;
booleanalreadyClickedEqueal=false;//是否按下過"="?
booleanisTempNowInput=false;//是否在計算出結果後直接按運算符將結果賦給了當前輸入值?
Framef;
Panelp1,p2,p3,p4,p5,p6;
TextFieldtf1,tf2;
Buttonb1,b2,b3,b4,b5,b6,b7,b8,b9,b0;
ButtonbDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative;
ButtonbBackspace,bCE,bC,bMR,bMS,bMC,bM;
publicvoiddisplay()
{
f=newFrame("計算器");
f.setSize(280,213);
f.setLocation(200,200);
f.setBackground(Color.LIGHT_GRAY);
f.setResizable(false);
f.setLayout(newBorderLayout(3,3));
p1=newPanel(newGridLayout(1,3,5,5));//用於存放backspace,ce,c三鍵
p2=newPanel(newGridLayout(4,5,5,5));//用於存放數字區及附近共20鍵,此處間隙設置可能不合理,以後調整
p3=newPanel(newGridLayout(5,1,5,5));//用於存放MC,MR,MS,M+鍵及顯示M狀態文本框,此處間隙設置可能不合理,以後調整
p4=newPanel(newFlowLayout());//用於存放p1,p2
p5=newPanel(newFlowLayout());
p6=newPanel(newFlowLayout());
p4.add(p1);
p4.add(p2);
tf1=newTextField(35);//存放顯示區
tf1.setText("0.");
tf1.setEditable(false);
p5.add(tf1);
f.add(p5,BorderLayout.NORTH);
f.add(p4,BorderLayout.CENTER);
f.add(p3,BorderLayout.WEST);
b1=newButton("1");
b2=newButton("2");
b3=newButton("3");
b4=newButton("4");
b5=newButton("5");
b6=newButton("6");
b7=newButton("7");
b8=newButton("8");
b9=newButton("9");
b0=newButton("0");
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b0.addActionListener(this);
bDiv=newButton("/");
bSqrt=newButton("sqrt");
bMulti=newButton("*");
bMinus=newButton("-");
bPercent=newButton("%");
bPlus=newButton("+");
bReciprocal=newButton("1/x");
bEqual=newButton("=");
bDot=newButton(".");
bNegative=newButton("+/-");
bDiv.addActionListener(this);
bSqrt.addActionListener(this);
bMulti.addActionListener(this);
bMinus.addActionListener(this);
bPercent.addActionListener(this);
bPlus.addActionListener(this);
bReciprocal.addActionListener(this);
bEqual.addActionListener(this);
bDot.addActionListener(this);
bNegative.addActionListener(this);
p2.add(b7);
p2.add(b8);
p2.add(b9);
p2.add(bDiv);
p2.add(bSqrt);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.add(bMulti);
p2.add(bPercent);
p2.add(b1);
p2.add(b2);
p2.add(b3);
p2.add(bMinus);
p2.add(bReciprocal);
p2.add(b0);
p2.add(bNegative);
p2.add(bDot);
p2.add(bPlus);
p2.add(bEqual);
bBackspace=newButton("Backspace");
bCE=newButton("CE");
bC=newButton("C");
bBackspace.addActionListener(this);
bCE.addActionListener(this);
bC.addActionListener(this);
p1.add(bBackspace);
p1.add(bCE);
p1.add(bC);
tf2=newTextField(2);
tf2.setEnabled(false);
tf2.setBackground(Color.LIGHT_GRAY);
bMC=newButton("MC");
bMR=newButton("MR");
bMS=newButton("MS");
bM=newButton("M+");
bMC.addActionListener(this);
bMR.addActionListener(this);
bMS.addActionListener(this);
bM.addActionListener(this);
p6.add(tf2);
p3.add(p6);
p3.add(bMC);
p3.add(bMR);
p3.add(bMS);
p3.add(bM);
f.setVisible(true);
f.addWindowListener(this);
}
publicvoidactionPerformed(ActionEvente)
{
//key0to9
if(this.keyAvailable&&e.getActionCommand().length()==1&&e.getActionCommand().compareTo("0")>=0&&e.getActionCommand().compareTo("9")<=0)
{
if(this.isTempNowInput)
{
this.dNowInput=0;
this.isTempNowInput=false;
}
this.nBitsNum++;
if(this.alreadyHaveDot==false)
this.dNowInput=this.dNowInput*10+Double.parseDouble(e.getActionCommand());
else
{
doubletemp=Double.parseDouble(e.getActionCommand());
for(inti=this.n;i<0;i++)
{
temp*=0.1;
}
this.dNowInput+=temp;
this.n--;
}
this.tf1.setText(Double.toString(this.dNowInput));
}
//keydot
if(this.keyAvailable&&e.getActionCommand()==".")
{
if(this.alreadyHaveDot==false)
{
this.nBitsNum++;
this.alreadyHaveDot=true;
this.n=-1;
}
}
//key"+","-","*","/"
if(this.keyAvailable&&e.getActionCommand()=="+"||e.getActionCommand()=="-"||e.getActionCommand()=="*"||e.getActionCommand()=="/")
{
if(this.alreadyClickedEqueal)
{
this.dNowInput=this.dResult;
this.isTempNowInput=true;
}
else
{
switch(this.nOperation)
{
case1:this.dResult+=this.dNowInput;break;
case2:this.dResult-=this.dNowInput;break;
case3:this.dResult*=this.dNowInput;break;
case4:
{
if(this.dNowInput==0)
{
tf1.setText("除數不能為零");
this.keyAvailable=false;
}
elsethis.dResult=this.dResult/this.dNowInput;
}
}
if(this.keyAvailable)tf1.setText(Double.toString(this.dResult));
this.dNowInput=0;
}
if(e.getActionCommand()=="+")
{
this.nOperation=1;
}
if(e.getActionCommand()=="-")
{
this.nOperation=2;
}
if(e.getActionCommand()=="*")
{
this.nOperation=3;
}
if(e.getActionCommand()=="/")
{
this.nOperation=4;
}
this.nBitsNum=0;
this.alreadyClickedEqueal=false;
}
//key"+/-"
if(this.keyAvailable&&e.getActionCommand()=="+/-")
{
this.dNowInput=0-this.dNowInput;
tf1.setText(Double.toString(this.dNowInput));
}
//key"C"
if(e.getActionCommand()=="C")
{
this.nBitsNum=0;
this.dResult=0;
this.dNowInput=0;
this.alreadyHaveDot=false;
this.n=0;
this.nOperation=1;
this.keyAvailable=true;
this.alreadyClickedEqueal=false;
tf1.setText("0.");
}
//key"CE"
if(e.getActionCommand()=="CE")
{
this.nBitsNum=0;
this.dNowInput=0;
this.alreadyHaveDot=false;
this.n=0;
this.nOperation=1;
this.keyAvailable=true;
tf1.setText("0.");
}
//key"sqrt"
if(this.keyAvailable&&e.getActionCommand()=="sqrt")
{
if(this.alreadyClickedEqueal)
{
if(this.dResult>=0)
{
this.dResult=Math.sqrt(this.dResult);
tf1.setText(Double.toString(this.dResult));
}
else
{
tf1.setText("函數輸入無效");
this.keyAvailable=false;
}
}
else
{
if(this.dNowInput>=0)
{
this.dNowInput=Math.sqrt(this.dNowInput);
tf1.setText(Double.toString(this.dNowInput));
}
else
{
tf1.setText("函數輸入無效");
this.keyAvailable=false;
}
}
}
//key"1/x"
if(this.keyAvailable&&e.getActionCommand()=="1/x")
{
if(this.dNowInput==0)
{
tf1.setText("除數不能為零");
this.keyAvailable=false;
}
else
{
this.dNowInput=1/this.dNowInput;
tf1.setText(Double.toString(this.dNowInput));
}
}
//key"="
if(this.keyAvailable&&e.getActionCommand()=="=")
{
this.alreadyClickedEqueal=true;
switch(this.nOperation)
{
case1:this.dResult+=this.dNowInput;break;
case2:this.dResult-=this.dNowInput;break;
case3:this.dResult*=this.dNowInput;break;
case4:
{
if(this.dNowInput==0)
{
tf1.setText("除數不能為零");
this.keyAvailable=false;
}
elsethis.dResult=this.dResult/this.dNowInput;
}
}
if(this.keyAvailable)tf1.setText(Double.toString(this.dResult));
}
//key"MS"
if(this.keyAvailable&&e.getActionCommand()=="MS")
{
this.dMemory=this.dNowInput;
if(this.dMemory!=0)
tf2.setText("M");
}
//key"MC"
if(this.keyAvailable&&e.getActionCommand()=="MC")
{
this.dMemory=0;
tf2.setText("");
}
//key"MR"
if(this.keyAvailable&&e.getActionCommand()=="MR")
{
this.dNowInput=this.dMemory;
tf1.setText(Double.toString(this.dNowInput));
}
//key"M+"
if(this.keyAvailable&&e.getActionCommand()=="M+")
{
this.dMemory+=this.dNowInput;
if(this.dMemory!=0)
tf2.setText("M");
elsetf2.setText("");
}
//key"%"
if(this.keyAvailable&&e.getActionCommand()=="%")
{
this.dNowInput=(this.dResult*this.dNowInput)/100;
tf1.setText(Double.toString(this.dNowInput));
}
//key"Backspace"
if(this.keyAvailable&&e.getActionCommand()=="Backspace")
{
if(!this.alreadyClickedEqueal){
if(this.dNowInput!=0)
{
if(this.alreadyHaveDot)
{
if(this.n==-1)
{
this.alreadyHaveDot=false;
this.n=0;
}
else
{
Stringstr,str1;
str=tf1.getText();
str1=str.substring(0,this.nBitsNum-1);
this.nBitsNum--;
this.n++;
this.dNowInput=Double.parseDouble(str1);
tf1.setText(Double.toString(this.dNowInput));
}
}
else
{
inttemp;
temp=(int)(this.dNowInput/10);
this.dNowInput=(double)temp;
tf1.setText(Double.toString(this.dNowInput));
}
}
}
}
}
publicstaticvoidmain(Stringargs[])
{
Calculationcal=newCalculation();
cal.display();
}
publicvoidwindowClosing(WindowEvente)
{
System.exit(0);
}
}
⑶ 電腦是誰發明出來的,後來怎麼改進
第一台計算機是美國軍方定製,專門為了計算彈道和射擊特性表面而研製的,承擔開發任務的「莫爾小組」由四位科學家和工程師埃克特、莫克利、戈爾斯坦、博克斯組成。1946年這台計算機主要元器件採用的是電子管。該機使用了1500
ENIAC
個繼電器,18800個電子管,佔地170m2,重量重達30多噸,耗電150KW,造價48萬美元。開機時讓周圍居民暫時停電。這台計算機每秒能完成5000次加法運算,400次乘法運算,比當時最快的計算工具快300倍,是繼電器計算機的1000倍、手工計算的20萬倍。用今天的標准看,它是那樣的「笨拙」和「低級」,其功能遠不如一隻掌上可編程計算器,但它使科學家們從復雜的計算中解脫出來,它的誕生標志著人類進入了一個嶄新的信息革命時代。
具體的你可以點擊鏈接了解。http://ke..com/link?url=PGXNfLGwtO1ms5eeMjl-Mt8rpbMr0W3YkHqVLsUrzXdV_
⑷ 基礎代謝率低是好事還是壞事怎樣調整
一、當然是壞事,基礎代謝就是你一天光睡覺消耗的能量,
一般來說年齡越大基礎代謝越低,這樣就是為什麼中老年人比較容易發胖。如果基礎代謝比較低,那會比較容易發胖。
二、
調整飲食熱量
有節食減肥的相關研究報告指出,一天只吃一餐50卡的的熱量,和一天吃三餐累積1000卡總熱量比較時,減重的成績和速度是一樣,並沒有更多或更快,所以如果你現在的飲食計劃為一天1000卡,遇上體重停滯期時,可以增加至一天1200卡,這樣反而容易突破瓶頸。
2 .補充維他命B群,不要成為夜貓子
3.多喝水
基本上,光是多喝水就能促進腸胃蠕動,並透過流汗或排尿,把體內多餘的毒素和廢物排出來,加速新陳代謝,多多飲用不僅沒有熱量,還能加速新陳代謝,可算是一舉兩得。
4.停止無效的節食,多攝取蛋白質
別再漫無目的的節食了,否則你會發現身體越來越糟,體重卻是一動也不動!因為當大腦接收到飢餓的訊息後,為了維持正常身體機能,便會自動調節使新陳代謝的速度減緩,雖然吃得少,但消耗能力同時也變少了,這種方式當然行不通,只會造成身體的傷害。
相反地,改變飲食內容,加強攝取纖維素與蛋白質,才是提升新陳代謝的安全方式,含有容易消化的蛋白質及高含量的次亞麻油酸的食物,能幫助提升熱量的代謝並加強免疫功能。
5.多做深呼吸
別懷疑,呼吸的順暢會對新陳代謝有所影響。呼吸的目的是為了把新鮮的氧氣送進肺部,經由氣體交換後,再把不要的廢物及二氧化碳排出體外,完成體內氧化代謝與循環的功效。正常的靜息呼吸都是無自主意識下的反射動作平均每分鍾12~15次,每次吸氣送進肺部的容量實在有限,
而事實上,呼吸頻率越快表示呼吸量越小,吸進肺部的氧氣,還來不及完成作用,就又被送出去了,加上短促的呼氣,更使得廢棄的二氧化碳繼續殘留在肺里,所以嘍!要經常提醒自己做做深呼吸,幫助加速體內廢棄物的代謝。
6.不喜歡喝水建議可選能促進代謝的綠茶
綠茶中的氨基酸、多酚類、維生素等成分,可以幫助降低血脂和膽固醇,並能調節脂肪代謝,除此之外,茶中的咖啡因同時具有利尿和刺激胃液分泌的作用,還可增加肌肉的呼吸速度及工作量,因此多喝不含糖的綠茶有益健康。
且具有利尿作用,經常飲用對於皮膚粗糙、消除浮腫、改善便秘等都有所助益。另外,每天早晨喝點醋,也可提高人體新陳代謝,因為含有氨基酸的醋,能促進消耗體內過多脂肪,加強蛋白質和醣類的代謝。
7.利用正確的按摩手法也能促進代謝
體內淋巴液與血液循環是否通暢,會影響身體對於廢物、毒素等物質的排除速度,因此透過正確的按摩手法,也能維持血液循環的順暢,加速代謝,順利處理體內廢物。
這種從四肢末梢朝心臟方向按摩的「向心性按摩」,對於推動淋巴及血液的流動有所助益,能使肌肉的代謝更加旺盛,提供細胞更多促進代謝的營養素與幫助脂肪燃燒的氧氣,同時加速排除廢物,每天看電視的時候順便做做按摩,輕輕鬆鬆就能更健康。
8. 泡泡熱水澡就能變美麗
泡澡是另一個促進新陳代謝最簡單的方法之一,利用高溫反復入浴的方式,促進血管收縮、擴張,並刺激汗腺發汗,每次泡澡3分鍾,休息5分鍾再入浴的循環重復三次,就能在不知不覺中消耗大量能量,效果相當好。同時,泡澡也能促進老舊角質更新,保持肌膚光滑細致。
必須注意的是,心臟不好的人並不適合洗三溫暖或常泡熱水澡,此時不妨以傳統的保健良方——熱水泡腳來取代,這不只能使腳部微血管擴張,促進全身血液循環,還可增加細胞通透性,提高新陳代謝,同時達到健身的作用,並且改善雙腳冰冷的情況。
9. 加入重量訓練,增加肌肉組織
人體內的肌肉組織越多,越能燃燒更多熱量,使新陳代謝加速,但是過了30歲之後,肌肉會逐漸流失,進而導致代謝下降,因此,若想維持良好的代謝速度,就必須趕緊鍛煉,以增加肌肉量。對肌肉組織較少的女性來說,舉重這類可以幫助增加肌肉的重量訓練運動,就顯得格外重要,因為增加肌肉數量就能增加新陳代謝。
一旦肌肉量增加了,一天將可以增加消耗100到300卡洛里,甚至更多。不必擔心肌力訓練做多了,會練出一身「健美的肌肉」,因為男女的肌肉組織並不相同,所以不用擔心會變成肌肉男。
10. 運動是提升代謝最快速的捷徑
別忘了運動333原則: 每次運動之後,人體基礎代謝率會持續升高24小時!這就是為什麼醫生們都建議2天運動一次或每周運動三次即可;可是注意喔~每次需要持續半小時以上才行,因為運動時的前15分鍾燃燒的是「肝糖類」,運動達半小時之後才會開始燃燒體內的脂肪。
千萬別小看這短短30分鍾的運動量,它除了可以幫助消耗熱量、減輕體重外,更大的好處是運動之後,能將氧氣帶到全身各部位,大大提升新陳代謝率、有效燃燒脂肪,效果並會持續數個小時之久。
(4)bmr編程擴展閱讀:
提高新陳代謝的其他方法:
1、「不要狂減熱量的攝入」
人體有著一套自動保持正常體重的程序,如果你突然從飲食中減掉 1000 大卡的熱量,你身體的基礎新陳代謝率將自動減緩,這不會幫你更好的瘦身。你應該做的是循序漸進,慢慢減少熱量的攝入,比如今天少攝入 200 大卡,保持幾天後繼續減少熱量的攝入。
2、「早餐一定要吃」
早餐是三餐中與代謝及減肥關系最密切的。人在睡眠時,新陳代謝率會很低,早晨的第一餐會讓你的新陳代謝恢復正常水平,幫助你更好的消耗熱量。所以,如果忽略早餐,身體在午飯之前不可能和往常一樣燃燒脂肪,早餐就像是新陳代謝的啟動器。
3、「多吃蛋白質食物」
攝取足量的蛋白質能夠提高肌體的新陳代謝水平,使人體每日多燃燒 150~200 大卡的熱量。蛋白質主要是由氨基酸組成的,肌體消化這類食物比消化脂肪及碳水化合物更費時費力。所以,要將它們分解掉就需要燃燒更多的熱量。我們應當保證每日攝入總熱量的 25%~35% 來自蛋白質,這樣的飲食結構才算平衡。建議每公斤體重攝入蛋白為 1.2 克- 2 克。
4、「增加進食次數」
每天吃 4-5 頓小餐要比 3 頓大餐更能保持較高的新陳代謝水平。兩餐之間的時間要盡量保持在 2~3 小時之內,並且要保證每餐必須有蛋白質食物,它可是新陳代謝的增強劑。
5、「學會吃碳水化合物」
精製碳水化合物,如白面,能使胰島素水平不穩定,也相應促進了脂肪在肌體內的存儲,由此會降低新陳代謝率。因而,補充碳水化合物時,應以含高纖維者為佳,如各類蔬菜、水果及全麥穀物等,它們都屬於好的碳水化合物,這些食物對胰島素水平影響很小。
6、「戒酒」
拿酒杯時要三思。最近有多項研究表明,餐前飲酒會使人多攝入 200 千卡熱量。另有研究發現,肌體在發揮新陳代謝功能時,首先燃燒的是酒精中所含的熱量。也就是說,其他飲食中的熱量有可能作為脂肪存儲於皮下。養生的紅葡萄酒,可以小酌一杯,但也不要貪杯。
7、「進行力量訓練」
力量訓練是提高身體基礎新陳代謝率的最佳方式。隨著年齡的增長,肌體基礎新陳代謝率會下降,但是力量訓練能使肌肉重獲新生,1 磅肌肉所燃燒的熱量是1 磅脂肪的 9 倍。經常進行力量訓練,能隨時隨地使基礎新陳代謝率提高 6.8%~7.8% 。
也就是說,如果你體重 120 磅,每天就會多燃燒約 100 千卡熱量,即使睡覺時也在燃燒脂肪。
8、「學會利用經期燃燒脂肪」
每當經前綜合症帶來的情緒波動與肢體腫脹出現,女性就喜歡懶洋洋地窩在沙發上。不過,如果在月經來臨之前的這段時間進行健身訓練,會減掉更多的肥肉。女性在從排卵到月經來潮的時間內進行健身鍛煉,能多燃燒掉 20% 的脂肪。
因為在經前這段時間內,雌激素與孕激素的水平已達峰值,這些激素能夠促進肌體利用脂肪作為能量。
參考資料:
網路-人體新陳代謝率
⑸ 關於單片機的幾道編程題,給50分,求幫助。
1:
BM16:
MOV A,R3
JNB ACC.7,BMR
MOV A,R2
CPL A
ADD A,#1
MOV R2,A
MOV A,R3
CPL A
ADDC A,#0
SETB ACC.7
MOV R3,A
BMR:
RET
2:
CHKFF:
MOV R2,#30H
MOV R0,#50H
LOOP:
MOV A,@R0
CJNE A,#0FFH,LOOP1
MOV R0,#81H
MOV @R0,#01H
RET
LOOP1:
INC R0
SJMP LOOP
3:
FMQ:
CLR P1.0
LCALL DELAY
SETB P1.0
LCALL DELAY
SJMP FMQ
DELAY:
MOV R2,#10
DELAY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DELAY1
RET
4:
MDAT:
MOV DPTR,#1000H
MOV R2,#200
MOV R0,#30H
MLP:
MOVX A,@DPTR
MOV @R0,A
INC R0
INC DPTR
DJNZ R2,MLP
RET
5:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0INT
ORG 0030H
T0INT:
CLR TR0
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
INC R2
MOV A,R2
CJNE A,#10,T0RET
MOV R2,#0
SETB 00H
T0RET:
RETI
MAIN:
MOV SP,#5FH
MOV TMOD,#01H
SETB TR0
SETB ET0
SETB EA
MOV R2,#0
CLR 00H
SJMP $
END
6:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV SP,#5FH
MOV A,#0FEH
LOOP:
MOV P1,A
LCALL DELAY
RL A
SJMP LOOP
DELAY:
MOV R2,#100
DELAY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DELAY1
RET
END
⑹ 15w左右的電腦硬體配置誰會 謝謝!
4路走起啊!再來個3-4個980 TI SLI 。 內存搞個128G以上。具體配置另外給你
E5-2699 v3 兩顆,2萬左右
華碩Z10PE-D16 WS 雙路工作站主板(支持3個顯卡)4000左右
顯卡是980TI或者TITAN X 兩個 1-2萬左右 再加一個TESLA 便宜的1萬 貴的3萬左右。
英特爾 750 400G Series PCI-E NVMe SSD固態硬碟 估計只能放一個了。
128G內存 估價5000以上1萬以內。
電源機箱算1500. 不帶顯示器,推薦LG 顯示器。最多10萬估計可以干翻了。
覺得不行自行看一下http://itianti.sinaapp.com/index.php/cpu 排行榜數據!TITANX 和980ti 數據自己看。自己比較排行榜數據。
⑺ 求《JAVA數字圖像處理》全文免費下載百度網盤資源,謝謝~
《JAVA數字圖像處理》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1dBgm094OBx5BojEk_BmRFg
簡介:在開始本書內容之前,筆者假設你已經有了面向對象語言編程的基本概念,了解Java語言的基本語法與特徵,原因在於本書的所有源代碼都是基於Java語言實現的,而且是基於Java開發環境運行與演示所有圖像處理演算法的。本書第1章到第3章是為了幫助讀者了解與掌握Java圖形與GUI編程的基本知識與概念而寫的。本章主要介紹Java GUI編程中基本的圖形知識,針對GU1編程,Java語言提供了兩套幾乎並行的API,分別是Swing與AWT。早期的Java GUJ編程中主要使用AWT的相關組件,但是AWT的功能並不是十分強大,而且嚴重依賴本地介面。於是在Java 1.3及後續版本中引入了Swing工具實現GUl編程,Swing中的組件大多數都是基於純Java語言實現的,而不是通過本地組件實現的,所以它們是輕量級的GUI組件,同時Swing對圖形與圖像的支持操作也有很大的提高與增強。如何區分AWT組件與Swing組件?一個簡單而且相當直觀的方法是看Class的名稱,Swing的組件大多數帶有大寫的前綴字母J。