Voir le flux RSS

Roland Chastain

Developpez URL Convertor (Code source d'un projet Lazarus)

Noter ce billet
par , 08/11/2015 à 14h59 (463 Affichages)
Bonjour !

J'ai posté dans le forum Pascal un exemple d'utilisation d'expressions régulières alternatives avec l'unité RegExpr de Free Pascal. Le programme remplace l'URL d'une discussion ou d'un post du forum par sa forme courte.

Merci à E.Bzz qui m'a donné (il y a quelque temps déjà) la formule pour obtenir la forme abrégée d'un lien vers une discussion ou un message.

Citation Envoyé par Roland Chastain Voir le message
Bonjour,

Je vous propose un nouvel élément à utiliser : Developpez URL Convertor

Programme qui convertit automatiquement le contenu du presse-papiers lorsqu'il s'agit de l'URL d'une discussion ou d'un post du forum. L'URL est alors remplacé par sa forme courte.

À défaut d'avoir une utilité réelle, le programme est surtout un exemple d'utilisation d'expressions régulières alternatives avec l'unité RegExpr. Attention au nombre total de parenthèses !

Code pascal : 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
function ShortURL(URL: string): string;
const
  SEARCHPATTERN1 = 'http://www.developpez.net/forums/d(\d+).+/';
  SEARCHPATTERN2 = '#post(\d+)';
  RESULTFORMAT1 = 'www.developpez.net/forums/showthread.php?t=%s';
  RESULTFORMAT2 = '#post%s';
var
  r: TRegExpr;
begin
  r := TRegExpr.Create;
  r.Expression := '(' + SEARCHPATTERN1 + SEARCHPATTERN2 + '|' + SEARCHPATTERN1 + ')';
  { Il y a quatre paires de parenthèses en tout. }
 
  if r.Exec(URL) then
  begin
    case r.SubExprMatchCount of
      3: result := Format(RESULTFORMAT1 + RESULTFORMAT2, [r.Match[2], r.Match[3]]);
      4: result := Format(RESULTFORMAT1, [r.Match[4]]);
      else
        result := 'Unexpected result: ' + IntToStr(r.SubExprMatchCount);
    end;

Qu'en pensez-vous ?

Envoyer le billet « Developpez URL Convertor (Code source d'un projet Lazarus) » dans le blog Viadeo Envoyer le billet « Developpez URL Convertor (Code source d'un projet Lazarus) » dans le blog Twitter Envoyer le billet « Developpez URL Convertor (Code source d'un projet Lazarus) » dans le blog Google Envoyer le billet « Developpez URL Convertor (Code source d'un projet Lazarus) » dans le blog Facebook Envoyer le billet « Developpez URL Convertor (Code source d'un projet Lazarus) » dans le blog Digg Envoyer le billet « Developpez URL Convertor (Code source d'un projet Lazarus) » dans le blog Delicious Envoyer le billet « Developpez URL Convertor (Code source d'un projet Lazarus) » dans le blog MySpace Envoyer le billet « Developpez URL Convertor (Code source d'un projet Lazarus) » dans le blog Yahoo

Catégories
Sans catégorie

Commentaires