请教对vairant 值复制方法

ynquan 2009-03-10 04:56:00

var v:variant;
for I := 0 to 10 do begin
v:=vararrayof([i]);
end;
showmessage(v[0]);//在这里得到的值是10


我的想法是在v里面放的是1~10 所以应该打印0才是不知道这里面怎么改呢?
帮忙看看
...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2009-03-10
  • 打赏
  • 举报
回复
加上v:= Unassigned,应该系统会自动释放了
ynquan 2009-03-10
  • 打赏
  • 举报
回复
v:=VarArrayCreate([0,9], varInteger);
后要不要v吧内存释放呢?

[Quote=引用 2 楼 bdmh 的回复:]
Delphi(Pascal) code
var
v:variant;
i:integer;
begin
v:=VarArrayCreate([0,9], varInteger);
for I := 1 to 10 do
begin
v[i-1] := i;
end;
showmessage(v[0]);// '1'
end;
[/Quote]
ynquan 2009-03-10
  • 打赏
  • 举报
回复
我想要得到的结果是
v[0]=0
v[1]=1
v[2]=3
.
.
.

v[9]=9
v[10]=10

var
I :Integer;
v:variant;
begin
for I := 0 to 10 do begin
v:=vararrayof([i]);
end;
showmessage(v[0]);//在这里得到的值是覆盖后最后值0
bdmh 2009-03-10
  • 打赏
  • 举报
回复

var
v:variant;
i:integer;
begin
v:=VarArrayCreate([0,9], varInteger);
for I := 1 to 10 do
begin
v[i-1] := i;
end;
showmessage(v[0]);// '1'
end;
lgx0914 2009-03-10
  • 打赏
  • 举报
回复

var
I :Integer;
v:variant;
begin
for I := 10 downto 0 do begin//这里有顺序问题
v:=vararrayof([i]);
end;
showmessage(v[0]);//在这里得到的值是10
内容概要:本文围绕面向新能源容量提升的含智能软开关(SOP)的配电网重构问题,提出了一种基于二阶锥规划(SOCP)的双层优化模型。该模型上层以提升新能源消纳能力为目标进行网络重构,下层利用SOP灵活调节功率分布,解决重构过程中可能出现的潮流越限问题。通过将非凸的最优潮流问题转化为二阶锥松弛形式,有效提高了求解效率与计算可行性,并在标准算例系统中验证了该方法在降低网损、均衡负荷分布及提升新能源利用率方面的优越性。研究不仅提供了理论建模思路,还配套实现了Matlab代码,便于算法复现与拓展应用。; 适合人群:电力系统、新能源并网、智能配电网及相关领域的科研人员与工程技术人员,具备一定的优化理论基础与Matlab编程能力者优先。; 使用场景及目标:①应用于高渗透率分布式新能源接入背景下的配电网运行优化;②为智能软开关与网络重构的协同控制提供可复现的数学建模与求解方案;③支撑新型电力系统中提升电网灵活性、可靠性和新能源承载力的关键技术研究。; 阅读建议:建议结合提供的Matlab代码深入理解二阶锥松弛技术在电力系统优化中的具体实现,重点关注模型构建、非线性约束的线性化处理以及双层优化架构的分解求解逻辑,可通过调整参数或测试不同场景进一步验证算法鲁棒性与适应性。

830

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧