全部編碼如下: 但有四個正常,四個沒有值。 procedure Tpaib.x_h1; var x11,x12,x13,x14,x21,x22,x23,x24,y11,y12,y13,y14,y21,y22,y23,y24, m1,m2,m3,m4,n1,n2,n3,n4,t1,t2,t3,t4,dpa,dpb:integer; fl_pa,fl_pb,fl_pa2,fl_pb2:single; lib3:string; //m1:為長邊上方右排數 m2:為長邊上方左排數 m3:為長邊下方左排數 m4:為長邊下方右排數 //n1:為寬邊左方上排數 n2:為寬邊左方下排數 n3:為寬邊右方下排數 n4:為寬邊右方上排數 begin dpa:=d_a; dpb:=d_b; fl_pa:=p_f_a; fl_pb:=p_f_b; fl_pa2:=p_f_a2; fl_pb2:=p_f_b2; //----------------------------------------------------- x11:=trunc(dpa/fl_pb); x12:=trunc(x11/2+0.5); x13:=trunc(dpa/fl_pa); x14:=trunc(x13/2+0.5); y11:=trunc(dpb/fl_pb); y12:=trunc(y11/2+0.5); y13:=trunc(dpb/fl_pa); y14:=trunc(y13/2+0.5); if (fl_pa2=0) and (fl_pb2=0) then begin y21:=0; //沒有初值 y22:=0; //正常 y23:=0; //正常 y24:=0; //正常 x21:=0; //沒有初值 x22:=0; //沒有初值 x23:=0; //沒有初值 x24:=0; //正常 end else begin x21:=trunc(dpa/fl_pb2); x22:=trunc(x21/2+0.5); x23:=trunc(dpa/fl_pa2); x24:=trunc(x23/2+0.5); y21:=trunc(dpb/fl_pb2); y22:=trunc(y21/2+0.5); y23:=trunc(dpb/fl_pa2); y24:=trunc(x23/2+0.5); end; end;
to: qkl(康) 被优化是什么意思, 在delphi中如果一段語句運行正確時,會在語句的最前方打一個"藍色小點",當您把鼠標移到上面時,可以看到變在執行時的值,而上面的語句中,是四個有值,而另外四個沒值,這就叫优化嗎? 如果給一組相同類的變量給同一個值時,是不是要一個一個的賦值?有沒有簡單一點的辦法?
絕對沒有,因為它不會提示運行錯誤,只是當你查看x21,x22,x23,y21時發現它沒有初值。
procedure Tpaib.x_h1;
var
x11,x12,x13,x14,x21,x22,x23,x24,y11,y12,y13,y14,y21,y22,y23,y24,
m1,m2,m3,m4,n1,n2,n3,n4,t1,t2,t3,t4,dpa,dpb:integer;
fl_pa,fl_pb,fl_pa2,fl_pb2:single;
lib3:string;
//m1:為長邊上方右排數 m2:為長邊上方左排數 m3:為長邊下方左排數 m4:為長邊下方右排數
//n1:為寬邊左方上排數 n2:為寬邊左方下排數 n3:為寬邊右方下排數 n4:為寬邊右方上排數
begin
dpa:=d_a;
dpb:=d_b;
fl_pa:=p_f_a;
fl_pb:=p_f_b;
fl_pa2:=p_f_a2;
fl_pb2:=p_f_b2;
//-----------------------------------------------------
x11:=trunc(dpa/fl_pb);
x12:=trunc(x11/2+0.5);
x13:=trunc(dpa/fl_pa);
x14:=trunc(x13/2+0.5);
y11:=trunc(dpb/fl_pb);
y12:=trunc(y11/2+0.5);
y13:=trunc(dpb/fl_pa);
y14:=trunc(y13/2+0.5);
if (fl_pa2=0) and (fl_pb2=0) then
begin
y21:=0; //沒有初值
y22:=0; //正常
y23:=0; //正常
y24:=0; //正常
x21:=0; //沒有初值
x22:=0; //沒有初值
x23:=0; //沒有初值
x24:=0; //正常
end
else
begin
x21:=trunc(dpa/fl_pb2);
x22:=trunc(x21/2+0.5);
x23:=trunc(dpa/fl_pa2);
x24:=trunc(x23/2+0.5);
y21:=trunc(dpb/fl_pb2);
y22:=trunc(y21/2+0.5);
y23:=trunc(dpb/fl_pa2);
y24:=trunc(x23/2+0.5);
end;
end;
被优化是什么意思,
在delphi中如果一段語句運行正確時,會在語句的最前方打一個"藍色小點",當您把鼠標移到上面時,可以看到變在執行時的值,而上面的語句中,是四個有值,而另外四個沒值,這就叫优化嗎?
如果給一組相同類的變量給同一個值時,是不是要一個一個的賦值?有沒有簡單一點的辦法?
把code generation选项卡里的optimization的勾去掉就可以了
我已经试过了(delphi6 +win98)
我也是用(delphi6 +win98),但我試過還不行啊!!!救命啦!
至于怎样优化这和堆栈、寄存器的使用有关了,重要的是你的程序还能运行出正确结果。
更怪的偶都见过, 在 then 里面运行几行然后又跳到else里面去执行!
根据Borland说,这样的话会出现有些变量不能赋值的现象的.
Build看看