Fév 26

Plusieurs paramètres peuvent être passés à l’application lorsque celle-ci est appelée :

  • /s : affiche l’écran de veille
  • /c : affiche l’écran de configuration de l’écran de veille ; C’est également cet écran qui s’affiche si aucun paramètre n’est passé.
  • /p : affiche la prévisualisation de l’écran de veille
    Pour la prévisualisation, le Handle de la fenêtre où il faut l’afficher est nécessaire. Celui-ci est passé soit par un second paramètre (/p 123456), soit à la suite du /p séparé par : (/p:123456)

Pour gérer ces paramètres et les actions qui en découlent, je modifie le fichier source du projet :

Voir la source du projet

Voir la source du projet

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
program wSnowflakes;

{$R *.dres}

uses
  FMX.Forms,
  System.SysUtils,                      // Trim, LowerCase
  System.StrUtils,                      // LeftStr, RightStr
  Winapi.Windows,                       // MessageBox, MB_OK, MB_ICONWARNING, MB_TOPMOST
  main in 'main.pas' {frmMain},
  fConfig in 'fConfig.pas' {frmConfig},
  uShared in 'uShared.pas',
  uSnowflake in 'uSnowflake.pas';

{$R *.res}

var
  sArg1, sArg2: string;

begin
  Application.Initialize;

  // Paramètres passés à l'application
  sArg1 := '';
  sArg2 := '';

  if (ParamCount > 0) then // S'il y a des paramètres
  begin
    sArg1 := Trim(LowerCase(ParamStr(1)));

    // Si les paramètres sont séparés par un :
    if (Length(sArg1) > 2) then
    begin
      sArg2 := RightStr(sArg1, Length(sArg1) - 3);
      sArg1 := LeftStr(sArg1, 2);
    end
    else if (ParamCount > 1) then
    begin
      sArg2 := ParamStr(2);
    end;
  end
  else
  begin
    sArg1 := '/c'; // Ecran de configuration par défaut
  end;

  if (sArg1 = '/s') then      // Affichage normal de l'écran de veille
  begin
    Application.CreateForm(TfrmMain, frmMain);
  end
  else if (sArg1 = '/c') then // Ecran de configuration
  begin
    Application.CreateForm(TfrmConfig, frmConfig);
  end
  else if (sArg1 = '/p') then // Affichage de l'écran de veillle dans la fenêtre de prévisualisation
  begin
    // Non géré
    Application.Terminate;
  end
  else
  begin
    MessageBox(0, PWideChar('Le paramètre "' + sArg1 + '" n''est pas valide !'), 'Android-Software', MB_OK + MB_ICONWARNING + MB_TOPMOST);
  end;
  Application.Run;
end.

Sur la page suivante, retrouvez l’unité me permet de stocker les paramètres de configuration de l’écran de veille ainsi que la fiche permettant de mettre à jour cette configuration…

Share

Pages : 1 2 3 4

Lien permanent vers Ecran de veille avec FireMonkey Rédigé par Whiler \\ Tags : , , , ,

6 réponses pour “Ecran de veille avec FireMonkey”

  1. Whiler a dit :

    Version 1.0.1.1 :

    • Ajout de l’affichage d’informations :si l’on appuie sur la touche i de son clavier, les infos sont affichées/masquées

    Informations

    Répondre

  2. philgoodgood a dit :

    bonjour
    @Whiler : j’adore mais au lieu de gérer un flocon (on en a assez eu cet hiver non ! |-( ) mois j’aimerais bien avec une petite araignée
    Si on pouvait choisir son bitmap (bow)

    ps : ton répertoire http://www.whiler.com/freewares/dl/ est accessible …et par là à ta liste de dvd 8-) normal ?

    bonne fin de semaine

    Répondre

  3. Whiler a dit :

    @ philgoodgood : Merci pour la sécurité du répertoire… c’est corrigé… (y)

    Pour ce qui est du bitmap, j’y ai pensé.. mais typiquement, une araignée, ça peut aller dans tous les sens (lol) pas seulement descendre… ça serait bizarre… |-(
    Si tu me files une jolie araignée sur fond transparent, et encore mieux, des sprites pour lui faire bouger les pattes… pourquoi pas ;)

    Répondre

  4. philgoodgood a dit :

    @Whiler : Ah ben tu es plus rapide que le fbi … déjà verrouillé …

    oui a l’occasion j’dis pas non (lol)

    ++

    Répondre

  5. Whiler a dit :

    @ philgoodgood : Pour info, en bas à droite de chaque message, il y a un bouton Répondre… si tu cliques dessus, ça t’évitera de taper le @user comme tu sembles le faire ;)

    Répondre

  6. philgoodgood a dit :

    @ Whiler : à yes While … comme je suis strong (devil)

    Répondre

Laisser une réponse

(requis)

(requis)

*

;) (lol) (y) |-( (hi) 8-) (angel) :s (clap) (bow) (tmi) (:| plus »

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.