Téléform

Késako :

  • Téléform met en forme un numéro de téléphone (0102030405 -> 01-02-03-04-05)

Démo sur Médycs :

Syntaxe :

1- Passage par l’argument :

teleform 02978500
  • Écrit 02-97-85-00 dans le pesse papier
  • On le récupère par un CTRL+V dans le champ téléphone

2- Passe par le presse papier

teleform sans argument
  • récupère le numéro copié dans le presse papier (CTRL+C)
  • le formatte
  • et le replace dans le presse papier (CTRL+V)

Mise en œuvre :

  • Télécharger le gestionnaire de raccourci clavier : CLAVIER+
  • Sur le raccourci CTRL+ALT +T (comme téléphone par exemple)
  • Placez ce TEXTE :
    • (Utilisez l’assistant)
[Ctrl + A][Ctrl + C][[C:\\CHEMIN\\teleform\\TeleForm.exe]][][Ctrl + V]
  • Explications
[Ctrl + A]
Surligne le numéro à formater
[Ctrl + C]
Copier dans le presse papier
[[C:\\CHEMIN\\teleform\\TeleForm.exe]]
Lancer téléfom (entrez le chemin exact grâce à l’assistant)
[]
Attend la fin du traitement et rend le focus au champ pointé
[Ctrl + V]
Recopie le numéro formaté dans le champ de départ

TELEFORM.INI

  • A chaque lancement TELEFORM génère un fichier de configuration à côté de l’exécutable

TELEFORM.INI

  • Pour régénérer le teleform.ini à ses valeurs par défaut, il suffit de le supprimer.
  • Il comporte 3 options :
[OPTIONS]
SEPARATEUR=-
INDICATEUR_REGION=02
INDICATEUR_DEPARTEMENT=97
SEPARATEUR
  • n’importe quel caractère (-, /, – etc …)
  • Pour l’espace mettre impérativement des guillemets => ” “
INDICATEUR_REGION
  • 02 pour la bretagne
  • sera automatiquement rajouté au début des numéros qui ne comprennent que 8 chiffres
  • ex 97852700 -> 02-97-85-27-00
INDICATEUR_DEPARTEMENT
  • 97 pour le Morbihan
  • sera automatiquement rajouté au début des numéros qui ne comprennent que 6 chiffres, en plus du précédent
  • ex 852700 -> 02-97-85-27-00

 

Téléchargement


Code Source PASCAL (V1.16.9)
program TeleForm;

uses
  clipbrd,
  SysUtils,
  dialogs,
  // strutils,

  jc32_INI

    ;

{$R *.res}

var
  param, tel, IR, ID, IV: string;
  c: char;
  i: integer;
  MODE_DEBUG: boolean;
  c_sep: string;

const
  cr = ^m + ^j;

begin

  param := '';
  tel := '';

  MODE_DEBUG := GetBool('OPTIONS', 'MODE_DEBUG', false);
  c_sep := GetStr('OPTIONS', 'SEPARATEUR', '-');
  IR := GetStr('OPTIONS', 'INDICATEUR_REGION', '02');
  ID := GetStr('OPTIONS', 'INDICATEUR_DEPARTEMENT', '97');
  IV := GetStr('OPTIONS', 'INDICATEUR_VILLE', '86');

  try

    for i := 1 to ParamCount do
      param := param + ParamStr(i);

    if param = '' then
    Begin
      param := Clipboard.AsText;
      if param = '' then
      Begin
        showmessage('Argument vide !' + cr + cr +
          'Le numéro de téléphone à formater doit être :' + cr + cr +
          '1-Soit placé en argument :' + cr + 'SYNTAXE ->TELEPHONE 12 3456 7890'
          + cr + cr + '2-Soit copié dans le presse papier');
        exit;
      End;
    End;

    if MODE_DEBUG = true then
      showmessage(param);

    for i := 0 to length(param) do
    BEGIN
      c := param[i];
      if CharInSet(c, ['0' .. '9']) then
        tel := tel + c;
    END;

    if tel = '' then
    Begin
      showmessagefmt
        ('Le Numéro : "%s" ne comporte pas (assez) de chiffres !', [param]);
      exit;
    End;
    { 0297852701 = 10 }

    { TRAITEMENT DE LA LONGUEUR }

    case length(tel) of
      1, 2, 3, 5, 7:
        Begin
          showmessage('Impossible de traiter ce numéro :' + tel + cr + cr +
            'Nombre incorrect de chiffres');
          exit;
        End;
      4:
        tel := IR + ID + IV + tel;
      6:
        tel := IR + ID + tel;
      8:
        tel := IR + tel;
      9:
        if tel[1] <> '0' then
          tel := '0' + tel;
      11 .. 20:
        // tel := copy(tel, pos('0', tel), 10);
        tel := copy(tel, 1, 10);
    end;

    tel := format('%s%s%s%s%s%s%s%s%s', [copy(tel, 1, 2), c_sep,
      copy(tel, 3, 2), c_sep, copy(tel, 5, 2), c_sep, copy(tel, 7, 2), c_sep,
      copy(tel, 9, 2)]);

    if MODE_DEBUG = true then
      showmessage('Dans le Presse Papier :' + cr + cr + param);

    Clipboard.AsText := tel;

    // saveBool('OPTIONS', 'AFFICHER_DIALOGUES', MODE_DEBUG);
    if c_sep = '-' then
      saveStr('OPTIONS', 'SEPARATEUR', c_sep);

    saveStr('OPTIONS', 'INDICATEUR_REGION', IR);
    saveStr('OPTIONS', 'INDICATEUR_DEPARTEMENT', ID);
    saveStr('OPTIONS', 'INDICATEUR_VILLE', IV);

  Except
    on e: Exception do
      showmessage
        ('TELEFORM (main) : Une erreur est survenue, contactez l''administrateur avec ce message'
        + cr + cr + e.Message + cr + cr + '>PARAM = ' + param + cr +
        '>TEL=' + tel);
  end;

end.

Laisser un commentaire