Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
29<br />
Variant v = Edit3–>Text;<br />
Label3–>Caption = (v.Type () == varString) v : BoolToStr (v.operator bool ());<br />
}<br />
В третьем примере да<strong>на</strong> форма с полями ввода Edit1 и Edit2, кнопкой<br />
Button1 и <strong>на</strong>дписью Label1:<br />
class TForm1 : public TForm {<br />
_ _published:<br />
TEdit *Edit1;<br />
TEdit *Edit2;<br />
TLabel *Label1;<br />
TButton *Button1;<br />
void _ _fastcall Button1Click (TObject *Sender);<br />
public:<br />
AnsiString CalcF (double, double);<br />
AnsiString CalcSF (AnsiString, double);<br />
AnsiString CalcS (AnsiString, AnsiString);<br />
};<br />
При <strong>на</strong>жатии кнопки данные из полей формы преобразуются к нужному<br />
формату, обрабатываются в соответствии с условием конкретной задачи, и<br />
результат возвращается в <strong>на</strong>дпись:<br />
void _ _fastcall TForm1::Button1Click (TObject *Sender) {<br />
AnsiString c = "";<br />
try {<br />
c = CalcF (StrToFloat (Form1–>Edit1–>Text),<br />
StrToFloat (Form1–>Edit2–>Text));<br />
} catch (Exception &EConvertError) {<br />
try {<br />
c = CalcSF (Form1–>Edit1–>Text, StrToFloat(Form1–>Edit2–>Text));<br />
} catch (Exception &EConvertError) {<br />
try {<br />
c = CalcS (Form1–>Edit1–>Text, Form1–>Edit2–>Text);<br />
} catch (...) { c = "Ошибка данных"; }<br />
}<br />
}<br />
Form1–>Label1–>Caption = c;<br />
}<br />
Далее следуют обработчики кнопки Button1, которые выводят в <strong>на</strong>дпись<br />
Label1 решение трех задач: