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
| void __fastcall TPrincipale::FormCreate(TObject *Sender)
{
//Ouverture des connexion à la base de donnée.
DBMeteo->Open();
DBMeteoBD->Open();
DBTable->Open();
DBTable2->Open();
//Copie des nom des champs sélectionné pour éviter une erreur.
NumAj= DBListStNMAJ->SelectedField->DisplayText;
NumSp= DBListStMAJ->SelectedField->DisplayText;
Date=EncodeDate(2002, 11, 1);
}
//---------------------------------------------------------------------------
//Quitter l'application
void __fastcall TPrincipale::cmdQuitterClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
//Ceci copie le nom des stations sélectionner dans les grids dans 2 AnsiString.
void __fastcall TPrincipale::DBListStNMAJCellClick(TColumn *Column)
{
//Copie le nom de la station
NumAj= DBListStNMAJ->SelectedField->DisplayText;
}
//---------------------------------------------------------------------------
void __fastcall TPrincipale::DBListStMAJCellClick(TColumn *Column)
{
//Copie le nom de la station
NumSp=DBListStMAJ->SelectedField->DisplayText;
}
//---------------------------------------------------------------------------
//Ajout d'une station à mettre à jour
void __fastcall TPrincipale::cmdAjClick(TObject *Sender)
{
//Modification de la Table Station
//Mise en écriture de la table.
DBTable->Edit();
//Sélection et écriture de l'enregistrement.
DBTable->FindField(NumAj);
//Ici, la modification de la table 1 marche très bien.
DBTable->Fields->Fields[2]->AsString="1";
DBTable->Post();
//Création d'un nouvel enregistrement
DBTable2->AppendRecord(ARRAYOFCONST((NumAj,DBTable->Fields->Fields[1]->AsString,Date.DateString())));
DBTable2->Close();
//Création d'une table pour cet enregistrement.
DBTable3->Active= false;
DBTable3->TableName = NumAj;
if (!DBTable3->Exists)
{
DBTable3->FieldDefs->Clear();
//Pointeur pour créer champ
TFieldDef *pNewDef = DBTable3->FieldDefs->AddFieldDef();
pNewDef->Name= "Date";
pNewDef->DataType=ftDate;
pNewDef=DBTable3->FieldDefs->AddFieldDef();
pNewDef->Name= "TempMaxi";
pNewDef->DataType=ftInteger;
pNewDef=DBTable3->FieldDefs->AddFieldDef();
pNewDef->Name= "TempMini";
pNewDef->DataType=ftInteger;
pNewDef=DBTable3->FieldDefs->AddFieldDef();
pNewDef->Name= "Temp12";
pNewDef->DataType=ftInteger;
pNewDef=DBTable3->FieldDefs->AddFieldDef();
pNewDef->Name= "Hygrometrie12";
pNewDef->DataType=ftInteger;
pNewDef=DBTable3->FieldDefs->AddFieldDef();
pNewDef->Name= "Pluviometrie";
pNewDef->DataType=ftInteger;
//Création de la table
DBTable3->CreateTable();
}
else
MessageBox(0, "La table de donnée existe déja. Erreur N°1", "Erreur N°1", MB_ICONERROR|MB_OK);
DBTable2->Open();
}
//---------------------------------------------------------------------------
//suppression d'une station à mettre à jour.
void __fastcall TPrincipale::cmdSpClick(TObject *Sender)
{
bool essaie;
essaie=false;
//modification de la Table StationMAJ
//suppression d'un enregistrement
essaie=DBTable2->Locate("Station",NumSp,TLocateOptions() << loCaseInsensitive);
DBTable2->Delete();
essaie=false;
//Modification de la Table Station
//Mise en écriture de la table.
//Sélection et écriture de l'enregistrement.
essaie=DBTable->Locate("Station",NumSp,TLocateOptions() << loCaseInsensitive);
DBTable->Edit();
DBTable->Fields->Fields[2]->AsString="0";
DBTable->Post();
//Suppresion de la table associé à l'enregistrement.
DBTable3->Active = false;
DBTable3->TableName = NumSp;
if (DBTable3->Exists)
DBTable3->DeleteTable();
else
MessageBox(0, "Le table ne peut être supprimé car elle n'existe pas. Erreur N°2", "Erreur N°2", MB_ICONSTOP|MB_OK);
} |
Partager