![]() |
|
|
#1
|
|||
|
|||
|
Есть ли способ оптимизировать такой код?
Код:
FlightArray220.money := 0;
FlightArray220.exp := 0;
FlightArray220.sec := 0;
FlightArray220.mid_money := 0;
FlightArray220.mid_exp := 0;
FlightArray220.amount := 0;
FlightArray221.money := 0;
FlightArray221.exp := 0;
FlightArray221.sec := 0;
FlightArray221.mid_money := 0;
FlightArray221.mid_exp := 0;
FlightArray221.amount := 0;
FlightArray219.money := 0;
FlightArray219.exp := 0;
FlightArray219.sec := 0;
FlightArray219.mid_money := 0;
FlightArray219.mid_exp := 0;
FlightArray219.amount := 0;
FlightArray222.money := 0;
FlightArray222.exp := 0;
FlightArray222.sec := 0;
FlightArray222.mid_money := 0;
FlightArray222.mid_exp := 0;
FlightArray222.amount := 0;
FlightArray186.money := 0;
FlightArray186.exp := 0;
FlightArray186.sec := 0;
FlightArray186.mid_money := 0;
FlightArray186.mid_exp := 0;
FlightArray186.amount := 0;P.S.: Код:
type TFlightData = record money, exp, sec, amount: Integer; mid_money, mid_exp: Real; end; |
|
#2
|
|||
|
|||
|
Код:
var
FD: ^TFlightData;
WAYS: array[0..4] of String;
begin
WAYS[0] := '220';
WAYS[1] := '221';
WAYS[2] := '219';
WAYS[3] := '222';
WAYS[4] := '186';
for W := 0 to 4 do
begin
FD := Addr('FlightArray' + WAYS[W]);
FD.money := 0;
FD.exp := 0;
FD.sec := 0;
FD.mid_money := 0;
FD.mid_exp := 0
end;Верно ли использование указателей? |
|
#3
|
|||
|
|||
|
нет, неправильно.
можно вот так: Код:
type
TFlightData = record
money, exp, sec, amount: Integer;
mid_money, mid_exp: Real;
end;
PFlightData = ^TFlightData;
var
FlightArray220, FlightArray221, FlightArray219, FlightArray218 : TFlightData;
procedure TForm1.Button1Click(Sender: TObject);
var
I : Integer;
A : Array [0..3] Of PFlightData;
begin
A[0] := @FlightArray220;
A[1] := @FlightArray221;
A[2] := @FlightArray219;
A[3] := @FlightArray218;
For I := Low(A) To High(A) Do
Begin
A[i].money := 0;
A[i].exp := 0;
A[i].sec := 0;
A[i].mid_money := 0;
A[i].mid_exp := 0;
A[i].amount := 0;
End;
end;PS. А что мешает изначально переменные создавать не отдельными, а массивом? |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
VolodinAS (21.11.2019)
| ||
|
#4
|
|||
|
|||
|
Цитата:
Просто, на форме поля-label с именами, типа flight_220_sec flight_221_sec ... flight_220_exp flight_221_exp мне нужно им присваивать соответствующие значения.. это можно как-то через массив организовать? |
|
#5
|
|||
|
|||
|
Можно.
Можно в св-ве Tag хранить индекс элемента массива. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
VolodinAS (21.11.2019)
| ||