Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 108
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ну что же, весь код я пересмотрел и переделал, в результате главный исходник уменьшился с 2900 строк кода до 1700, что не может не радовать. Также введя такую обработку я избавился от головняка в плане сохранения настроек в файл, за что огромное спасибо. Однако остается открытым два вопроса, каким образом можно объединить такие процедуры:
Код: Выделить весь код
procedure TMainForm.EnergyInfo(Sender: TObject);
begin
if EnergyLevel.Value <> 0
then begin
      Clipboard.Clear;
      Clipboard.SetTextBuf(PChar(EnergyLabel.Caption + ' ' + EnergyLevel.Text +
      ' уровень. Время исследования: ' + EnergyTime.Caption + '. Стоимость: ' +
      EnergyResource.Caption + '.'));
     end;
end;

procedure TMainForm.LaserInfo(Sender: TObject);
begin
  if LaserLevel.Value <> 0
  then begin
        Clipboard.Clear;
        Clipboard.SetTextBuf(PChar(LaserLabel.Caption + ' ' + LaserLevel.Text +
        ' уровень. Время исследования: ' + LaserTime.Caption + '. Стоимость: ' +
        LaserResource.Caption + '.'));
       end;
end;
И так далее. Весь вопрос в том, как бы перебрать все эти компоненты, учитывая, что название компонентов разной длины, единственное, что везде одинаково это окончание названия компонента ~Label/~Level/~Time. Используя всякие AnsiIndexStr/AnsiPos/Copy/Delete/Insert и т.д. из модуля StrUtils я намучаюсь так, что брошу это дело...

Последний раз редактировалось novashdima, 11-02-2013 в 15:45.


Отправлено: 05:45, 11-02-2013 | #42