koala написав:А від мене - фокус на кілька сотень рядків.
У вас там є повторюваний (з точністю до змінних) фрагмент
і тепер робимо
14..20: begin
for idx0 := 4 to 8 do
ComboBox16.Items.Add(UNITS_M_U[idx0]);
for idx1 := 15 to 21 do
ComboBox16.Items.Add(UNITS_P_С2[idx1]);
BitBtn1.Top := 642;
BitBtn2.Top := 642;
CheckBox3.Visible := True;
Options[2] := True;
CheckBox3.Caption := NumberedString('s%s - Від''ємне переміщення',ComboBox10.ItemIndex-14);
end;
Було 80 рядків, стало 11. І таких місць кілька.
Пане Koala де ви були коли я процедуру procedure TForm1.Converter_in_CI; (конвертора) писав? Дякую!!!
Я спробую її використати для цього коду
case ComboBox9.ItemIndex of
0 : begin
if Pos('=',Edit1.Text)<>0 then
begin
case ComboBox15.ItemIndex of
4: RichEdit1.Lines.Add('t = t1');
5: RichEdit1.Lines.Add('t = t2');
6: RichEdit1.Lines.Add('t = t3');
7: RichEdit1.Lines.Add('t = t4');
8: RichEdit1.Lines.Add('t = t5');
9: RichEdit1.Lines.Add('t = t6');
end;
end
else
begin
Variables[1,0] := StrToFloat(Edit1.Text);
if CheckBox1.Checked then
begin
Bring_to_Power1;
Variables[1,0] := Variables[1,0]*st1;
end;
case ComboBox15.ItemIndex of
1: begin
RichEdit1.Lines.Add('t = ' + Edit1.Text + '*60');
Minute_multiply(Variables[1,0]);
end;
2: begin
RichEdit1.Lines.Add('t = ' + Edit1.Text + '*3600');
Hour_multiply(Variables[1,0]);
end;
end;
RichEdit1.Lines.Add(ComboBox9.Text + ' ' + '= ' + FloatToStr(Variables[1,0]) + ' ' + 'Секунд');
end;
end;
1 : begin
if Pos('=',Edit1.Text)<>0 then
begin
case ComboBox15.ItemIndex of
3: RichEdit1.Lines.Add('t1 = t');
5: RichEdit1.Lines.Add('t1 = t2');
6: RichEdit1.Lines.Add('t1 = t3');
7: RichEdit1.Lines.Add('t1 = t4');
8: RichEdit1.Lines.Add('t1 = t5');
9: RichEdit1.Lines.Add('t1 = t6');
end;
end
else
begin
Variables[1,1] := StrToFloat(Edit1.Text);
if CheckBox1.Checked then
begin
Bring_to_Power1;
Variables[1,1] := Variables[1,1]*st1;
end;
case ComboBox15.ItemIndex of
1: begin
RichEdit1.Lines.Add('t1 = ' + Edit1.Text + '*60');
Minute_multiply(Variables[1,1]);
end;
2: begin
RichEdit1.Lines.Add('t1 = ' + Edit1.Text + '*3600');
Hour_multiply(Variables[1,1]);
end;
end;
RichEdit1.Lines.Add(ComboBox9.Text + ' ' + '= ' + FloatToStr(Variables[1,1]) + ' ' + 'Секунд');
end;
end;
2 : begin
if Pos('=',Edit1.Text)<>0 then
begin
case ComboBox15.ItemIndex of
3: RichEdit1.Lines.Add('t2 = t');
4: RichEdit1.Lines.Add('t2 = t1');
6: RichEdit1.Lines.Add('t2 = t3');
7: RichEdit1.Lines.Add('t2 = t4');
8: RichEdit1.Lines.Add('t2 = t5');
9: RichEdit1.Lines.Add('t2 = t6');
end;
end
else
begin
Variables[1,2] := StrToFloat(Edit1.Text);
if CheckBox1.Checked then
begin
Bring_to_Power1;
Variables[1,2] := Variables[1,2]*st1;
end;
case ComboBox15.ItemIndex of
1: begin
RichEdit1.Lines.Add('t2 = ' + Edit1.Text + '*60');
Minute_multiply(Variables[1,2]);
end;
2: begin
RichEdit1.Lines.Add('t2 = ' + Edit1.Text + '*3600');
Hour_multiply(Variables[1,2]);
end;
end;
RichEdit1.Lines.Add(ComboBox9.Text + ' ' + '= ' + FloatToStr(Variables[1,2]) + ' ' + 'Секунд');
end;
end;
3 : begin
if Pos('=',Edit1.Text)<>0 then
begin
case ComboBox15.ItemIndex of
3: RichEdit1.Lines.Add('t3 = t');
4: RichEdit1.Lines.Add('t3 = t1');
5: RichEdit1.Lines.Add('t3 = t2');
7: RichEdit1.Lines.Add('t3 = t4');
8: RichEdit1.Lines.Add('t3 = t5');
9: RichEdit1.Lines.Add('t3 = t6');
end;
end
else
begin
Variables[1,3] := StrToFloat(Edit1.Text);
if CheckBox1.Checked then
begin
Bring_to_Power1;
Variables[1,3] := Variables[1,3]*st1;
end;
case ComboBox15.ItemIndex of
1: begin
RichEdit1.Lines.Add('t3 = ' + Edit1.Text + '*60');
Minute_multiply(Variables[1,3]);
end;
2: begin
RichEdit1.Lines.Add('t3 = ' + Edit1.Text + '*3600');
Hour_multiply(Variables[1,3]);
end;
end;
RichEdit1.Lines.Add(ComboBox9.Text + ' ' + '= ' + FloatToStr(Variables[1,3]) + ' ' + 'Секунд');
end;
end;
4 : begin
if Pos('=',Edit1.Text)<>0 then
begin
case ComboBox15.ItemIndex of
3: RichEdit1.Lines.Add('t4 = t');
4: RichEdit1.Lines.Add('t4 = t1');
5: RichEdit1.Lines.Add('t4 = t2');
6: RichEdit1.Lines.Add('t4 = t3');
8: RichEdit1.Lines.Add('t4 = t5');
9: RichEdit1.Lines.Add('t4 = t6');
end;
end
else
begin
Variables[1,4] := StrToFloat(Edit1.Text);
if CheckBox1.Checked then
begin
Bring_to_Power1;
Variables[1,4] := Variables[1,4]*st1;
end;
case ComboBox15.ItemIndex of
1: begin
RichEdit1.Lines.Add('t4 = ' + Edit1.Text + '*60');
Minute_multiply(Variables[1,4]);
end;
2: begin
RichEdit1.Lines.Add('t4 = ' + Edit1.Text + '*3600');
Hour_multiply(Variables[1,4]);
end;
end;
RichEdit1.Lines.Add(ComboBox9.Text + ' ' + '= ' + FloatToStr(Variables[1,4]) + ' ' + 'Секунд');
end;
end;
5 : begin
if Pos('=',Edit1.Text)<>0 then
begin
case ComboBox15.ItemIndex of
3: RichEdit1.Lines.Add('t5 = t');
4: RichEdit1.Lines.Add('t5 = t1');
5: RichEdit1.Lines.Add('t5 = t2');
6: RichEdit1.Lines.Add('t5 = t3');
7: RichEdit1.Lines.Add('t5 = t4');
9: RichEdit1.Lines.Add('t5 = t6');
end;
end
else
begin
Variables[1,5] := StrToFloat(Edit1.Text);
if CheckBox1.Checked then
begin
Bring_to_Power1;
Variables[1,5] := Variables[1,5]*st1;
end;
case ComboBox15.ItemIndex of
1: begin
RichEdit1.Lines.Add('t5 = ' + Edit1.Text + '*60');
Minute_multiply(Variables[1,5]);
end;
2: begin
RichEdit1.Lines.Add('t5 = ' + Edit1.Text + '*3600');
Hour_multiply(Variables[1,5]);
end;
end;
RichEdit1.Lines.Add(ComboBox9.Text + ' ' + '= ' + FloatToStr(Variables[1,5]) + ' ' + 'Секунд');
end;
end;
6 : begin
if Pos('=',Edit1.Text)<>0 then
begin
case ComboBox15.ItemIndex of
3: RichEdit1.Lines.Add('t6 = t');
4: RichEdit1.Lines.Add('t6 = t1');
5: RichEdit1.Lines.Add('t6 = t2');
6: RichEdit1.Lines.Add('t6 = t3');
7: RichEdit1.Lines.Add('t6 = t4');
8: RichEdit1.Lines.Add('t6 = t5');
end;
end
else
begin
Variables[1,6] := StrToFloat(Edit1.Text);
if CheckBox1.Checked then
begin
Bring_to_Power1;
Variables[1,6] := Variables[1,6]*st1;
end;
case ComboBox15.ItemIndex of
1: begin
RichEdit1.Lines.Add('t6 = ' + Edit1.Text + '*60');
Minute_multiply(Variables[1,6]);
end;
2: begin
RichEdit1.Lines.Add('t6 = ' + Edit1.Text + '*3600');
Hour_multiply(Variables[1,6]);
end;
end;
RichEdit1.Lines.Add(ComboBox9.Text + ' ' + '= ' + FloatToStr(Variables[1,6]) + ' ' + 'Секунд');
end;
end;