// steckbrief_vogel_neu.cpp: Implementierungsdatei
//

#include "stdafx.h"
#include "Ecopay.h"
#include "steckbrief_vogel_neu.h"
#include "art.h"
#include "datenbank.h"
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
using namespace sql;

// steckbrief_vogel_neu-Dialogfeld

IMPLEMENT_DYNAMIC(steckbrief_vogel_neu, CDialog)

steckbrief_vogel_neu::steckbrief_vogel_neu(CWnd* pParent /*=NULL*/)
: CDialog(steckbrief_vogel_neu::IDD, pParent)
, m_Wald(0)
, m_Wasser(0)
, anspruch_wasser(0)
, anspruch_siedlung(0)
, anspruch_wald(0)
, m_Siedlung(0)
, neutral(0)
, foerdernd(0.5)
, essentiel(1)
, m_monatsviertel9(_T("0"))
, m_monatsviertel10(_T("0"))
, m_monatsviertel11(_T("0"))
, m_monatsviertel12(_T("0"))
, m_monatsviertel13(_T("0"))
, m_monatsviertel14(_T("0"))
, m_monatsviertel15(_T("0"))
, m_monatsviertel16(_T("0"))
, m_monatsviertel17(_T("0"))
, m_monatsviertel18(_T("0"))
, m_monatsviertel19(_T("0"))
, m_monatsviertel20(_T("0"))
, m_monatsviertel21(_T("0"))
, m_monatsviertel22(_T("0"))
, m_monatsviertel23(_T("0"))
, m_monatsviertel24(_T("0"))
, m_monatsviertel25(_T("0"))
, m_monatsviertel26(_T("0"))
, m_monatsviertel27(_T("0"))
, m_monatsviertel28(_T("0"))
, m_monatsviertel29(_T("0"))
, m_monatsviertel30(_T("0"))
, m_monatsviertel31(_T("0"))
, m_monatsviertel_ersatzbrut(_T("0"))
, m_ersatzbrut_erfolg(_T("0"))
, m_reproduktion_kritisch(_T("0"))
, m_reproduktion_gesammt(_T("0"))
, m_hoehe_kurz(_T("0"))
, m_hoehe_mittel(_T("0"))
, m_hoehe_hoch(_T("0"))
, m_feuchte_trocken(_T("0"))
, m_feuchte_frisch(_T("0"))
, m_feuchte_feucht(_T("0"))
, m_ausbreitungsradius(_T("0"))
, m_vogel_name(_T(""))
, m_vogel_latein(_T(""))
, m_person(_T("Geben Sie bitte Ihren Namen ein!"))
, m_praedation(_T("1"))
,m_brush(RGB(255,255,240))

{
#ifndef _WIN32_WCE
    EnableActiveAccessibility();
#endif

}

steckbrief_vogel_neu::~steckbrief_vogel_neu()
{
}

void steckbrief_vogel_neu::DoDataExchange( CDataExchange* pDX)
{
    CDialog::DoDataExchange( pDX);
    DDX_Radio( pDX, IDC_WALD_N, m_Wald);
    DDX_Radio( pDX, IDC_WASSER_N, m_Wasser);
    DDX_Radio( pDX, IDC_SIEDLUNG_N, m_Siedlung);
    DDX_Text( pDX, IDC_MONATSVIERTEL9, m_monatsviertel9);
    DDX_Text( pDX, IDC_MONATSVIERTEL10, m_monatsviertel10);
    DDX_Text( pDX, IDC_MONATSVIERTEL11, m_monatsviertel11);
    DDX_Text( pDX, IDC_MONATSVIERTEL12, m_monatsviertel12);
    DDX_Text( pDX, IDC_MONATSVIERTEL13, m_monatsviertel13);
    DDX_Text( pDX, IDC_MONATSVIERTEL14, m_monatsviertel14);
    DDX_Text( pDX, IDC_MONATSVIERTEL15, m_monatsviertel15);
    DDX_Text( pDX, IDC_MONATSVIERTEL16, m_monatsviertel16);
    DDX_Text( pDX, IDC_MONATSVIERTEL17, m_monatsviertel17);
    DDX_Text( pDX, IDC_MONATSVIERTEL18, m_monatsviertel18);
    DDX_Text( pDX, IDC_MONATSVIERTEL91, m_monatsviertel19);
    DDX_Text( pDX, IDC_MONATSVIERTEL20, m_monatsviertel20);
    DDX_Text( pDX, IDC_MONATSVIERTEL21, m_monatsviertel21);
    DDX_Text( pDX, IDC_MONATSVIERTEL22, m_monatsviertel22);
    DDX_Text( pDX, IDC_MONATSVIERTEL23, m_monatsviertel23);
    DDX_Text( pDX, IDC_MONATSVIERTEL24, m_monatsviertel24);
    DDX_Text( pDX, IDC_MONATSVIERTEL25, m_monatsviertel25);
    DDX_Text( pDX, IDC_MONATSVIERTEL26, m_monatsviertel26);
    DDX_Text( pDX, IDC_MONATSVIERTEL27, m_monatsviertel27);
    DDX_Text( pDX, IDC_MONATSVIERTEL28, m_monatsviertel28);
    DDX_Text( pDX, IDC_MONATSVIERTEL29, m_monatsviertel29);
    DDX_Text( pDX, IDC_EBRUTERFOLG, m_ersatzbrut_erfolg);
    DDX_Text( pDX, IDC_Kritrep, m_reproduktion_kritisch);
    DDX_Text( pDX, IDC_GREPRODUKTIONSPHASE, m_reproduktion_gesammt);
    DDX_Text( pDX, IDC_HOEHEK, m_hoehe_kurz);
    DDX_Text( pDX, IDC_HOEHEM, m_hoehe_mittel);
    DDX_Text( pDX, IDC_HOEHEH, m_hoehe_hoch);
    DDX_Text( pDX, IDC_FEUCHTETROCKEN, m_feuchte_trocken);
    DDX_Text( pDX, IDC_FEUCHTEFRISCH, m_feuchte_frisch);
    DDX_Text( pDX, IDC_FEUCHTEFEUCHT, m_feuchte_feucht);
    DDX_Text( pDX, IDC_AUSBREITUNGSRADIUS, m_ausbreitungsradius);
    DDX_Text( pDX, IDC_Vogelname, m_vogel_name);
    DDX_Text( pDX, IDC_Vogelnamelatein, m_vogel_latein);
    DDX_Control( pDX, IDC_COMBO1, m_comb_ersatzbrut);
    DDX_Text( pDX, IDC_Person, m_person);
    //DDX_Control(pDX, IDC_SCROLLBAR1, m_scrollbar);
    DDX_Text( pDX, IDC_Praedation, m_praedation);
    DDX_Text( pDX, IDC_MONATSVIERTEL30, m_monatsviertel30);
    DDX_Text( pDX, IDC_MONATSVIERTEL31, m_monatsviertel31);
}

BEGIN_MESSAGE_MAP(steckbrief_vogel_neu, CDialog)
ON_EN_KILLFOCUS(IDC_Vogelname, &steckbrief_vogel_neu::OnEnKillfocusVogelname)
ON_EN_SETFOCUS(IDC_Vogelname, &steckbrief_vogel_neu::OnEnSetfocusVogelname)
ON_EN_KILLFOCUS(IDC_Vogelnamelatein, &steckbrief_vogel_neu::OnEnKillfocusVogelnamelatein)
ON_BN_CLICKED(IDC_WALD_N, &steckbrief_vogel_neu::OnBnClickedWaldN)
ON_BN_CLICKED(IDC_WALD_F, &steckbrief_vogel_neu::OnBnClickedWaldF)
ON_BN_CLICKED(IDC_WALD_E, &steckbrief_vogel_neu::OnBnClickedWaldE)
ON_BN_CLICKED(IDC_WASSER_N, &steckbrief_vogel_neu::OnBnClickedWasserN)
ON_BN_CLICKED(IDC_WASSER_F, &steckbrief_vogel_neu::OnBnClickedWasserF)
ON_BN_CLICKED(IDC_WASSER_E, &steckbrief_vogel_neu::OnBnClickedWasserE)
ON_BN_CLICKED(IDC_SIEDLUNG_N, &steckbrief_vogel_neu::OnBnClickedSiedlungN)
ON_BN_CLICKED(IDC_SIEDLUNG_F, &steckbrief_vogel_neu::OnBnClickedSiedlungF)
ON_BN_CLICKED(IDC_SIEDLUNG_E, &steckbrief_vogel_neu::OnBnClickedSiedlungE)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL9, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel9)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL10, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel10)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL11, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel11)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL12, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel12)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL13, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel13)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL14, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel14)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL15, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel15)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL16, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel16)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL17, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel17)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL18, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel18)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL91, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel19)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL20, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel20)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL21, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel21)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL22, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel22)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL23, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel23)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL24, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel24)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL25, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel25)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL26, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel26)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL27, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel27)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL28, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel28)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL29, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel29)
ON_EN_KILLFOCUS(IDC_EBRUTERFOLG, &steckbrief_vogel_neu::OnEnKillfocusEbruterfolg)
ON_EN_KILLFOCUS(IDC_Kritrep, &steckbrief_vogel_neu::OnEnKillfocusKreproduktionsphase)
ON_EN_KILLFOCUS(IDC_GREPRODUKTIONSPHASE, &steckbrief_vogel_neu::OnEnKillfocusGreproduktionsphase)
ON_EN_KILLFOCUS(IDC_AUSBREITUNGSRADIUS, &steckbrief_vogel_neu::OnEnKillfocusAusbreitungsradius)
ON_EN_KILLFOCUS(IDC_FEUCHTEFEUCHT, &steckbrief_vogel_neu::OnEnKillfocusFeuchtefeucht)
ON_EN_KILLFOCUS(IDC_FEUCHTEFRISCH, &steckbrief_vogel_neu::OnEnKillfocusFeuchtefrisch)
ON_EN_KILLFOCUS(IDC_FEUCHTETROCKEN, &steckbrief_vogel_neu::OnEnKillfocusFeuchtetrocken)
ON_EN_KILLFOCUS(IDC_HOEHEH, &steckbrief_vogel_neu::OnEnKillfocusHoeheh)
ON_EN_KILLFOCUS(IDC_HOEHEM, &steckbrief_vogel_neu::OnEnKillfocusHoehem)
ON_EN_KILLFOCUS(IDC_HOEHEK, &steckbrief_vogel_neu::OnEnKillfocusHoehek)
ON_BN_CLICKED(IDOK, &steckbrief_vogel_neu::OnBnClickedOk)
ON_BN_CLICKED(IDCANCEL, &steckbrief_vogel_neu::OnBnClickedCancel)
ON_CBN_SELCHANGE(IDC_COMBO1, &steckbrief_vogel_neu::OnCbnSelchangeCombo1)
ON_EN_KILLFOCUS(IDC_Person, &steckbrief_vogel_neu::OnEnKillfocusPerson)
ON_BN_CLICKED(IDC_Datena, &steckbrief_vogel_neu::OnBnClickedDatena)
ON_BN_CLICKED(IDC_Datenbearbeiten, &steckbrief_vogel_neu::OnBnClickedDatenbearbeiten)
ON_WM_CTLCOLOR()
ON_WM_VSCROLL()
ON_WM_SIZE()
ON_EN_KILLFOCUS(IDC_Praedation, &steckbrief_vogel_neu::OnEnKillfocusPraedation)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL30, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel30)
ON_EN_KILLFOCUS(IDC_MONATSVIERTEL31, &steckbrief_vogel_neu::OnEnKillfocusMonatsviertel31)
END_MESSAGE_MAP()

// steckbrief_vogel_neu-Meldungshandler

BOOL steckbrief_vogel_neu::OnInitDialog()
{
    CDialog::OnInitDialog();
    nart = new art();

    m_comb_ersatzbrut.AddString("1. Monatsviertel März");
    m_comb_ersatzbrut.AddString("2. Monatsviertel März");
    m_comb_ersatzbrut.AddString("3. Monatsviertel März");
    m_comb_ersatzbrut.AddString("4. Monatsviertel März");
    m_comb_ersatzbrut.AddString("1. Monatsviertel April");
    m_comb_ersatzbrut.AddString("2. Monatsviertel April");
    m_comb_ersatzbrut.AddString("3. Monatsviertel April");
    m_comb_ersatzbrut.AddString("4. Monatsviertel April");
    m_comb_ersatzbrut.AddString("1. Monatsviertel Mai");
    m_comb_ersatzbrut.AddString("2. Monatsviertel Mai");
    m_comb_ersatzbrut.AddString("3. Monatsviertel Mai");
    m_comb_ersatzbrut.AddString("4. Monatsviertel Mai");
    m_comb_ersatzbrut.AddString("1. Monatsviertel Juni");
    m_comb_ersatzbrut.AddString("2. Monatsviertel Juni");
    m_comb_ersatzbrut.AddString("3. Monatsviertel Juni");
    m_comb_ersatzbrut.AddString("4. Monatsviertel Juni");
    m_comb_ersatzbrut.AddString("1. Monatsviertel Juli");
    m_comb_ersatzbrut.AddString("2. Monatsviertel Juli");
    m_comb_ersatzbrut.AddString("3. Monatsviertel Juli");
    m_comb_ersatzbrut.AddString("4. Monatsviertel Juli");
    m_comb_ersatzbrut.AddString("1. Monatsviertel August");
    m_comb_ersatzbrut.AddString("2. Monatsviertel August");
    m_comb_ersatzbrut.AddString("3. Monatsviertel August");

    GetWindowRect(m_rect);
    m_nScrollPos = 0;

    return TRUE;
}
BOOL steckbrief_vogel_neu::PreTranslateMessage( MSG* pMsg)
{
    // TODO: Add your specialized code here and/or call the base class
    if( pMsg->message == WM_KEYDOWN)
    {
        if( pMsg->wParam == VK_RETURN)
            pMsg->wParam = VK_TAB;
    }
    return CDialog::PreTranslateMessage( pMsg);

}

void steckbrief_vogel_neu::OnEnKillfocusVogelname()
{


    CString Vogel_name;

    GetDlgItem( IDC_Vogelname)->GetWindowText( Vogel_name);

    nart->set_m_name( Vogel_name);

}

void steckbrief_vogel_neu::OnEnSetfocusVogelname()
{


}

void steckbrief_vogel_neu::OnEnKillfocusVogelnamelatein()
{


    CString Latein_name;

    GetDlgItem( IDC_Vogelnamelatein)->GetWindowText( Latein_name);
    nart->set_m_name_latein( Latein_name);

}

// Anspruch an die Strukturelement werden erfasst

void steckbrief_vogel_neu::OnBnClickedWaldN()
{

    //anspruch_wald = neutral;
    UINT check;
    check = IsDlgButtonChecked( IDC_WALD_N);
    if( check == 1)
        nart->set_anspruch_wald( neutral);

}

void steckbrief_vogel_neu::OnBnClickedWaldF()
{

    UINT check;
    check = IsDlgButtonChecked( IDC_WALD_F);
    if( check == 1)
        nart->set_anspruch_wald( foerdernd);
    /*CString t;

     t.Format(_T("%f"), anspruch_wald);
     AfxMessageBox(t,MB_YESNO,0);*/
}

void steckbrief_vogel_neu::OnBnClickedWaldE()
{

    UINT check;
    check = IsDlgButtonChecked( IDC_WALD_E);
    if( check == 1)
        nart->set_anspruch_wald( essentiel);
}

void steckbrief_vogel_neu::OnBnClickedWasserN()
{

    UINT check;
    check = IsDlgButtonChecked( IDC_WASSER_N);
    if( check == 1)
        nart->set_anspruch_wasser( neutral);
}

void steckbrief_vogel_neu::OnBnClickedWasserF()
{

    UINT check;
    check = IsDlgButtonChecked( IDC_WASSER_F);
    if( check == 1)
        nart->set_anspruch_wasser( foerdernd);

}

void steckbrief_vogel_neu::OnBnClickedWasserE()
{

    UINT check;
    check = IsDlgButtonChecked( IDC_WASSER_E);
    if( check == 1)
        nart->set_anspruch_wasser( essentiel);
}

void steckbrief_vogel_neu::OnBnClickedSiedlungN()
{

    UINT check;
    check = IsDlgButtonChecked( IDC_SIEDLUNG_N);
    if( check == 1)
        nart->set_anspruch_siedlung( neutral);
}

void steckbrief_vogel_neu::OnBnClickedSiedlungF()
{

    UINT check;
    check = IsDlgButtonChecked( IDC_SIEDLUNG_F);
    if( check == 1)
        nart->set_anspruch_siedlung( foerdernd);
}

void steckbrief_vogel_neu::OnBnClickedSiedlungE()
{

    UINT check;
    check = IsDlgButtonChecked( IDC_SIEDLUNG_E);
    if( check == 1)
        nart->set_anspruch_siedlung( essentiel);
}
// Bei OK muss einmal ueberprueft werden ob alle Werte richti uebernommen werden.

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel9()
{


    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_9;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL9);
        pWnd->GetWindowText( m_9);

        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_9;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }

        double m9 = atof( m_9);

        if( m9 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();

        } else
        {
            m9 = m9 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel9( m9);
        }
    }

}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel10()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_10;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL10);
        pWnd->GetWindowText( m_10);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_10;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m10 = atof( m_10);
        if( m10 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m10 = m10 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel10( m10);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel11()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_11;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL11);
        pWnd->GetWindowText( m_11);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_11;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m11 = atof( m_11);

        if( m11 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m11 = m11 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel11( m11);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel12()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_12;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL12);
        pWnd->GetWindowText( m_12);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_12;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m12 = atof( m_12);

        if( m12 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m12 = m12 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel12( m12);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel13()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_13;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL13);
        pWnd->GetWindowText( m_13);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_13;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m13 = atof( m_13);

        if( m13 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m13 = m13 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel13( m13);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel14()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_14;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL14);
        pWnd->GetWindowText( m_14);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_14;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m14 = atof( m_14);

        if( m14 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {

            m14 = m14 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel14( m14);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel15()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_15;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL15);
        pWnd->GetWindowText( m_15);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_15;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m15 = atof( m_15);

        if( m15 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m15 = m15 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel15( m15);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel16()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_16;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL16);
        pWnd->GetWindowText( m_16);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_16;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m16 = atof( m_16);

        if( m16 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m16 = m16 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel16( m16);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel17()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_17;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL17);
        pWnd->GetWindowText( m_17);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_17;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m17 = atof( m_17);

        if( m17 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m17 = m17 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel17( m17);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel18()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_18;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL18);
        pWnd->GetWindowText( m_18);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_18;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m18 = atof( m_18);

        if( m18 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m18 = m18 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel18( m18);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel19()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_19;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL91);
        pWnd->GetWindowText( m_19);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_19;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m19 = atof( m_19);

        if( m19 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m19 = m19 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel19( m19);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel20()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_20;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL20);
        pWnd->GetWindowText( m_20);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_20;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m20 = atof( m_20);

        if( m20 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m20 = m20 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel20( m20);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel21()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_21;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL21);
        pWnd->GetWindowText( m_21);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_21;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m21 = atof( m_21);

        if( m21 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m21 = m21 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel21( m21);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel22()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_22;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL22);
        pWnd->GetWindowText( m_22);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_22;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m22 = atof( m_22);

        if( m22 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m22 = m22 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel22( m22);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel23()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_23;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL23);
        pWnd->GetWindowText( m_23);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_23;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m23 = atof( m_23);

        if( m23 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m23 = m23 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel23( m23);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel24()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_24;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL24);
        pWnd->GetWindowText( m_24);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_24;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m24 = atof( m_24);

        if( m24 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m24 = m24 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel24( m24);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel25()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_25;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL25);
        pWnd->GetWindowText( m_25);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_25;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m25 = atof( m_25);

        if( m25 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m25 = m25 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel25( m25);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel26()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_26;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL26);
        pWnd->GetWindowText( m_26);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_26;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m26 = atof( m_26);

        if( m26 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m26 = m26 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel26( m26);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel27()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_27;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL27);
        pWnd->GetWindowText( m_27);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_27;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m27 = atof( m_27);

        if( m27 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m27 = m27 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel27( m27);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel28()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_28;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL28);
        pWnd->GetWindowText( m_28);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_28;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m28 = atof( m_28);

        if( m28 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m28 = m28 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel28( m28);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel29()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_29;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL29);
        pWnd->GetWindowText( m_29);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_29;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m29 = atof( m_29);

        if( m29 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m29 = m29 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel29( m29);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusEbruterfolg()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {

        CString ersatzbrut_erfolg;
        CWnd* pWnd = GetDlgItem( IDC_EBRUTERFOLG);
        pWnd->GetWindowText( ersatzbrut_erfolg);
        double mersatzbrut_erfolg = atof( ersatzbrut_erfolg);

        if( mersatzbrut_erfolg > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            mersatzbrut_erfolg = mersatzbrut_erfolg / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_ersatzbrut_erfolg( mersatzbrut_erfolg);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusKreproduktionsphase()
{

    CString kritreproduktion;
    GetDlgItem( IDC_Kritrep)->GetWindowText( kritreproduktion);
    int krep = atoi( kritreproduktion);
    nart->set_reproduktion_kritisch( krep);
}

void steckbrief_vogel_neu::OnEnKillfocusGreproduktionsphase()
{

    CString reproduktion;
    GetDlgItem( IDC_GREPRODUKTIONSPHASE)->GetWindowText( reproduktion);
    int rep = atoi( reproduktion);
    nart->set_reproduktion_gesammt( rep);
}

void steckbrief_vogel_neu::OnEnKillfocusAusbreitungsradius()
{

    CString ausbreitungradius;
    GetDlgItem( IDC_AUSBREITUNGSRADIUS)->GetWindowText( ausbreitungradius);
    double aradius = atof( ausbreitungradius);
    nart->set_ausbreitungsradius( aradius);
}

void steckbrief_vogel_neu::OnEnKillfocusFeuchtefeucht()
{

    CString feuchtef;
    GetDlgItem( IDC_FEUCHTEFEUCHT)->GetWindowText( feuchtef);
    double feucht = atof( feuchtef);
    nart->set_feuchte_feucht( feucht);
}

void steckbrief_vogel_neu::OnEnKillfocusFeuchtefrisch()
{

    CString feuchtefrisch;
    GetDlgItem( IDC_FEUCHTEFRISCH)->GetWindowText( feuchtefrisch);
    double frisch = atof( feuchtefrisch);
    nart->set_feuchte_frisch( frisch);
}

void steckbrief_vogel_neu::OnEnKillfocusFeuchtetrocken()
{

    CString feuchtetrocken;
    GetDlgItem( IDC_FEUCHTETROCKEN)->GetWindowText( feuchtetrocken);
    double trocken = atof( feuchtetrocken);
    nart->set_feuchte_trocken( trocken);
}

void steckbrief_vogel_neu::OnEnKillfocusHoeheh()
{

    CString hoehehoch;
    GetDlgItem( IDC_HOEHEH)->GetWindowText( hoehehoch);
    double hoch = atof( hoehehoch);
    nart->set_hoehe_hoch( hoch);
}

void steckbrief_vogel_neu::OnEnKillfocusHoehem()
{

    CString hoehemittel;
    GetDlgItem( IDC_HOEHEM)->GetWindowText( hoehemittel);
    double mittel = atof( hoehemittel);
    nart->set_hoehe_mittel( mittel);
}

void steckbrief_vogel_neu::OnEnKillfocusHoehek()
{

    CString hoehekurz;
    GetDlgItem( IDC_HOEHEK)->GetWindowText( hoehekurz);
    double kurz = atof( hoehekurz);
    nart->set_hoehe_kurz( kurz);
}

void steckbrief_vogel_neu::OnCbnSelchangeCombo1()
{

    CString monatsviertelrep;
    int nIndex = m_comb_ersatzbrut.GetCurSel();
    if( nIndex != CB_ERR)

    {
        m_comb_ersatzbrut.GetLBText( nIndex, monatsviertelrep);
        //MessageBox(monatsviertelrep);

    }

    if( monatsviertelrep == "1. Monatsviertel März")
    {
        nart->set_monatsviertel_ersatzbrut( 9);
        return;
    }
    if( monatsviertelrep == "2. Monatsviertel März")
    {
        nart->set_monatsviertel_ersatzbrut( 10);
        return;
    }
    if( monatsviertelrep == "3. Monatsviertel März")
    {
        nart->set_monatsviertel_ersatzbrut( 11);
        return;
    }
    if( monatsviertelrep == "4. Monatsviertel März")
    {
        nart->set_monatsviertel_ersatzbrut( 12);
        return;
    }
    if( monatsviertelrep == "1. Monatsviertel April")
    {
        nart->set_monatsviertel_ersatzbrut( 13);
        return;
    }
    if( monatsviertelrep == "2. Monatsviertel April")
    {
        nart->set_monatsviertel_ersatzbrut( 14);
        return;
    }
    if( monatsviertelrep == "3. Monatsviertel April")
    {
        nart->set_monatsviertel_ersatzbrut( 15);
        return;
    }
    if( monatsviertelrep == "4. Monatsviertel April")
    {
        nart->set_monatsviertel_ersatzbrut( 16);
        return;
    }
    if( monatsviertelrep == "1. Monatsviertel Mai")
    {
        nart->set_monatsviertel_ersatzbrut( 17);
        return;
    }
    if( monatsviertelrep == "2. Monatsviertel Mai")
    {
        nart->set_monatsviertel_ersatzbrut( 18);
        return;
    }
    if( monatsviertelrep == "3. Monatsviertel Mai")
    {
        nart->set_monatsviertel_ersatzbrut( 19);
        return;
    }
    if( monatsviertelrep == "4. Monatsviertel Mai")
    {
        nart->set_monatsviertel_ersatzbrut( 20);
        return;
    }
    if( monatsviertelrep == "1. Monatsviertel Juni")
    {
        nart->set_monatsviertel_ersatzbrut( 21);
        return;
    }
    if( monatsviertelrep == "2. Monatsviertel Juni")
    {
        nart->set_monatsviertel_ersatzbrut( 22);
        return;
    }
    if( monatsviertelrep == "3. Monatsviertel Juni")
    {
        nart->set_monatsviertel_ersatzbrut( 23);
        return;
    }
    if( monatsviertelrep == "4. Monatsviertel Juni")
    {
        nart->set_monatsviertel_ersatzbrut( 24);
        return;
    }
    if( monatsviertelrep == "1. Monatsviertel Juli")
    {
        nart->set_monatsviertel_ersatzbrut( 25);
        return;
    }
    if( monatsviertelrep == "2. Monatsviertel Juli")
    {
        nart->set_monatsviertel_ersatzbrut( 26);
        return;
    }
    if( monatsviertelrep == "3. Monatsviertel Juli")
    {
        nart->set_monatsviertel_ersatzbrut( 27);
        return;
    }
    if( monatsviertelrep == "4. Monatsviertel Juli")
    {
        nart->set_monatsviertel_ersatzbrut( 28);
        return;
    }
    if( monatsviertelrep == "1. Monatsviertel August")
    {
        nart->set_monatsviertel_ersatzbrut( 29);
        return;
    }
    if( monatsviertelrep == "2. Monatsviertel August")
    {
        nart->set_monatsviertel_ersatzbrut( 30);
        return;
    }
    if( monatsviertelrep == "3. Monatsviertel August")
    {
        nart->set_monatsviertel_ersatzbrut( 31);
        return;
    }

}
void steckbrief_vogel_neu::OnEnKillfocusPerson()
{

    CString Person_name;

    GetDlgItem( IDC_Person)->GetWindowText( Person_name);

    nart->set_person_name( Person_name);
}

void steckbrief_vogel_neu::OnBnClickedOk()
{

    int Response;

    // Nochmaliges einlesen und Validierung der Daten 
    CString Vogel_name;
    GetDlgItem( IDC_Vogelname)->GetWindowText( Vogel_name);
    nart->set_m_name( Vogel_name);

    CString Latein_name;
    GetDlgItem( IDC_Vogelnamelatein)->GetWindowText( Latein_name);
    nart->set_m_name_latein( Latein_name);

    UINT check;
    check = IsDlgButtonChecked( IDC_WALD_N);
    if( check == 1)
        nart->set_anspruch_wald( neutral);

    check = IsDlgButtonChecked( IDC_WALD_F);
    if( check == 1)
        nart->set_anspruch_wald( foerdernd);

    check = IsDlgButtonChecked( IDC_WALD_E);
    if( check == 1)
        nart->set_anspruch_wald( essentiel);

    check = IsDlgButtonChecked( IDC_WASSER_N);
    if( check == 1)
        nart->set_anspruch_wasser( neutral);

    check = IsDlgButtonChecked( IDC_WASSER_F);
    if( check == 1)
        nart->set_anspruch_wasser( foerdernd);

    check = IsDlgButtonChecked( IDC_WASSER_E);
    if( check == 1)
        nart->set_anspruch_wasser( essentiel);

    check = IsDlgButtonChecked( IDC_SIEDLUNG_N);
    if( check == 1)
        nart->set_anspruch_siedlung( neutral);

    check = IsDlgButtonChecked( IDC_SIEDLUNG_F);
    if( check == 1)
        nart->set_anspruch_siedlung( foerdernd);

    check = IsDlgButtonChecked( IDC_SIEDLUNG_E);
    if( check == 1)
        nart->set_anspruch_siedlung( essentiel);

    CString m_9;
    CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL9);
    pWnd->GetWindowText( m_9);
    double m9 = atof( m_9);
    m9 = m9 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel9( m9);

    CString m_10;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL10);
    pWnd->GetWindowText( m_10);
    double m10 = atof( m_10);
    m10 = m10 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel10( m10);

    CString m_11;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL11);
    pWnd->GetWindowText( m_11);
    double m11 = atof( m_11);
    m11 = m11 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel11( m11);

    CString m_12;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL12);
    pWnd->GetWindowText( m_12);
    double m12 = atof( m_12);
    m12 = m12 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel12( m12);

    CString m_13;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL13);
    pWnd->GetWindowText( m_13);
    double m13 = atof( m_13);
    m13 = m13 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel13( m13);

    CString m_14;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL14);
    pWnd->GetWindowText( m_14);
    double m14 = atof( m_14);
    m14 = m14 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel14( m14);

    CString m_15;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL15);
    pWnd->GetWindowText( m_15);
    double m15 = atof( m_15);
    m15 = m15 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel15( m15);

    CString m_16;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL16);
    pWnd->GetWindowText( m_16);
    double m16 = atof( m_16);
    m16 = m16 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel16( m16);

    CString m_17;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL17);
    pWnd->GetWindowText( m_17);
    double m17 = atof( m_17);
    m17 = m17 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel17( m17);

    CString m_18;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL18);
    pWnd->GetWindowText( m_18);
    double m18 = atof( m_18);
    m18 = m18 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel18( m18);

    CString m_19;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL91);
    pWnd->GetWindowText( m_19);
    double m19 = atof( m_19);
    m19 = m19 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel19( m19);

    CString m_20;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL20);
    pWnd->GetWindowText( m_20);
    double m20 = atof( m_20);
    m20 = m20 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel20( m20);

    CString m_21;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL21);
    pWnd->GetWindowText( m_21);
    double m21 = atof( m_21);
    m21 = m21 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel21( m21);

    CString m_22;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL22);
    pWnd->GetWindowText( m_22);
    double m22 = atof( m_22);
    m22 = m22 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel22( m22);

    CString m_23;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL23);
    pWnd->GetWindowText( m_23);
    double m23 = atof( m_23);
    m23 = m23 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel23( m23);

    CString m_24;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL24);
    pWnd->GetWindowText( m_24);
    double m24 = atof( m_24);
    m24 = m24 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel24( m24);

    CString m_25;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL25);
    pWnd->GetWindowText( m_25);
    double m25 = atof( m_25);
    m25 = m25 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel25( m25);

    CString m_26;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL26);
    pWnd->GetWindowText( m_26);
    double m26 = atof( m_26);
    m26 = m26 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel26( m26);

    CString m_27;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL27);
    pWnd->GetWindowText( m_27);
    double m27 = atof( m_27);
    m27 = m27 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel27( m27);

    CString m_28;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL28);
    pWnd->GetWindowText( m_28);
    double m28 = atof( m_28);
    m28 = m28 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel28( m28);

    CString m_29;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL29);
    pWnd->GetWindowText( m_29);
    double m29 = atof( m_29);
    m29 = m29 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel29( m29);

    CString m_30;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL30);
    pWnd->GetWindowText( m_30);
    double m30 = atof( m_30);
    m30 = m30 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel30( m30);

    CString m_31;
    pWnd = GetDlgItem( IDC_MONATSVIERTEL31);
    pWnd->GetWindowText( m_31);
    double m31 = atof( m_31);
    m31 = m31 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_monatsviertel31( m31);

    CString ersatzbrut_erfolg;
    pWnd = GetDlgItem( IDC_EBRUTERFOLG);
    pWnd->GetWindowText( ersatzbrut_erfolg);
    double mersatzbrut_erfolg = atof( ersatzbrut_erfolg);
    mersatzbrut_erfolg = mersatzbrut_erfolg / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
    nart->set_ersatzbrut_erfolg( mersatzbrut_erfolg);

    CString kritreproduktion;
    GetDlgItem( IDC_KREPRODUKTIONSPHASE)->GetWindowText( kritreproduktion);
    int krep = atoi( kritreproduktion);
    nart->set_reproduktion_kritisch( krep);

    CString reproduktion;
    GetDlgItem( IDC_GREPRODUKTIONSPHASE)->GetWindowText( reproduktion);
    int rep = atoi( reproduktion);
    nart->set_reproduktion_gesammt( rep);

    CString ausbreitungradius;
    GetDlgItem( IDC_AUSBREITUNGSRADIUS)->GetWindowText( ausbreitungradius);
    double aradius = atof( ausbreitungradius);
    nart->set_ausbreitungsradius( aradius);

    CString feuchtef;
    GetDlgItem( IDC_FEUCHTEFEUCHT)->GetWindowText( feuchtef);
    double feucht = atof( feuchtef);
    nart->set_feuchte_feucht( feucht);

    CString feuchtefrisch;
    GetDlgItem( IDC_FEUCHTEFRISCH)->GetWindowText( feuchtefrisch);
    double frisch = atof( feuchtefrisch);
    nart->set_feuchte_frisch( frisch);

    CString feuchtetrocken;
    GetDlgItem( IDC_FEUCHTETROCKEN)->GetWindowText( feuchtetrocken);
    double trocken = atof( feuchtetrocken);
    nart->set_feuchte_trocken( trocken);

    CString hoehehoch;
    GetDlgItem( IDC_HOEHEH)->GetWindowText( hoehehoch);
    double hoch = atof( hoehehoch);
    nart->set_hoehe_hoch( hoch);

    CString hoehemittel;
    GetDlgItem( IDC_HOEHEM)->GetWindowText( hoehemittel);
    double mittel = atof( hoehemittel);
    nart->set_hoehe_mittel( mittel);

    CString hoehekurz;
    GetDlgItem( IDC_HOEHEK)->GetWindowText( hoehekurz);
    double kurz = atof( hoehekurz);
    nart->set_hoehe_kurz( kurz);

    CString praed;
    GetDlgItem( IDC_Praedation)->GetWindowText( praed);
    double Praed = atof( praed);
    nart->praedation = Praed;

    CString monatsviertelrep;
    int nIndex = m_comb_ersatzbrut.GetCurSel();
    if( nIndex != CB_ERR)

    {
        m_comb_ersatzbrut.GetLBText( nIndex, monatsviertelrep);

        if( monatsviertelrep == "1. Monatsviertel März")
        {
            nart->set_monatsviertel_ersatzbrut( 9);
            return;
        }
        if( monatsviertelrep == "2. Monatsviertel März")
        {
            nart->set_monatsviertel_ersatzbrut( 10);
            return;
        }
        if( monatsviertelrep == "3. Monatsviertel März")
        {
            nart->set_monatsviertel_ersatzbrut( 11);
            return;
        }
        if( monatsviertelrep == "4. Monatsviertel März")
        {
            nart->set_monatsviertel_ersatzbrut( 12);
            return;
        }
        if( monatsviertelrep == "1. Monatsviertel April")
        {
            nart->set_monatsviertel_ersatzbrut( 13);
            return;
        }
        if( monatsviertelrep == "2. Monatsviertel April")
        {
            nart->set_monatsviertel_ersatzbrut( 14);
            return;
        }
        if( monatsviertelrep == "3. Monatsviertel April")
        {
            nart->set_monatsviertel_ersatzbrut( 15);
            return;
        }
        if( monatsviertelrep == "4. Monatsviertel April")
        {
            nart->set_monatsviertel_ersatzbrut( 16);
            return;
        }
        if( monatsviertelrep == "1. Monatsviertel Mai")
        {
            nart->set_monatsviertel_ersatzbrut( 17);
            return;
        }
        if( monatsviertelrep == "2. Monatsviertel Mai")
        {
            nart->set_monatsviertel_ersatzbrut( 18);
            return;
        }
        if( monatsviertelrep == "3. Monatsviertel Mai")
        {
            nart->set_monatsviertel_ersatzbrut( 19);
            return;
        }
        if( monatsviertelrep == "4. Monatsviertel Mai")
        {
            nart->set_monatsviertel_ersatzbrut( 20);
            return;
        }
        if( monatsviertelrep == "1. Monatsviertel Juni")
        {
            nart->set_monatsviertel_ersatzbrut( 21);
            return;
        }
        if( monatsviertelrep == "2. Monatsviertel Juni")
        {
            nart->set_monatsviertel_ersatzbrut( 22);
            return;
        }
        if( monatsviertelrep == "3. Monatsviertel Juni")
        {
            nart->set_monatsviertel_ersatzbrut( 23);
            return;
        }
        if( monatsviertelrep == "4. Monatsviertel Juni")
        {
            nart->set_monatsviertel_ersatzbrut( 24);
            return;
        }
        if( monatsviertelrep == "1. Monatsviertel Juli")
        {
            nart->set_monatsviertel_ersatzbrut( 25);
            return;
        }
        if( monatsviertelrep == "2. Monatsviertel Juli")
        {
            nart->set_monatsviertel_ersatzbrut( 26);
            return;
        }
        if( monatsviertelrep == "3. Monatsviertel Juli")
        {
            nart->set_monatsviertel_ersatzbrut( 27);
            return;
        }
        if( monatsviertelrep == "4. Monatsviertel Juli")
        {
            nart->set_monatsviertel_ersatzbrut( 28);
            return;
        }
        if( monatsviertelrep == "1. Monatsviertel August")
        {
            nart->set_monatsviertel_ersatzbrut( 29);
            return;
        }
        if( monatsviertelrep == "2. Monatsviertel August")
        {
            nart->set_monatsviertel_ersatzbrut( 30);
            return;
        }
        if( monatsviertelrep == "3. Monatsviertel August")
        {
            nart->set_monatsviertel_ersatzbrut( 31);
            return;
        }
    }

    CString Person_name;
    GetDlgItem( IDC_Person)->GetWindowText( Person_name);
    nart->set_person_name( Person_name);

    CString Name;
    Name = nart->get_m_name();
    if( Name == "")
    {
        AfxMessageBox( "Geben Sie bitte den Namen der Art ein!"
                "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
        GetDlgItem( IDC_Vogelname)->SetFocus();
        return;
    }
    if( (nart->get_ersatzbrut_erfolg() > 0)
            && (nart->get_monatsviertel_ersatzbrut() == 0))
    {
        AfxMessageBox(
                "Da die Ersatzbrutwahrscheinlichkeit > 0 ist, muss eine Auswahl für das letzte mögliche Montaviertel für die Ersatzbrut erfolgen!"
                        "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
        GetDlgItem( IDC_COMBO1)->SetFocus();
        return;

    }
    double sum_eiablage = nart->get_monatsviertel9()
            + nart->get_monatsviertel10() + nart->get_monatsviertel11()
            + nart->get_monatsviertel12() + nart->get_monatsviertel13()
            + nart->get_monatsviertel14() + nart->get_monatsviertel15()
            + nart->get_monatsviertel16() + nart->get_monatsviertel17()
            + nart->get_monatsviertel18() + nart->get_monatsviertel19()
            + nart->get_monatsviertel20() + nart->get_monatsviertel21()
            + nart->get_monatsviertel22() + nart->get_monatsviertel23()
            + nart->get_monatsviertel24() + nart->get_monatsviertel25()
            + nart->get_monatsviertel26() + nart->get_monatsviertel27()
            + nart->get_monatsviertel28() + nart->get_monatsviertel29()
            + nart->get_monatsviertel30() + nart->get_monatsviertel31();
    CString st;
    st.Format( _T( "%d"), sum_eiablage);
    AfxMessageBox( st, MB_YESNO, 0);

    if( sum_eiablage != 1)
    {

        AfxMessageBox(
                "Die Summe der Wahrscheinlichkeiten der Eiablage muss 100 sein!"
                        "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
        GetDlgItem( IDC_MONATSVIERTEL9)->SetFocus();
        return;
    }

    Name = nart->get_person_name();
    if( (Name == "Geben Sie bitte Ihren Namen ein!") || (Name == ""))
    {
        AfxMessageBox( "Geben Sie bitte Ihren Namen ein!"
                "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
        GetDlgItem( IDC_Person)->SetFocus();
        return;
    }

    //Übertragen der Daten in die Datenbank
    Response =
            MessageBox(
                    "Bitte überprüfen Sie noch einmal Ihre Eingabe."
                            "\n\nWenn Sie OK klicken, wird der Steckbrief in die Datenbank übernommen."
                            "\n\nWenn Sie die Daten noch einmal überarbeiten wollen,"
                            " klicken Sie bitte auf 'Cancel'.",
                    "Eingabe überprüfen", MB_OKCANCEL | MB_ICONASTERISK);

    if( Response == IDOK)
    {

        bool gespeichert;
        nart->set_gruppe( "Vogel");
        gespeichert = nart->save_art_in_database( *nart);

        //MessageBox("ich komme doch bis hier!");
        delete nart;

        OnOK();

    } else
    {

        SetFocus();

    }
}

void steckbrief_vogel_neu::OnBnClickedCancel()
{

    //delete nart;
    OnCancel();
    //delete nart;
}

void steckbrief_vogel_neu::OnBnClickedDatena()
{

    OnOK();

}

void steckbrief_vogel_neu::OnBnClickedDatenbearbeiten()
{


    GetDlgItem( IDOK)->ShowWindow( TRUE);
    GetDlgItem( IDCANCEL)->ShowWindow( TRUE);
    GetDlgItem( IDC_Datenbearbeiten)->ShowWindow( FALSE);
    GetDlgItem( IDC_Datena)->ShowWindow( FALSE);
    SetFocus();

}

HBRUSH steckbrief_vogel_neu::OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor( pDC, pWnd, nCtlColor);
    int ID = pWnd->GetDlgCtrlID();

    if( ID == IDD_DIALOG_Steckbrief_Vogel)
    {
        HBRUSH hBrush = CreateSolidBrush( RGB( 255, 255, 240));
        return hBrush;
    }

    if( (ID == IDC_STATIC) || (ID == IDC_WALD_N) || (ID == IDC_WALD_F)
            || (ID == IDC_WALD_E) || (ID == IDC_WASSER_N)
            || (ID == IDC_WASSER_F) || (ID == IDC_WASSER_E)
            || (ID == IDC_SIEDLUNG_N) || (ID == IDC_SIEDLUNG_F)
            || (ID == IDC_SIEDLUNG_E))
    {
        // Set the text color 
        pDC->SetTextColor( RGB( 0, 100, 0));

        // Set the background mode for text to transparent 
        // so background will show thru.
        pDC->SetBkMode( TRANSPARENT);

        // Return handle to our CBrush object
        //hbr = m_brush;
    }

    // TODO:  Ändern Sie hier alle Attribute für den DC.

    if( (ID == IDC_STATIC_1) || (ID == IDC_STATIC_2) || (ID == IDC_STATIC_3)
            || (ID == IDC_STATIC_4) || (ID == IDC_STATIC_5)
            || (ID == IDC_STATIC_7))
    {
        pDC->SetTextColor( RGB( 139, 26, 26)); // Setzt die Textfarbe auf rot
        pDC->SetBkMode( TRANSPARENT);
        //HBRUSH hBrush = CreateSolidBrush(RGB(255,0,0)); //Setzt die Hintergrundfarbe auf rot
        // return (HBRUSH) hBrush;
    }

    // TODO:  Gib einen anderen Pinsel zurück, wenn der Standard nicht erwünscht ist.
    hbr = m_brush;
    return hbr;

}

void steckbrief_vogel_neu::OnVScroll(
        UINT nSBCode,
        UINT nPos,
        CScrollBar* pScrollBar)
{
    // TODO: Fügen Sie hier Ihren Meldungsbehandlungscode ein, und/oder benutzen Sie den Standard.
    int nDelta;
    int nMaxPos = m_rect.Height() - m_nCurHeight;

    switch( nSBCode)
    {
        case SB_LINEDOWN:
            if( m_nScrollPos >= nMaxPos)
                return;
            nDelta = min( nMaxPos / 100, nMaxPos - m_nScrollPos);
            break;

        case SB_LINEUP:
            if( m_nScrollPos <= 0)
                return;
            nDelta = -min( nMaxPos / 100, m_nScrollPos);
            break;

        case SB_PAGEDOWN:
            if( m_nScrollPos >= nMaxPos)
                return;
            nDelta = min( nMaxPos / 10, nMaxPos - m_nScrollPos);
            break;

        case SB_THUMBPOSITION:
            nDelta = (int) nPos - m_nScrollPos;
            break;

        case SB_PAGEUP:
            if( m_nScrollPos <= 0)
                return;
            nDelta = -min( nMaxPos / 10, m_nScrollPos);
            break;

        default:
            return;
    }
    m_nScrollPos += nDelta;
    SetScrollPos( SB_VERT, m_nScrollPos, TRUE);
    ScrollWindow( 0, -nDelta);
    CDialog::OnVScroll( nSBCode, nPos, pScrollBar);

}

void steckbrief_vogel_neu::OnSize( UINT nType, int cx, int cy)
{
    CDialog::OnSize( nType, cx, cy);

    // TODO: Add your message handler code here.
    m_nCurHeight = cy;
    int nScrollMax;
    if( cy < m_rect.Height())
    {
        nScrollMax = m_rect.Height() - cy;
    } else
        nScrollMax = 0;

    SCROLLINFO si;
    si.cbSize = sizeof(SCROLLINFO);
    si.fMask = SIF_ALL; // SIF_ALL = SIF_PAGE | SIF_RANGE | SIF_POS;
    si.nMin = 0;
    si.nMax = nScrollMax;
    si.nPage = si.nMax / 10;
    si.nPos = 0;
    SetScrollInfo( SB_VERT, &si, TRUE);

}

void steckbrief_vogel_neu::OnEnKillfocusPraedation()
{

    CString praed;
    GetDlgItem( IDC_Praedation)->GetWindowText( praed);
    double Praed = atof( praed);
    nart->praedation = Praed;
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel30()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_30;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL30);
        pWnd->GetWindowText( m_30);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_30;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m30 = atof( m_30);

        if( m30 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m30 = m30 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel30( m30);
        }
    }
}

void steckbrief_vogel_neu::OnEnKillfocusMonatsviertel31()
{

    CWnd* newind = GetFocus();
    if( newind->GetDlgCtrlID() == IDCANCEL)
    {
        OnCancel();
    } else
    {
        CString m_31;
        CWnd* pWnd = GetDlgItem( IDC_MONATSVIERTEL31);
        pWnd->GetWindowText( m_31);
        //check if user used correct numbers
        LPCTSTR csNumbers = _T( ")(0123456789.-");
        CString csTest = m_31;
        if( !csTest.Trim( csNumbers).IsEmpty())
        {
            AfxMessageBox( "Sie müssen bitte eine Zahl eingeben!", MB_OK, 0);
            pWnd->SetFocus();
        }
        //check if the value is right
        double m31 = atof( m_31);

        if( m31 > 100)
        {
            AfxMessageBox( "Die Wahrscheinlichkeit kann nicht > 100 sein!"
                    "\n\n Bitte überarbeiten Sie Ihre Eingabe!", MB_OK, 0);
            pWnd->SetFocus();
            //pWnd->SetFocus();

        } else
        {
            m31 = m31 / 100; //Der Wert wird für die Weiterverarbeitung in einen Bereich zw. 0 und 1 umgerechnet.
            nart->set_monatsviertel31( m31);
        }
    }
}
