转
Turbo Delphi for Windows
Turbo C++ for Windows
Turbo Delphi for .NET
Turbo C# for .NET
这里每个单语言的产品都与 Borland Developer Studio(价格在$1,000 到$3,500)中所包含的完全一致.这些产品分为免费的Turbo Explorer版,和扩展了的Turbo专业版.专业版的价格尚未确定,不过可以确定的是,普通应用的价格在500美元以下,而面向学生使用的则低于100美元.
这些Turbo产品都具有Borland首创的可视化编程界面,免费版内置了超过200个组件,其中除了C#产品外,每个组件都带有完整的源代码,可供学习使用.如果内置的组件无法满足需要,可以升级至专业版,专业版允许用户安装第三方组件或者自己创建.
目前,Turbo系列产品处于beta测试阶段,预计将会在9月5号发布.今天开始www.turboexplorer.com 可以访问.上面有关于该系列产品的详细介绍.
Two Editions: Professional and Explorer
Out-of-the-Box Development! PRO EXP
High performance integrated compilers 支持
支持
RAD Two-Way Visual Designers
支持 支持
Personal developer productivity including Live Templates, History Manager, Code Insight, Refactorings, rich Debugging features and more!
支持 支持
Database explorer and connectivity
支持 支持
Included databases – Borland®
InterBase®, MSDE 支持 支持
Remoting and application connectivity including DCOM, ActiveX, .NET Remoting and more!
支持 支持
Support for standards-based Web/ Internet development
支持 支持
Hundreds of time-saving pre-built components included
支持 支持
Extensible and customizable IDE for building your own components
支持
Extensible and customizable IDE for hundreds of available pre-built IDE 3rd party plug-ins and components
支持
Included third party products
支持
writer by Kevin @ 9:27 下午 3 comments
星期二, 四月 18, 2006
Delphi 2006 (For In语句) 详解
在Delphi 2005就已经加入了For element in collectiondo
statement语法,可以用来历遍一个集合、数组等等,下面这个是For in 支持的类型:
Classes.TList
Classes.TCollection
Classes.TStrings
Classes.TInterfaceList
Classes.TComponent
Menus.TMenuItem
ActnList.TCustomActionList
DB.TFields
ComCtrls.TListItems
ComCtrls.TTreeNodes
ComCtrls.TToolBar
首先来看一个简单的例子:
procedure ShowListStr(StrList: TStrings);
var
tmpStr: String;
begin
for tmpStr in StrListdo
ShowMessage(tmpStr);
//这样就可以历遍整个SrList的值了,比以前用for i todo
快了很多吧
end;
再看看这个
数组历遍)
type
TIntArray = array[0..9] of Integer;
TGenericIntArray = array of Integer;
var
IntArray1: array[0..9] of Integer = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
IntArray2: array[1..2] of TIntArray = ((11, 12, 13, 14, 15, 16, 17, 18, 19, 20),
(21, 22, 23, 24, 25, 26, 27, 28, 29, 30));
IntArrayTemp: TIntArray;
IGenericIntArray: TGenericIntArray;
i: integer;
begin
for i in IntArray1do
begin
ShowMessage(IntToStr(i));
//这样便可以历遍这个数组,不用再用for High Low等等函数了
end;
for i in IntArray2do
//多维数组的历遍
for i in IGenericIntArraydo
begin
ShowMessage(IntToStr(i));
end;
end;
看了后是不是觉得历遍一个数组比以前方便多了.
再看看For in 在字符串中的应用:
var
C: Char;
Str1,Str2: String;
begin
Str1 := 'Hello Everybody,I am Kevin...';
Str2 := '';
for C in S1do
//这样就已经历遍了一个字符串,并进行了拆解...
Str2 := Str2 + C;
if Str1 = Str2 then
ShowMessage('Success!');
end;
再看看如何历遍集合型的数据类型的:
type
TMyThing = (one, two, three);
TMySet = set of TMyThing;
TCharSet = set of Char;
var
MySet: TMySet;
MyThing: TMyThing;
CharSet: TCharSet;
C: Char;
begin
MySet := [one, two, three];
for MyThing in MySetdo
//历遍集合
begin
// 做相关的处理
end;
CharSet := [#0..#255];
for C in CharSetdo
begin
// 做相关的处理
end;
end.
下面这个更加有用,历遍类
这个类必须实现一个公用的方法为:GetEnumerator(),此方法返回的是一个类.而另一个类必须实现一个公用的方法为:MoveNext()和一个名为Current的属性.方法返回类型为Boolean;看例子:
type
TMyIntArray = array of Integer;
TMyEnumerator = class
Values: TMyIntArray;
Index: Integer;
public
constructor Create;
function GetCurrent: Integer;
function MoveNext: Boolean;
//这个为实现的MoveNext方法
property Current: Integer read GetCurrent;
end;
TMyContainer = class
public
function GetEnumerator: TMyEnumerator;
//这个为实现的GetEnumerator的方法.
end;
constructor TMyEnumerator.Create;
begin
inherited Create;
Values := TMyIntArray.Create(100, 200, 300);
Index := -1;
end;
function TMyEnumerator.MoveNext: Boolean;
begin
if Index < High(Values) then
begin
Inc(Index);
Result := True;
end
else
Result := False;
end;
function TMyEnumerator.GetCurrent: Integer;
begin
Result := Values[Index];
end;
function TMyContainer.GetEnumerator: TMyEnumerator;
begin
Result := TMyEnumerator.Create;
end;
var
MyContainer: TMyContainer;
I: Integer;
Counter: Integer;
begin
MyContainer := TMyContainer.Create;
for I in MyContainerdo
//历遍,并把TMyEnumerator的Current进行累加...
Inc(Counter, I);
ShowMessage(IntToStr(Counter));
//值为600
end.
从上面可以看到通过Current就可以实现很大功能了,我们只需把Current的类型变一个,就可以做到很方便的功能.
总结,从For In语法看到,可以给我们编码时带来很多方便...