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
|
void __fastcall TFormClient::Button1Click(TObject *Sender)
{
FastLineSeriePH->Clear();
FastLineSerieConductivite->Clear();
FastLineSerieTemperature->Clear();
FastLineSerieOxygene->Clear();
// Création de la liste
TStringList *Fichier;
//TOpenDialog* OpenDialog1;
//OpenDialog1 = new TOpenDialog ( );
if (OpenDialog1->Execute())//ouverture de la boite de dialogue
{
DOC = OpenDialog1->FileName;
//mon traitement
AnsiString N;
Fichier = new TStringList();
// Chargement du fichier sélectionné dans la liste
Fichier->LoadFromFile(DOC.c_str());
for(int j = 0; j < Fichier->Count; j++)
{
N = Fichier->Strings[j];
for(int i = 1; i <= N.Length(); i++)
{
if( (N[i] == '.') || (N[i] == ',') )
{
N[i] = DecimalSeparator;
}
}
Fichier->Strings[j] = N;
}
AnsiString NumSerie;
int ConvInt;
AnsiString ConvHex;
FormClient->EditNom->Refresh();
// Nom de la bouée
FormClient->EditNom->Text = Fichier->Strings[1];
// Numéro de série de la bouée avec affichage en Héxadécimal
/*NumSerie = Fichier->Strings [2];
ConvInt = atoi (NumSerie.c_str());
ConvHex = IntToHex (ConvInt,2);
FormClient->EditNumSerie->Text = ConvHex; */
FormClient->EditNumSerie->Text = Fichier->Strings[2];
// RAZ des tableaux
ZeroMemory(TabMoy, sizeof(double) * 4);
ZeroMemory(TabGraph, sizeof(double) * 4);
// Ligne par ligne
for(int i = 3; i < Fichier->Count ; i++) {
Colonnes(Fichier->Strings[i]);
}
// CALCUL DES MOYENNES
for(int i = 0; i < 4; i++) {
TabMoy[i] = TabMoy[i] / (Fichier->Count-3);
}
// Affichage des différentes moyennes
FormClient->EditPH->Text = FormatFloat("0.000",TabMoy[0]) ;
FormClient->EditConductivite->Text = FormatFloat("0.000",TabMoy[1]) ;
FormClient->EditTemperature->Text = FormatFloat("0.0",TabMoy[2]);
//FormClient->EditOxygene->Text = FormatFloat("0.000",TabMoy[3]);
// Utilisation des graphes
AnsiString asTMP;
for(int i=3; i< Fichier->Count; i++)
{
asTMP = "Valeur " + IntToStr(i);
Colonnes(Fichier->Strings[i]);
FastLineSeriePH->AddXY(i , TabGraph[0], (i-2), clBlue);
FastLineSerieConductivite->AddXY(i , TabGraph[1], (i-2), clGreen);
FastLineSerieTemperature->AddXY(i , TabGraph[2], (i-2), clRed);
//FastLineSerieOxygene->AddXY(i , TabGraph[3], (i-2), clPurple);
}
//Libération de la mémoire
Fichier->Clear();
delete Fichier;
}
delete OpenDialog1;
} |
Partager