oka*_*ami 10 arrays delphi pascal
我想在Delphi 5.0中做一个ArrayList.所以我找到了这个代码的解决方案:
var arr: array of String;
Run Code Online (Sandbox Code Playgroud)
好的,但每次我添加的东西我都这样做:
var
Form1: TForm1;
var arr : array of String;
procedure TForm1.Button1Click(Sender: TObject);
var aux :string;
var len:integer;
begin
len := Length(arr) + 1;
SetLength(arr, len);
arr[len-1] := 'abc' + IntToStr(len);
Button1.Caption := arr[len-1]; // just to writeout something
end;
Run Code Online (Sandbox Code Playgroud)
我是一名C++程序员,我对Pascal一无所知.我总是听说Pascal索引从1开始,而不是0.在上面的过程中我做arr [len-1]因为0索引开始.
有没有比Pascal数组更好的方法?和C++一样std::vector吗?
Tri*_*dad 38
动态数组的索引从零开始
var
a: array of Integer;
begin
SetLength(a, 500);
a[0] := 0;
Run Code Online (Sandbox Code Playgroud)
静态数组可以有任意索引
var
i: Integer;
b: array [50..100] of Integer;
c: array[-10..10] of Integer;
begin
for i := 50 to 100 do b[i] := i * i;
// Note negative starting index above in declaration
for i := -10 to 10 do c[i] := i * i;
Run Code Online (Sandbox Code Playgroud)
字符串的索引以一个开头
var
c: String;
begin
c := 'Zap!';
c[1] := 'W';
ShowMessage(c); /// shows 'Wap!'
Run Code Online (Sandbox Code Playgroud)
无论如何,您总是可以使用Low()和High()函数来返回数组的较低和较高索引.
对于处理字符串列表,最常用的类是TStringList,它位于单元类中.
jac*_*ate 12
你正在使用的是一个动态数组,它与Pascal经典数组不同.动态数组的大小可变,索引基于0.
经典的Pascal数组不是0也不是1 ......这取决于索引开始或结束的程序员.唯一的编译器限制是索引必须是序数类型.你可以申报
procedure x;
var
IntArr: array[50..75] of Integer;
StrArr: array[0..49] of string;
DblArr: array[1..10] of Double;
Run Code Online (Sandbox Code Playgroud)
小智 6
Delphi Pascal还有一个很好的功能,可以帮助迭代任何维度的数组:
简单地使用对于i:= Low(Array) to High(Array) do....
起始偏移完全透明,即0,1或5或其他.
| 归档时间: |
|
| 查看次数: |
15251 次 |
| 最近记录: |