|
#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)
|