1樓:
var shijian:tdatetime; /定義變數。
hour,min,sec,msec:word; /定義變數。
begin//重新整理,可能是清除原來畫上的內容。
shijian:=now; /shijian變數賦值為當前時間。
decodetime(shijian,hour,min,sec,msec); 把當前的時間拆分成小時、分、秒、毫秒。
with canvas do //畫布,下面圖形在此畫布上繪製。
begin時針 :=3; /畫筆線寬3
clblack; /畫筆顏色為clblack
moveto(200,200); 從中心座標為200,200開始。
lineto(200+round(sin(hour/12*2*pi)*45),200-round(cos(hour/12*2*pi)*45));畫線並根據hour計算角度。
2; /畫筆線寬2
分針 :=clblue; /畫筆顏色為clblue
moveto(200,200); 從中心座標為200,200開始。
lineto(200+round(sin(min/60*2*pi)*60),200-round(cos(min/60*2*pi)*60));畫線並根據min計算角度。
秒針 :=1; /畫筆線寬1
clred; /畫筆顏色為clred
moveto(200,200); 從中心座標為200,200開始。
lineto(200+round(sin(sec/60*2*pi)*70),200-round(cos(sec/60*2*pi)*70));畫線並根據sec計算角度。
end;
2樓:e熊
varshijian: tdatetime;
hour, min, sec, msec: word;
螢幕重繪,可吧清除原來畫上的內容。
shijian :=now; /取當前時間。
decodetime(shijian, hour, min, sec, msec); 將當前時間分解為時、分、秒三個變數。
下面根據時、分、秒三個值分別畫時針、分針、秒針。
with canvas do //畫布物件,圖形在這個上面繪製。
begin/時針。
3; /畫時針的畫筆的線寬。
clblack; /畫筆顏色。
moveto(200, 200); 時鐘的中心點為200,200
下面根據 hour (時)來計算時針的終點座標,並從中心點到終點畫一條線,代表時針。
lineto(200 + round(sin(hour / 12 * 2 * pi) *45), 200 - round(cos(hour / 12 * 2 * pi) *45));
分針 (同上)
clblue;
moveto(200, 200);
lineto(200 + round(sin(min / 60 * 2 * pi) *60), 200 - round(cos(min / 60 * 2 * pi) *60));
秒針 (同上)
clred;
moveto(200, 200);
lineto(200 + round(sin(sec / 60 * 2 * pi) *70), 200 - round(cos(sec / 60 * 2 * pi) *70));
end; /with
end;
delphi7執行庫問題
3樓:ch陳先生
可能程式不相容,可以更換個版本試試。
從字面上看,執行庫是程式在執行時所需要的庫檔案。通常執行庫是以dll形式提供的。delphi和c++builder的執行庫為.bpl檔案,實簡衡際還是乙個dll。
執行庫中一般寬咐爛包括編慎漏程時常用的函式,如字串操作、檔案操作、介面等內容。
不同的語言所支援的函式通常是不同的,所以使用的庫也是完全不同的,這就是為什麼有vb執行庫、c執行庫、delphi執行庫之分的原因。即使都是c++語言,也可能因為提供的函式不同,而使用不同的庫。如vc++使用的執行庫和c++builder就完全不同。
為什麼delphi的教程那麼少?
4樓:哎呀
以下一系列原因至使delphi的使用者群越來越少,所以資料也就越來越少,原意為delphi寫書的人就越來越少。
1、delphi的實際使用人群越來越少,delphi工程師的就業前景越來越小。
2、delphi的後期版本除一些特別點上有不同外,主要操作、介面是很類似的,掌握了delphi7,其後續版本對腦子不太笨的技術人員來說,其本上就都掌握了。一些不同的地方,上網查查多數就懂了。
3、delphi主要用於資料庫的二層架構的客戶端開發,當前,基於這種二層架構的資料庫系統的安全性越來越被人認識到,所以只要安全要求不高的環境下才有用,所以,市場越來越小,所以用它的人越來越少。
4、當前的電腦應用越來越網路化,基於。net、基於**開發、基於3層架構的開發越來越被人看重,所以,delphi的使用人群越來越少,隨之而來的結果,自然是資料也越來越少。
5、也可以使用delphi的最新版本進行。net的**開發,但,很明顯,不如使用微軟的vs系列,因為微軟自身掌握了核心技術,穩性性、易用性、通用性、使用人群都要比delphi廣。
6、與delphi的出品公司的運作理念也有很大的關係,delphi與bcb原來是寶蘭公司的,後來被embarcadero(易愽龍)收購,兩個公司對市場的運作都很菜,宣傳不利,產品又以天價賣,其結果是正規公司用不起,非正規公司及個人使用者用盜版。
5樓:匿名使用者
delphi7 是delphi 最經典穩定的版本,後續的xe系列只是乙個版本名字的變更和ui的變化,實際修改的內容並不多。
6樓:匿名使用者
delphi在逐漸沒落,哎。
看了樓下的,補充說明一下。
後續的xe系列不只是乙個版本名字的變更和ui的變化,最主要的變化是2009以前的版本是基於ansi的,而2009及後續版本是支援unicode的。此外,xe還啟用了一套新的跨平台ui庫firemonkey,類似於wpf。還有就是xe系列多了移動裝置的開發。
DELPHI程式問題
假設你getwindowtext所用的視窗控制代碼引數為hwnd,只需要向對應控制代碼的視窗傳送wm close命令便可,是 postmessage hwnd,wm close,0,0 在form的keypress或者keydown下面寫?我沒用過delphi,倒是用過用他的bcb,在bcb裡可以在...
delphi 查詢返回問題
用if語句依次查詢每個edit就可以了吧。只要你eidt裡面的資料不改變,比如把qq放到edit2裡面去。delphi查詢問題 不用這麼麻煩,直接在adoquery的afterscroll事件中寫入 shuming asstring zuozhe asstring zongshuliang asst...
請教有關Delphi程式設計的問題?
看來你是新手,我給你細講一下 1.啟動delphi介面。在上面拖2個edit輸入框。2.雙擊第乙個輸入框,會進入 事件編寫環境。預設生成的 如下 procedure tobject beginend 把它修改為 procedure tobject vars string i integer s fo...