Суббота, 18.05.2024, 16:36
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Категории раздела
Форма входа
ДРУЗЬЯ САЙТА

Вызвать мастера в Красноярске

8 983 207 5474

8 902 918 9334

8 933 332 3164

---------------------------------

Запчасти бытткхники

  • Велес т.2935600
  • СЦ Близнецов т.2296595
  • Вираж
  • Красраб 110 т.2589503
  • Комплекстур Щорса30 т.2606797
  • Радиодетали

  • Якорный 9 т.2688317
  • Воронова 16 т.2202990
  • Красраб 125а т.2456544
  • Профи т.2702737
  • Дайте две т.+79237713323
  • Электрика

  • Электро +
  • Планета электрика
  • ЗАКЛАДКИ
    Поиск
    Статистика

    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
    Главная » Статьи » C++ Builder » Простые примеры

    C++ BUILDER XE2 РАДИОЛЮБИТЕЛЬСКИЙ КАЛЬКУЛЯТОР

    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;//объявлен глобальный указатель Form1 класса TForm1

    float Rez,Lx,Cx,Fx; //глобальные переменные
    //-----------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    /*
    Функция принимает два параметра и возвращает значение
    */
    float __fastcall RCom( float cx, float fx )
    {
    return 1/(2 * 3.14159 * cx * fx ) ;
    }
    //--------------------------------------------------------
    /*
    Функция принимает два параметра и возвращает результат
    через глобальную переменнуя "Rez"
    */
    void __fastcall RLom( float lx, float fx )
    {
    Rez = 2 * 3.14159 * lx * fx  ;
    }
    //-----------------------------------------------------------------------------
    /*
    Функция ничего не принемает в качестве параметров и не возвращает
    используются глобальные переменные для передачи данных и возврата результата
    */
    void __fastcall Fmgz( void )
    {
    Rez = 159/sqrt( Lx * Cx )  ;
    }
    //-----------------------------------------------------------------------------
    /*
    Функция принимает и возвращает значения а также используется глобальная переменная
    */
    float __fastcall Lmlgn( float cx )
    {
    return  25300/(cx * pow( Fx , 2  ) ) ;
    }
    //-----------------------------------------------------------------------------
    /*
    В функции используется указатель на объект класса TLabel
    */
    void __fastcall Cpf( float lx, TLabel* lb )
    {
    lb->Caption = FloatToStr( 25300 /( lx * pow( Fx , 2  ) ) ) ;
    }
    //---------------------------------------------------------------------------
    /*
    Функция принимает три параметра один изних строка типа UnicodeString
    результат работы функции присваивается свойству  Caption компанента Label30
    доступ к компаненту Label30 мы получяем через глобальный указатель Form1

    */
    void __fastcall Lraz( UnicodeString s, float l, float n )
    {
    float d;
    d = StrToFloat(s) * 0.1; // переводим в милиметры
    //неявное приведение типа  float к типу UnicodeString свойства Caption
    Form1->Label30->Caption = ( pow(d,2)*pow(n,2) ) / ( 45*d+100*l )  ;
    }
    //-----------ОТМЕНА КОНТЕКСТНОГО МЕНЮ----------------------------------------------------------------
    void __fastcall TForm1::Edit1ContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled)

    {
    Handled=true;
    }
    //-----------ПРОВЕРКА ВВОДИМЫХ СИМВОЛОВ----------------------------------------------------------------
    void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)
    {
    if( Key == ',' && Edit1->Text.Pos(",") > 0 ) { Key=0; return; }
    if(Key >= '0' && Key <= '9' || Key == VK_BACK || Key == ',') return;
    Key=0;
    }
    ////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////
    //-------------реактив с--------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    if( Edit1->Text != "" && Edit2->Text != "" ){
    float cx,fx;
    fx = StrToFloat( Edit2->Text ) * 1; // оставляем в герцах
    cx = StrToFloat( Edit1->Text ) * 0.000001; //переводим в микрофарады
    Label2->Caption = FloatToStr( RCom( cx , fx ) );
    }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
     Edit1->Text="";
     Edit2->Text="";
     Label2->Caption="";
    }
    //----------реактив l-----------------------------------------------------------------
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
    if( Edit3->Text != "" && Edit4->Text != "" ){
    float lx,fx;
    fx = StrToFloat( Edit4->Text ) * 1;
    lx = StrToFloat( Edit3->Text )* 0.000001;
       RLom( lx , fx );
    Label10->Caption = FloatToStr( Rez );
    }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
     Edit3->Text="";
     Edit4->Text="";
     Label10->Caption="";
    }
    //-------частота LC--------------------------------------------------------------------
    void __fastcall TForm1::Button5Click(TObject *Sender)
    {
    if( Edit5->Text != "" && Edit6->Text != "" ){
    Lx = StrToFloat( Edit5->Text ) ;
    Cx = StrToFloat( Edit6->Text ) ;
    Fmgz();
    Label15->Caption=FloatToStr(Rez);
    }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button6Click(TObject *Sender)
    {
     Edit5->Text="";
     Edit6->Text="";
     Label15->Caption="";
    }
    //------------индуктивность в контура----------------------------------------------------------------
    void __fastcall TForm1::Button7Click(TObject *Sender)
    {
    if( Edit7->Text != "" && Edit8->Text != "" ){
    float cx ;
    Fx = StrToFloat( Edit8->Text ) ;
    cx = StrToFloat( Edit7->Text ) ;
    Label20->Caption = FloatToStr( Lmlgn( cx ) );
    }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button8Click(TObject *Sender)
    {
    Edit7->Text="";
    Edit8->Text="";
    Label20->Caption="";
    }
    //-----------емкость контура----------------------------------------------------------------
    void __fastcall TForm1::Button9Click(TObject *Sender)
    {
    if( Edit9->Text != "" && Edit10->Text != "" ){
    float lx ;
    Fx = StrToFloat( Edit10->Text ) ;
    lx = StrToFloat( Edit9->Text ) ;
      Cpf( lx , Label25 ) ;
    }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button10Click(TObject *Sender)
    {
    Edit9->Text="";
    Edit10->Text="";
    Label25->Caption="";
    }
    //--------------инуктив однослой-------------------------------------------------------------
    void __fastcall TForm1::Button11Click(TObject *Sender)
    {
    if( Edit11->Text != "" && Edit12->Text != "" && Edit13->Text != ""){
    float l,n ;
    l = StrToFloat( Edit12->Text ) * 0.1; // переводим в милиметры
    n = StrToFloat( Edit13->Text ) * 1;
       Lraz( Edit11->Text, l, n) ;
    }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button12Click(TObject *Sender)
    {
    Edit11->Text="";
    Edit12->Text="";
    Edit13->Text="";
    Label30->Caption="";
    }
    //------Реализация функции NLcat(float d, float l, float m) объявленной в классе TForm1---------------------------------------------------------------------
    float __fastcall TForm1::NLcat(float d, float l, float m)
    {
    return (sqrt( 5*m*(9*d+20*l) ) )/d;
    }
    //----------Числовитков однослойной катушки------------------------------------------------------------------
    void __fastcall TForm1::Button13Click(TObject *Sender)
    {
    if( Edit14->Text != "" && Edit15->Text != "" && Edit16->Text != ""){
    float l,d,m ;
    d = StrToFloat(Edit14->Text) * 0.1; // переводим в милиметры
    l = StrToFloat(Edit15->Text) * 0.1;
    m = StrToFloat(Edit16->Text) * 1;
    Label37->Caption = NLcat( d,  l,  m );
    }
    }
    //----------Числовитков однослойной катушки -----------------------------------------------------------------
    void __fastcall TForm1::Button15Click(TObject *Sender)
    {
    if( Edit19->Text != "" && Edit20->Text != "" ){
    float cx,m,l,d,n ;
    Fx = StrToFloat(Edit19->Text) ;//Частота контура
    cx = StrToFloat(Edit20->Text) ;//Ёмкость контура
    m =  Lmlgn( cx );  //вычисляем индуктивность контура
    d = StrToFloat(Edit17->Text) * 0.1; // переводим в миллиметры  диаметр
    l = StrToFloat(Edit18->Text) * 0.1; // переводим в милиметры  длина намотки
    n = NLcat( d,  l,  m ); //Вычисляем число витков
    Label43->Caption = n;
    Label46->Caption = l/n*10;  //Вычисляем диаметр провода
    }
    }
    //---------------------------------------------------------------------------



    //---------------------------------------------------------------------------

    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <System.Classes.hpp>
    #include <Vcl.Controls.hpp>
    #include <Vcl.StdCtrls.hpp>
    #include <Vcl.Forms.hpp>
    #include <Vcl.ComCtrls.hpp>
    #include <math.h>
    //---------------------------------------------------------------------------

    //float __fastcall muf(float a,float b, int c);

    class TForm1 : public TForm
    {
    __published: // IDE-managed Components
    TLabel *Label1;
    TEdit *Edit1;
    TEdit *Edit2;
    TButton *Button1;
    TLabel *Label2;
    TLabel *Label3;
    TLabel *Label4;
    TLabel *Label5;
    TButton *Button2;
    TPageControl *PageControl1;
    TTabSheet *TabSheet1;
    TTabSheet *TabSheet2;
    TTabSheet *TabSheet3;
    TEdit *Edit3;
    TLabel *Label6;
    TLabel *Label7;
    TLabel *Label8;
    TEdit *Edit4;
    TLabel *Label9;
    TLabel *Label10;
    TButton *Button3;
    TButton *Button4;
    TLabel *Label11;
    TLabel *Label12;
    TEdit *Edit5;
    TLabel *Label13;
    TEdit *Edit6;
    TLabel *Label14;
    TLabel *Label15;
    TButton *Button5;
    TButton *Button6;
    TTabSheet *TabSheet4;
    TLabel *Label16;
    TLabel *Label17;
    TEdit *Edit7;
    TLabel *Label18;
    TEdit *Edit8;
    TLabel *Label19;
    TLabel *Label20;
    TButton *Button7;
    TButton *Button8;
    TTabSheet *TabSheet5;
    TLabel *Label21;
    TLabel *Label22;
    TLabel *Label23;
    TEdit *Edit9;
    TEdit *Edit10;
    TLabel *Label24;
    TLabel *Label25;
    TButton *Button9;
    TButton *Button10;
    TTabSheet *TabSheet6;
    TEdit *Edit11;
    TEdit *Edit12;
    TEdit *Edit13;
    TLabel *Label26;
    TLabel *Label27;
    TLabel *Label28;
    TButton *Button11;
    TButton *Button12;
    TLabel *Label29;
    TLabel *Label30;
    TLabel *Label31;
    TTabSheet *TabSheet7;
    TLabel *Label32;
    TLabel *Label33;
    TEdit *Edit14;
    TLabel *Label34;
    TEdit *Edit15;
    TLabel *Label35;
    TEdit *Edit16;
    TLabel *Label36;
    TLabel *Label37;
    TButton *Button13;
    TButton *Button14;
    TLabel *Label38;
    TLabel *Label39;
    TEdit *Edit17;
    TLabel *Label40;
    TEdit *Edit18;
    TLabel *Label41;
    TEdit *Edit19;
    TLabel *Label42;
    TLabel *Label43;
    TEdit *Edit20;
    TLabel *Label44;
    TButton *Button15;
    TButton *Button16;
    TLabel *Label45;
    TLabel *Label46;
    TTabSheet *TabSheet8;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Edit1ContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled);
    void __fastcall Edit1KeyPress(TObject *Sender, System::WideChar &Key);
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall Button3Click(TObject *Sender);
    void __fastcall Button4Click(TObject *Sender);
    void __fastcall Button5Click(TObject *Sender);
    void __fastcall Button6Click(TObject *Sender);
    void __fastcall Button7Click(TObject *Sender);
    void __fastcall Button9Click(TObject *Sender);
    void __fastcall Button11Click(TObject *Sender);
    void __fastcall Button10Click(TObject *Sender);
    void __fastcall Button12Click(TObject *Sender);
    void __fastcall Button8Click(TObject *Sender);
    void __fastcall Button13Click(TObject *Sender);
    void __fastcall Button15Click(TObject *Sender);


    private: // User declarations
    public: // User declarations
    //НАША ФУНКЦИЯ ОБЪЯВЛЕННАЯ В КЛАССЕ TForm1
    float __fastcall NLcat(float d, float l, float m);
    __fastcall TForm1(TComponent* Owner);
    };

    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif

    Категория: Простые примеры | Добавил: doka (25.04.2012)
    Просмотров: 2234 | Рейтинг: 0.0/0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]