IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Mon alarme, deuxième partie!


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 48
    Points : 30
    Points
    30
    Par défaut Mon alarme, deuxième partie!
    Bonjour,

    J'ai deja posé des questions sur mon logiciel d'alarme... Maintenant j'ai décidé de pouvoir la régler (donc elle n'est pas fait pour seulement une date)

    Le probleme, c'est que je travail avec des combobox.. Leur résultats sont des strings... mais je dois les convertir en word..

    Que faire.

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    unit alarm;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DateUtils, StdCtrls, ExtCtrls; {pour les fonctions Tomorrow, Yesterday et IsToday}
     
     
    type
      TForm3 = class(TForm)
        Label1: TLabel;
        Timer1: TTimer;
        dayCB: TComboBox;
        hourCB: TComboBox;
        minCB: TComboBox;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        procedure minCBChange(Sender: TObject);
        procedure dayCBChange(Sender: TObject);
        procedure hourCBChange(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form3: TForm3;
      Day : word;
      Hour : word;
      Minute : word;
      DayC : string;
      HourC : string;
      MinuteC : string;
     
    implementation
     
    {$R *.dfm}
    {$R WindowsXP.res}
     
    procedure TForm3.minCBChange(Sender: TObject);
    begin
    MinuteC := minCB.Text;
    Label1.Caption := MinuteC;
    end;
    procedure TForm3.dayCBChange(Sender: TObject);
    begin
    DayC := DayCB.Text;
    end;
    procedure TForm3.HourCBChange(Sender: TObject);
    begin
    HourC := HourCB.Text;
    end;
    procedure TForm3.Timer1Timer(Sender: TObject);
    begin
    Day := DayOfTheWeek(Now);
    Hour := HourOf(Now);
    Minute := MinuteOf(Now);
     
    if ((Day = DayC) and (Hour = HourC) and (Minute = MinuteC)) then
    begin
    Windows.Beep(440, 500);
    Windows.Beep(2000, 100);
    Windows.Beep(440, 100);
    Label1.Caption:='Il est l''heure de sortir les caliss de vidanges.!';
    end;
    end;
    end.

  2. #2
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    773
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 773
    Points : 500
    Points
    500
    Par défaut
    salut .
    Que veut tu convertir en word ?

    Bye

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 48
    Points : 30
    Points
    30
    Par défaut
    DayC, MinuteC et HourC car Day, Minute et Hour doivent etre des word.

  4. #4
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    773
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 773
    Points : 500
    Points
    500
    Par défaut
    Ah ok !! Pour faire tes test !

    Si les chaines dans tes combo sont deja des chiffres , tu consideres tes word comme des integers:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure Tform3.conversion ;
    var nDay,nHour,nMinute:word;
    begin
        nDay:=strtoInt(Day);
        nHour:=strtoInt(Hour);
        nMinute:=strtoInt(Minute);
    end;
    si c'est des chaines ( lundi , juin .. )
    le plus simple que tu fasse un datetostr(date) , qui lui te retourne une string , tu recupere les element qu'il te faut dans cette string et ensuite tu les testes avec tes propres string.

    Bye

  5. #5
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    au lieu d'utilisé des combo , 2solution
    1-utlise le composant delphi pour le date et le time (datetimepick ou quelque chose comme sa)
    2- le composant qui ce trouve dans la paleete example pour incr et dec un integer (sa aussi j'ai oublié son nom)
    bon dev

  6. #6
    DMO
    DMO est déconnecté
    Membre averti
    Avatar de DMO
    Profil pro
    Inscrit en
    Février 2004
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 290
    Points : 343
    Points
    343
    Par défaut
    Effectivement, pour aller dans le sens d'Edam, si tu utilises 2 TDateTimePicker par exemple, un avec dtpDate.Kind = dtkDate et l'autre avec dtpHeure.Kind = dtkTime, tu n'aurais plus besoin à priori que d'un Timer dans lequel la consition ressemblerait à un truc dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (dtpDate.Date = Date) AND (dtpHeure.Time = TimeSansMs) then
    Pour avoir l'heure système sans les millisecondes, tu peux par exemple faire un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function TimeSansMs: TDateTime;
    var
      SystemTime: TSystemTime;
    begin
      GetLocalTime(SystemTime);
      with SystemTime do
        Result := EncodeTime(wHour, wMinute, wSecond, 0);
    end;
    En espérant que ca aide.

    Bon dev'

Discussions similaires

  1. [Exercice Qt] Color picker, deuxième partie lancée !
    Par johnlamericain dans le forum Qt
    Réponses: 94
    Dernier message: 15/02/2013, 20h55
  2. Réponses: 7
    Dernier message: 17/01/2013, 17h52
  3. Réponses: 1
    Dernier message: 30/11/2012, 23h04
  4. Réponses: 1
    Dernier message: 19/07/2012, 11h45
  5. Réponses: 19
    Dernier message: 24/04/2007, 12h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo