一、Delphi 2009 中的泛型
生活随笔
收集整理的這篇文章主要介紹了
一、Delphi 2009 中的泛型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
代碼文件:
unit?Unit1;interface
uses
??Windows,?Messages,?SysUtils,?Variants,?Classes,?Graphics,?Controls,?Forms,
??Dialogs,?StdCtrls;
type
??TForm1?=?class(TForm)
????Memo1:?TMemo;
????Button1:?TButton;
????Button2:?TButton;
????Button3:?TButton;
????Button4:?TButton;
????Button5:?TButton;
????procedure?Button1Click(Sender:?TObject);
????procedure?Button2Click(Sender:?TObject);
????procedure?Button3Click(Sender:?TObject);
????procedure?Button4Click(Sender:?TObject);
????procedure?Button5Click(Sender:?TObject);
??end;
var
??Form1:?TForm1;
implementation
{$R?*.dfm}
type
??TArr<T>?=?array[0..9]?of?T;?{定義一個泛型數組}
??{雖然大家習慣用?T?來泛指其他類型,?但使用其他合法的標識符也是可以的}
{用作?Integer}
procedure?TForm1.Button1Click(Sender:?TObject);
var
??Arr:?TArr<Integer>;
??i:?Integer;
begin
??for?i?:=?Low(Arr)?to?High(Arr)?do
????Arr[i]?:=?i?*?i;
??Memo1.Clear;
??for?i?:=?Low(Arr)?to?High(Arr)?do
????Memo1.Lines.Add(Format('Arr[%d]?=?%d',?[i,?Arr[i]]));
end;
{用作?string}
procedure?TForm1.Button2Click(Sender:?TObject);
var
??Arr:?TArr<string>;
??i:?Integer;
begin
??for?i?:=?Low(Arr)?to?High(Arr)?do
????Arr[i]?:=?StringOfChar(Char(i+97),?3);
??Memo1.Clear;
??for?i?:=?Low(Arr)?to?High(Arr)?do
????Memo1.Lines.Add(Format('Arr[%d]?=?%s',?[i,?Arr[i]]));
end;
{用作?Single}
procedure?TForm1.Button3Click(Sender:?TObject);
var
??Arr:?TArr<Single>;
??i:?Integer;
begin
??for?i?:=?Low(Arr)?to?High(Arr)?do
????Arr[i]?:=?100?/?(i+1);
??Memo1.Clear;
??for?i?:=?Low(Arr)?to?High(Arr)?do
????Memo1.Lines.Add(Format('Arr[%d]?=?%f',?[i,?Arr[i]]));
end;
{用作記錄?TPoint}
procedure?TForm1.Button4Click(Sender:?TObject);
var
??Arr:?TArr<TPoint>;
??i:?Integer;
begin
??for?i?:=?Low(Arr)?to?High(Arr)?do
????Arr[i]?:=?Point(i,?i*2);
??Memo1.Clear;
??for?i?:=?Low(Arr)?to?High(Arr)?do
????Memo1.Lines.Add(Format('Arr[%d]?=?(%d,%d)',?[i,?Arr[i].X,?Arr[i].Y]));
end;
{用作類?TButton}
procedure?TForm1.Button5Click(Sender:?TObject);
var
??Arr:?TArr<TButton>;
??i:?Integer;
begin
??for?i?:=?Low(Arr)?to?High(Arr)?do
??begin
????Arr[i]?:=?TButton.Create(Self);
????Arr[i].Name?:=?Concat('Btn',?IntToStr(i+1));
??end;
??Memo1.Clear;
??for?i?:=?Low(Arr)?to?High(Arr)?do
????Memo1.Lines.Add(Format('Arr[%d]?is?%s',?[i,?Arr[i].Name]));
??for?i?:=?Low(Arr)?to?High(Arr)?do?Arr[i].Free;
end;
end.
?
窗體文件:
?
object?Form1:?TForm1??Left?=?0
??Top?=?0
??Caption?=?'Form1'
??ClientHeight?=?158
??ClientWidth?=?232
??Color?=?clBtnFace
??Font.Charset?=?DEFAULT_CHARSET
??Font.Color?=?clWindowText
??Font.Height?=?-11
??Font.Name?=?'Tahoma'
??Font.Style?=?[]
??OldCreateOrder?=?False
??PixelsPerInch?=?96
??TextHeight?=?13
??object?Button1:?TButton
????Left?=?136
????Top?=?6
????Width?=?75
????Height?=?25
????Caption?=?'Button1'
????TabOrder?=?0
????OnClick?=?Button1Click
??end
??object?Memo1:?TMemo
????Left?=?0
????Top?=?0
????Width?=?113
????Height?=?158
????Align?=?alLeft
????Lines.Strings?=?(
??????'Memo1')
????ScrollBars?=?ssVertical
????TabOrder?=?1
????ExplicitHeight?=?167
??end
??object?Button2:?TButton
????Left?=?136
????Top?=?36
????Width?=?75
????Height?=?25
????Caption?=?'Button2'
????TabOrder?=?2
????OnClick?=?Button2Click
??end
??object?Button3:?TButton
????Left?=?136
????Top?=?66
????Width?=?75
????Height?=?25
????Caption?=?'Button3'
????TabOrder?=?3
????OnClick?=?Button3Click
??end
??object?Button4:?TButton
????Left?=?136
????Top?=?96
????Width?=?75
????Height?=?25
????Caption?=?'Button4'
????TabOrder?=?4
????OnClick?=?Button4Click
??end
??object?Button5:?TButton
????Left?=?136
????Top?=?126
????Width?=?75
????Height?=?25
????Caption?=?'Button5'
????TabOrder?=?5
????OnClick?=?Button5Click
??end
end
?
轉載于:https://www.cnblogs.com/jxgxy/archive/2009/11/03/1595046.html
總結
以上是生活随笔為你收集整理的一、Delphi 2009 中的泛型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 还是丁三石强悍啊
- 下一篇: 搭建nagios监控服务