3.1 與輸入/輸出有關的控制項
乙個程式,如果沒有輸出操作則沒有什麼實用價值,而如果沒有輸入操作,則必然缺乏靈活性。因此,輸入與輸出是應用程式最基本的功能。
在標準(standard)元件板中,delphi 提供了最為基本的輸入/輸出控制項:
標籤(label)控制項、
編輯框(edit)控制項
進行多行輸入的備註框(memo)控制項。
掩碼編輯框(maskedit )控制項
3.1.1 label控制項
標籤(label)是delphi 中最常用的輸出文字資訊的工具。與早期pascal 語言中的write輸出語句相比,標籤更加靈活與方便。
1. 標籤的常用屬性
2. 使用標籤
【例3-1】使用標籤控制文字的輸出
【例3-2】利用標籤設計並控制文字的投影效果
1. 標籤的常用屬性
標籤在delphi中用tlabel類處理,其主要屬性見下表。
2. 使用標籤
label 控制項顯示的文字使用者不能直接修改。有些沒有自己的標題(caption)屬性的控制項(如edit等)可以用label標識,label中顯示的文字是由caption屬性控制的,可以在設計時通過「屬性」視窗設定或在執行時用**對其賦值。
【例3-1】使用標籤控制文字的輸出
設計要求:
設計步驟:
(1) 建立應用程式擁護介面。選擇「新建」工程,進入窗體設計器,增加乙個標籤label1和乙個按鈕button1。如下圖
(2) 設定物件屬性,見下表
適當調整標籤與按鈕的位置,如下圖所示。
(3) 編寫程式**。
編寫按鈕button1的單擊(onclick)事件**:
procedure tform1.button1click(sender: tobject);
begin
label1.caption:= formatdatetime('"今天是:"' + #13 + 'dddddd', date);
label1.left:= (form1.width - label1.width) div 2;
end;
說明:控制項的left屬性表示該控制項的左邊位置,通過改變屬性值,可以控制控制項的左右位置。另外,控制項的top屬性可以用來控制控制項的上下位置。
【例3-2】利用標籤設計並控制文字的投影效果
設計要求:
設計步驟如下:
(1) 建立應用程式擁護介面。選擇「新建」工程,進入窗體設計器,增加兩個標籤label1~label2和兩個按鈕button1~button2.如下圖。
(2) 設定物件屬性
適當調整兩個標籤的相互位置,如下
圖所示。
(3)編寫程式**。
編寫按鈕button1的單擊(onclick)事件**:
procedure tform1.button1click(sender: tobject);
begin
label1.left:= label2.left + 4;
+ 4;
end;
編寫按鈕button2的單擊(onclick)事件**:
procedure tform1.button2click(sender: tobject);
begin
label1.left:= label2.left - 4;
+ 4;
end;
3.1.2 edit控制項
編輯框(edit)是一種通用控制項,即可以輸入文字,又可以顯示文字,是應用程式中最常用的控制項之一。
1. 常用屬性
2、edit常用的事件
3. 使用編輯框
【例3-3】 交換兩個變數中的資料
【例3-4】輸入球體的半徑,然後計算並輸出球體的體積和表面積
1. 常用屬性
編輯框在delphi中用tedit類處理,其常用屬性見下表。
說明:(1) 屬性borderstyle 有兩種選擇:有單線(bssingel)或者無(bsnone)邊框。
(2) 屬性charcase的取值見下表。
2、edit常用的事件
edit常用的幾個事件為:onchange、onkeypress、onenter事件,下面對它們做簡單的介紹:
3. 使用編輯框
編輯框中顯示的文字是受text屬性控制的。text屬性可以用三種方式設定:設計時在「屬性」視窗進行、執行時通過**設定或在執行時由使用者輸入。
通過讀text屬效能在執行時檢索編輯框的當前內容。
【例3-3】 交換兩個變數中的資料
設計要求:
分析:將兩個不同的變數設想為兩個瓶子a、b,其中分別裝有不同顏色的液體,要交換瓶子中的液體。可以這樣來做:
另取乙個瓶子c,想將瓶a中的液體倒入瓶c中,再將瓶b中的液體倒入a中,最後將瓶c中的液體倒入瓶b中即可。根據分析畫出如圖3-6所示的流程圖。
開始 c←a
a←bb←c結束設計步驟如下:
(1) 建立應用程式使用者介面。選擇「新建」工程,進入窗體設計器,增加兩個標籤label1,label2、;兩個編輯框edit1,edit2和乙個按鈕button1。如下圖。
(2) 設定物件屬性。
(3)編寫程式**。
編寫按鈕button1的單擊(onclick)事件**:
procedure tform1.button1click(sender: tobject);
var a: string;
begin
a:= edit1.text;
edit1.text:= edit2.text;
edit2.text:= a;
end;
說明:交換兩個變數是最常用的演算法之一。
【例3-4】輸入球體的半徑,然後計算並輸出球體的體積和表面積
設計要求:
分析:設球的半徑為r,球體積和球表面積分別為:v和f,依題義可得計算公式:
設計步驟如下:
(1) 建立應用程式使用者介面。選擇「新建」工程,進入窗體設計器,增加三個標籤label1--label3、三個編輯框edit1~edit3和乙個按鈕button1,如下圖。
(2) 設定物件屬性。
(3)編寫程式**。
編寫按鈕button1的單擊(onclick)事件**:
procedure tform1.button1click(sender: tobject);
var r,v,f: double;
begin
r:= strtofloat(edit1.text);
v:= 4/3*pi*r*r*r;
f:= 4*pi*r*r;
edit2.text:= floattostr(v);
edit3.text:= floattostr(f);
end;
第三章順序結構
一 c語句概述 1 c程式的結構 2 c語句的型別 1 控制語句 用於控制程式的流程,以實現程式的各種結構方式,可分成以下三類 1 條件判斷語句 if else語句 switch語句 2 迴圈執行語句 do while語句 while語句 for語句 3 轉向語句 break語句 goto語句 co...
第三章順序結構
c 的程式採用了結構化程式設計.結構化程式設計要求的順序 選擇 迴圈的控制結構,使編寫的程式結構清晰。順序結構就是按照語句的先後順序來執行的方式。第一節賦值語句 賦值語句的一般形式 變數名 表示式 變數名必須在變數說明部分已經定義過。與 兩個等號連線在一起 的區別 賦值號是將其右邊的表示式的值賦給左...
第三章順序結構程式設計
一 選擇題 1.c語言中呼叫printf進行輸出時需要注意,在格式控制串中,格式說明與輸出項的個數必須相同。如果格式說明的個數小於輸出項的個數,多餘的輸出項將如果格式說明的個數多於輸出項的個數,則對於多餘的格式將輸出不定值 或0 0級 a 不予輸出 b 輸出空格 c 照樣輸出 d 輸出不定值或0 2...