1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
| //******************************************************************************
//
// Adds data to Database
//
//******************************************************************************
BOOL CFBHorariesView::AddtoDB()
{
//float Entree,Sortie,Pause;
UpdateData(TRUE); //mise à jour des variables à partir des controles associes
m_pSet->MoveLast();
int linenumber = 1; // 1 ligne dans le controle "CEdit"...
int len = m_EntreeCTRL.LineLength(linenumber);
char *txtEntree = new char [len + 1];
memset(txtEntree, '\0', len+1);
m_EntreeCTRL.GetLine(linenumber,txtEntree,len);
len = m_SortieCTRL.LineLength(linenumber);
char *txtSortie = new char [len + 1];
memset(txtSortie, '\0', len+1);
m_SortieCTRL.GetLine(linenumber,txtSortie,len);
len = m_PauseCTRL.LineLength(linenumber);
char *txtPause = new char [len + 1];
memset(txtPause, '\0', len+1);
m_PauseCTRL.GetLine(linenumber,txtPause,len);
/*UINT l1 = m_EntreeCTRL.GetLimitText();
UINT l2 = m_SortieCTRL.GetLimitText();
UINT l3 = m_PauseCTRL.GetLimitText();*/
if(EOF == sscanf(txtEntree, "%f", &Entree))
{
//error
AfxMessageBox("Vérifier la syntaxe...");
return FALSE;
}
if(EOF == sscanf(txtSortie, "%f", &Sortie))
{
//error
AfxMessageBox("Vérifier la syntaxe...");
return FALSE;
}
if(EOF == sscanf(txtPause, "%f", &Pause))
{
//error
AfxMessageBox("Vérifier la syntaxe...");
return FALSE;
}
if(Sortie<=Entree || Entree<=0 || Sortie<=0 || Pause<0 || Entree>=24 || Sortie>=24 || Pause>=24 || Pause>=(Sortie-Entree))
{
AfxMessageBox("Impossible... Vérifiez les heures entrées");
return FALSE;
}
m_TotalDay = Sortie-Entree-Pause; //calcul du total de la journee
//==============================================
//affichage des calculs
//==============================================
//UpdateData(FALSE); //mise à jour des controle depuis les variables
//==============================================
//ajout des données dans la bdd
//==============================================
if( !m_pSet->IsOpen( ) ) //Est-il ouvert?
return FALSE;
if( !m_pSet->CanAppend() ) //Puis-je ajouter?
return FALSE;
m_pSet->AddNew(); //Bon, je prépare le tampon d'édition
//==============================================
//on insere les données dans la table
m_pSet->m_Entree= txtEntree;
m_pSet->m_Sortie= txtSortie;
m_pSet->m_Pause = txtPause;
//conversion de la valeur float en CString
CString s;
s.Format(_T("%f"), m_TotalDay);
m_pSet->m_TDay = s;
s.Format(_T("%f"), m_TotalDay-7);
m_pSet->m_HSup = s;
//ajout du nom de l'employe dans le jeu de lignes
int CurrentEmployee = m_ChoosenEmployee.GetCurSel();
//CString CurrentEmpCSTR;
m_ChoosenEmployee.GetLBText(CurrentEmployee,CurrentEmpCSTR);
m_pSet->m_Nom = CurrentEmpCSTR;
//ajout de la zone dans le jeu de lignes
int CurrentZone = m_Zone.GetCurSel();
CString CurrentZoneCSTR;
m_Zone.GetLBText(CurrentZone,CurrentZoneCSTR);
m_pSet->m_Zone = CurrentZoneCSTR;
//ajout de la date dans le jeu de lignes
CTime timeTime;
DWORD dwResult = m_DateCTRL.GetTime(timeTime);
strDate= timeTime.Format("%d/%m/%Y"); // jour /mois / année
m_pSet->m_Date = strDate;
//==============================================
if( !m_pSet->Update( ) ) // je n'oublie de mettre à jour. C'est la validation
{
AfxMessageBox( "Impossible de mettre à jour..." );
return FALSE;
}/*else
{
AfxMessageBox( "Opération effectuée" );
return;
}*/
delete[] txtEntree,txtSortie,txtPause; //float = atof(string)
//==============================================
//affichage des calculs
//==============================================
UpdateData(FALSE); //mise à jour des controle depuis les variables
return TRUE;
} |
Partager