Bonjour,
J'ai décidé avant-hier de vraiment me mettre à la programmation (je commencerais vraiment après mon oral du bac soit dans 15jours) et j'ai choisis d'apprendre le Delphi (j'ai des connaissances en xHTML,CSS, VB.NET qui me permettent de bidouiller mais sans plus). Je suis donc le cours pour débuter ce language (celui sur ce site) et j'ai décidé de commencer une application tout de suite, que je vais peaufiner au fur et à mesure. Cette application n'a rien de très compliqué c'est tout simplement un minuteur qui, quand le temps est écoulé, va soit éteindre soit mettre en veille soit restart l'ordinateur.
Un screenshot de l'application actuelle: (inutile de vous dire que le design est loin d'être finit)
Et voici exactement ce que je veut faire:
- L'utilisateur choisit entre "éteindre", "mettre en veille" ou "restart"
- L'utilisateur rentre soit l'heure à laquelle l'ordi éxécute la tâche ou dans combien de temps via un Combobox.
- L'utilisateur rentre les valeurs puis clique sur "Sleep"
- Quand "Sleep" est activé, le bouton change en "Cancel" et un message apparait pour confirmer que l'ordinateur s'éteindra dans "XXh XXmin XXsec"
- Un message apparait 10sec avant que l'action se fasse pour rappeler à l'utilisateur que l'ordi va s'éteindre si il n'est pas encore couché.
- ProgressBar qui indique le temps restant
- Désactiver Le bouton Sleep tant que tout n'est pas rentré
Quelques problèmes rencontrés (à savoir que tout ce qui est dit plus haut n'est pas du tout fait et que je ne sais pas comment faire)
- Les cases dans lesquelles l'user rentre un temps sont sur fond blanc et j'aimerais qu'ils soient transparent Finalement c'est pas utile
- J'aimerais ques les chiffres dans les cases soient centrés Disponible dans l'inspecteur d'objet via alignment = taCenter
- COLOR="#FF0000"]Les cases sont remplient par défaut par "H" "M" et j'aimerais que ceux là soit grisés et quand l'user cliquent qu'ils soient automatiquement suppr [/COLOR] Encore une fois, j'ai trouvé beaucoup plus simple dans l'inspecteur d'objet, laisser Text vide mais mettre le "H" dans TextHint, du coup dès que la case sera vide le H apparaitra en grisé sans problème en plus il n'y a pas besoin de supprimer le H comme ça aurait été le cas avec Text.
- Shutdown et Standby sont en noir, j'ai essayé de modifier la couleur dans "font" mais ça n'a pas marché J'ai utilisé un label pour régler le problème
- Changer le Boutton Sleep en Cancel . C'est peut être pas super optimisé mais voila comment j'ai procédé:
J'ai deux bouttons les uns sur les autres: Button1=Sleep Button2=Cancel
Pour Button1:
Pour Button2:
Button2.Visible := False;
- J'aimerais que le boutton Sleep n'apparaisse que: Quand EditH et EditM soient remplis, qu'un choix à été fait dans GroupBox1, et que RadiobuttonStandby ou RadiobuttonShutdown ou RadiobuttonRestart soit coché .
J'ai tenté :
If RadiobuttonStandby.Checked = True or RadiobuttonShutdown.Checked = True or RadiobuttonRestart.Checked = True and ///JE SAIS PAS// Then Button1.Enabled = True
- J'utilise une police spécial qui n'est pas par défaut sur les ordinateur, est-il possible d'importer cette police dans le programme sans pour autant utiliser un installateur? .
- En scannant mon programme, les antivirus detectent des Génériques (voir: https://www.virustotal.com/fr/file/8...is/1402252168/, comment éviter ses faux positifs? mon programme n'est pas finit mais je ne pense pas qu'ils vont disparaitre .
-J'aimerais que DateTimePicker soit Enabled uniquement quand Combobox = At . J'ai tout d'abord essayé de rentré dans Combobox "if Combobox1.Caption = 'In' then DateTimePicker1.Enabled := False; " Après avoir galéré à comprendre pourquoi j'avais une erreur. Je me suis rendu compte que Caption n'existait pas et que c'etait "Combobox1.text"
J'ai pensé à:
Pour faire l'action à une heure précise, convertir celle-ci en minutes puis faire "Temps en min mit par l'user"-"Temps en min actuel" puis afficher ce temps dans le texte de quelques secondes. Cependant imaginons qu'il soit 23h et que je veut que l'ordi se ferme à 1h du mat, ce calcul n'est alors plus bon.
Vidéo de l'application (qui ne fonctionne pas réelement. Du moins peut importe ce qu'on rentre, l'action démarre à 120min):
Si vous avez des solutions ou des pistes votre commentaire est le bienvenu
Je suis sur Delphi XE6
Partager