📄 speclist.pas
字号:
unit SpecList;
interface
uses Classes;
const
cNumberOfSpectrumChannels = 9;
type
PSpectrumArray = ^TSpectrumArray;
TSpectrumArray = Array[0..cNumberOfSpectrumChannels - 1] of Single;
PSpectrumItem = ^TSpectrumItem;
TSpectrumItem = record
Values: TSpectrumArray;
Position: Longint;
Channel: Integer;
end;
TSpectrumList = class
private
FList: TList;
function FGetItem(Index: Integer): PSpectrumItem;
public
constructor Create;
destructor Destroy; override;
function Add: PSpectrumItem;
procedure Delete(Index: Integer);
function Count: Integer;
procedure Clear;
property Items[Index: Integer]: PSpectrumItem read FGetItem; default;
end;
implementation
constructor TSpectrumList.Create;
begin
FList:= TList.Create;
end;
destructor TSpectrumList.Destroy;
begin
Clear;
FList.Free;
inherited;
end;
function TSpectrumList.Add: PSpectrumItem;
begin
New(Result);
FList.Add(Result);
end;
procedure TSpectrumList.Delete(Index: Integer);
begin
Dispose(FList[Index]);
FList.Delete(Index);
end;
procedure TSpectrumList.Clear;
begin
while FList.Count > 0 do Delete(0);
end;
function TSpectrumList.Count: Integer;
begin
Result:= FList.Count;
end;
function TSpectrumList.FGetItem(Index: Integer): PSpectrumItem;
begin
Result:= PSpectrumItem(FList[Index]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -