Pipotron v1.4.2

Description

2012 approche et notre pays devra élire un nouveau chef de l'état. Vous vous sentez une âme de leader et souhaitez sortir notre pays du marasme générale mais vous ne savez pas vous produire en public et débiter des phrases éloquentes et purement politiciennes ? Pas de problèmes, avec le Pipotron soyez à l'avant-garde des discours, soyez le génial manipulateur de la sémantique.
Un programme totalement inutile donc indispensable.

Créé sur l'idée originale de : http://www.pipotron.free.fr/

Source / Exemple :


{===============================================================================
Code source : BEAUMONT Christophe
Version     : 1.4.2
Date        : 19 Mars 2010

Micro-projet 05 - Un générateur aléatoire d'expressions, programme amusant mais
qui ne sert strictement à rien.
Retrouvez ce source également sur mon site : "http://www.delphinautes.fr"
===============================================================================}
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI, Math, XPMan;

type
  Tf_Main = class(TForm)
    List1: TListBox;
    Memo: TMemo;
    List2: TListBox;
    List3: TListBox;
    List4: TListBox;
    List5: TListBox;
    List6: TListBox;
    List7: TListBox;
    List8: TListBox;
    List9: TListBox;
    BtnGenere: TButton;
    LabSite: TLabel;
    XPLook: TXPManifest;
    procedure LabSiteMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure LabSiteMouseLeave(Sender: TObject);
    procedure LabSiteClick(Sender: TObject);
    procedure BtnGenereClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ListXClick(Sender: TObject);

  private
    { Déclarations privées }
    procedure PrintPipo;
  public
    { Déclarations publiques }
  end;

var
  f_Main: Tf_Main;
  Liste : array[1..9] of String;

Const
  PipoLine = '%s %s %s %s %s %s %s %s %s';

implementation

{$R *.dfm}

procedure Tf_Main.BtnGenereClick(Sender: TObject);
var i : integer;
begin
// On va traiter les 9 TListBox
 for i:=1 to 9 do
  with TListBox(FindComponent('List'+IntToStr(i))) do
  begin
// RandomRange renvoie un entier aléatoire entre 0 et le nombre d'expressions du TListBox
// ce qui va définir l'expression choisie
   ItemIndex := RandomRange(0, Items.Count);
// Et on sauvegarde le texte
   Liste[i]:=Items[ItemIndex];
  end;
  PrintPipo;
end;
// Procédure commune aux 9 TListBox, on récupère l'évènement et on sauvegarde
// l'expression à la position définie dans la propriété "Tag".
procedure Tf_Main.ListXClick(Sender: TObject);
begin
 if (Sender is TListBox) then
  begin
    with (Sender as TListBox) do
// On définit l'expression sélectionnée
     Liste[Tag] := Items[ItemIndex];
// On l'affiche dans le TMemo
     PrintPipo;
  end;
end;

procedure Tf_Main.PrintPipo;
const voy : array[1..10] of Char =('a','e','é','è','ê','i','o','u','y','h');
var s : string;
    i : integer;
begin
// On assemble l'ensemble des expressions
 s := Format(PipoLine,[Liste[1],Liste[2],Liste[3],Liste[4],Liste[5],Liste[6],Liste[7],Liste[8],Liste[9]]);
// On va passer en revue les voyelles et autres accords avec l'expression "de"
 for i := 1 to 10 do
   begin
// On remplace les expressions "de a...","de e..." par "d'a...","d'e..." etc...
    s:=StringReplace(s,'de '+voy[i],'d'''+voy[i],[rfReplaceAll]);
   end;
// Vide le composant TMemo de tout texte
 Memo.Clear;
// On affiche dans le TMemo l'ensemble des expressions choisies
 Memo.Lines.Add(s);
end;

procedure Tf_Main.FormCreate(Sender: TObject);
begin
// Initialise le générateur de nombre aléatoire, à faire avant d'utiliser RandomRange
 Randomize;
end;

procedure Tf_Main.LabSiteMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
// Souligne l'adresse du site quand la souris passe dessus
 LabSite.Font.Style := [fsUnderline];
end;

procedure Tf_Main.LabSiteMouseLeave(Sender: TObject);
begin
// Retire le soulignement du site quand la souris n'est plus dessus
 LabSite.Font.Style := [];
end;

procedure Tf_Main.LabSiteClick(Sender: TObject);
begin
 ShellExecute(Handle,'Open','http://www.delphinautes.fr',nil,nil,SW_SHOWDEFAULT)
end;

end.

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.