Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Stockage de la date sytème dans un tableau [ Archives / Divers ] (Shany)

jeudi 11 mai 2006 à 23:47:35 | Stockage de la date sytème dans un tableau

Shany

Salut tout le monde,

Je code avec Visual studio .net en C#. J'ai un petit problème. J'aimerais pouvoir stocker ma date système dans un tableau Pour compliquer un peu :

j'ai une form avec un bouton

pour chaque click sur le bouton, je veux stocker l'heure du click dans un tableau.

afin d'avoir au final : click1 => heure 1, click 2 => heure2, etc.

Je pensais faire une petite boucle for du style :

int i = compteur = 0;

for (click sur le bouton)
{
    tab (i) = heure système;

    compteur = compteur + 1;
   
    i = i + 1;
}

le compteur doit me permettre de savoir le nombre de click total sur le bouton.

Merci à ceux qui pourons m'aider .

vendredi 12 mai 2006 à 00:22:58 | Re : Stockage de la date sytème dans un tableau

Lutinore

Administrateur CodeS-SourceS

Salut, il faut gerer l'évènement Click de ton bouton..



// NET 2.0
private List< DateTime > list = new List< DateTime >( );

// ..

myButton.Click += MyButton_Click;

// ..

private void MyButton_Click( object sender, EventArgs e )
{
    list.Add( DateTime.Now );
}


vendredi 12 mai 2006 à 01:32:53 | Re : Stockage de la date sytème dans un tableau

Shany

Salut Lutinore,

Merci pour ta réponse, si j'ai bien compris je ne dois pas faire un tableau mais une liste contenant toutes les dates !? Cependant je me pose une petite question : le code devra -t-il être de ce style

namespace Z
{
    public class A : System.Windows.Forms.Form
    {
       private DateTime HeureSys;

       public A()
       {
          InitializeComponent();
         
          Btn_batmnt.click += Btn_batmnt_click
       }
        protected override void Dispose( bool disposing )
        {
                if( disposing )
                {
                    if (components != null)
                    {
                        components.Dispose();
                    }
                }
                base.Dispose( disposing );
            }
        static void Main()
        {
            Application.Run(new Poul());
        }
      
       private void Btn_batmnt_click(objet ......)
       {
          list.Add(HeureSys.Now);
       }

    }
}

Aussi est-ce que grâce à cette méthode je pourrais comparer les dates entre elles, je m'explique :

j'ai une heure1 et une heure2 (heures qui seront dans la liste si j'ai bien compris)

je veux faire la différence les 2 heures : heure2 - heure1 après heure3 - heure2 etc (jusqu'à la fin de la liste)

car au final je veux faire la somme de toutes ces différences.

Le faire en algo c'est simple le problème pour moi c'est de le retranscrire en C#

Merci encore une fois de répondre à mes petites intérogations.

ps : petite précision => j'utilise Microsoft Developpement Environnement 2003 avec Microsoft .NET Framework 1.1 et je débute en C#

vendredi 12 mai 2006 à 12:28:29 | Re : Stockage de la date sytème dans un tableau

Lutinore

Administrateur CodeS-SourceS
Réponse acceptée !

En .NET 1.1 tu ne peux pas utiliser les listes génériques comme dans mon exemple précédent, à la place utilise un ArrayList, c'est une collection d'objets, tu peux aussi créer ta propre liste fortement typée, c-à-d une liste de DateTime. La solution du tableau est valable uniquement si tu sais exactement combien de DateTime tu vas stocker car les tableaux ont une taille fixe contrairement aux listes..


// NET 1.1
public partial class Form1 : Form
{
    private ArrayList list = null;

    public Form1( )
    {
        InitializeComponent( );
        list = new ArrayList( );
        this.button1.Click += new EventHandler( button1_Click );
        this.button2.Click += new EventHandler( button2_Click );
    }

    private void button1_Click( object sender, EventArgs e )
    {
        list.Add( DateTime.Now );
    }

    private void button2_Click( object sender, EventArgs e )
    {  
        // Affiche les dates contenues dans la liste.
        foreach( DateTime dt in list )
            MessageBox.Show( dt.ToLongTimeString( ) );
    }
}


vendredi 12 mai 2006 à 12:30:17 | Re : Stockage de la date sytème dans un tableau

Lutinore

Administrateur CodeS-SourceS
Réponse acceptée !
J'ai laissé le mot clé partial, il ne faut pas l'utiliser en NET 1.1

vendredi 12 mai 2006 à 17:45:15 | Re : Stockage de la date sytème dans un tableau

Shany

Bonjour Lutinore,

Encore une fois merci pour tes répones. Toutefois, je ne vois pas pourquoi tu utilises un 2eme bouton pour afficher les dates contenu dans la liste. Je l'utiliserais plutôt pour faire mon calcul.

Ce que je voulais faire, c'est en cliquant sur le bouton1, je mémorise l'heure o moment du clique (ca c'est fait).

Par la suite je souhaite faire la différence entre les heures contenus dans la liste, du style :

Tant que (je ne suis pas à la fin de la liste)
{
    diff = heure2 - heure1
}

Mais le problème qui va se poser est que je n'orais pas toutes les différences entre mes 2 valeurs.

Faudrait-il que je crée une autre liste pour les stocker et à ce moment pourrais-je faire la somme de ces valeurs !??

Voici comment je vois le code :

public class Form1 : Form
{
    private ArrayList list = null;

    private ArrayList list2 = null;

    public Form1( )
    {
        InitializeComponent( );
        list = new ArrayList( );
        this.button1.Click += new EventHandler( button1_Click );
        this.button2.Click += new EventHandler( button2_Click );

        list2 =  new ArrayList();

}

    private void button1_Click( object sender, EventArgs e )
    {
        list.Add( DateTime.Now );

    }

    private void button2_Click( object sender, EventArgs e )
    {  
        // Calcul la différence entre les dates contenues dans la liste.

        foreach( NonFin de liste)
        {

             la diff entre chaque heures (heure2 - Heure1, Heure3 - heure2 , etc) = heure2 - heure1;

             list2.Add(la diff entre chaque heures);

             somme de toutes les différences;

             moyenne de toutes les différences = somme de toutes les différences / nbre d'entrée dans la liste;

             resultat = moyenne de toutes les différences * 60;

          }

    }
}

Voilà merci de m'aider une toute dernière fois afin que mon problème soit résolu.


vendredi 12 mai 2006 à 18:09:30 | Re : Stockage de la date sytème dans un tableau

Lutinore

Administrateur CodeS-SourceS

J'ai mis un 2ème bouton qui affiche les dates juste pour te montrer comment on parcourt une liste avec la syntaxe foreach.

Euh. si tu veux la somme de toutes les différences c'est pas mieux de calculer la différence entre le premier clique et le dernier !?


vendredi 12 mai 2006 à 18:32:15 | Re : Stockage de la date sytème dans un tableau

Shany

Euh non parce que ce que je veux c'est avoir la moyene, c'est à dire savoir en moyenne combien de temps je mets entre 2 click. Si je fais comme tu me dis la différence entre le premier et le dernier click celà ne me donnera pas le résultat souhaité !!

Je ne sais toujours pas comment arranger ce petit problème. Je ne vois pas comment parcourir la liste et faire la différence entre les dates pour en avoir la somme.

Si j'arrive à résoudre ce seul et dernier problème, mon application sera sauvée et je ne serais plus desespérée.

Moi qui pensais que celà aurais été simple à faire, je constate que c'est plus compliqué que prévu, mais je ne vais pas baisser les bras.

vendredi 12 mai 2006 à 21:20:23 | Re : Stockage de la date sytème dans un tableau

Lutinore

Administrateur CodeS-SourceS

Si c'est juste pour la moyenne ont peut essayer de se passer de la liste :




public class Form1 : Form
{
    private long time = 0;
    private long span = 0;
    private int count = 0;

    public Form1( )
    {
        InitializeComponent( );
        this.button1.Click += new EventHandler( button1_Click );
        this.button2.Click += new EventHandler( button2_Click );
    }

    private void button1_Click( object sender, EventArgs e )
    {
        if ( time == 0 )
        {
            time = DateTime.Now.Ticks;
        }
        else
        {
            long now = DateTime.Now.Ticks;
            span += now - time;
            time = now;
        }

        count++;
    }

    private void button2_Click( object sender, EventArgs e )
    {
        if ( count >= 2 )
            MessageBox.Show( TimeSpan.FromTicks( span / count ).ToString( ), "Moyenne" );
    }
}




Cette discussion est classé dans : bouton, date, compteur, tableau, click


Répondre à ce message

Sujets en rapport avec ce message

Double click sur bouton de toolbar c# [ par starmate ] Salut,Je voulais savoir si c'était possible de récupérer l'évènement double click (en C#) sur un bouton d'une toolbar.J'arrive à récupérer l'évènement bouton et focus [ par douindouin ] bonjour,je fait mon premier pregramme en C# qui consiste a faire un calculette toute simple comme celle de windows.Voila mon probleme :Lorsque je cliq Provoquer l'evenement click [ par refletjno ] JnoBonjour à tous,Pour une application j'aimerai pouvoir provoquer l'événement click sur un bouton au moment où l'utilisateur appuie sur entrée.J'arri Textbox (KeyPress) et bouton OK (Click event) [ par fregolo52 ] Bonjour,Je développe en WinForm et je voudrais que lorsque l'utilisation appuie sur la touche Enter, après la saise d'un texte, l'événement soit redir DialogResult et cancel [ par babe59 ] Bonjour,j'ai défini la propriété DialogResult à OK pour un bouton et lorsque le click se déclenche sur ce bouton, je vérifie certaines choses et affic Event Click sur tableau de bouton [ par citt ] Bonjour,Je creer dynamiquement un tableau de bouton avec des label (Affichage d'éléments d'une base)Mon soucis est que je n'arrive pas à recuperer le changer la couleur du backcolor a l aide d un bouton click fixe [ par danyclassique ] Bonjour a tous .J ai , dans mon application, un bouton qui permet de choisir une couleur grace au colordialog puis la couleur choisi est appliquee au pb avec datagridview [ par titi66 ] Bonjourdans un ecran qui contient un datagridview et un databindingnavigator (drag&drop d'une tabel de mon code source), je dois detecter les modifica Modification du click d'un bouton [ par mookette ] Bonjour je suis actuellement en train de créer un petit programme qui contient des racourcitsJ'ai un petit problème ,J'ai créé par exemple un bouton q dé-griser un bouton quand on click sur un autre bouton [ par hibouman ] Bonjour,Sur une form, j'ai 2 boutons (le bouton_2 est  grisé).J'aurais voulu que lorsque l'on click sur le bouton_1 celui-ci se grise et le bouton_2 s


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.