IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Lien html dans une "Form" [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre régulier Avatar de danucc
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 69
    Points : 124
    Points
    124
    Par défaut Lien html dans une "Form"
    Bonjour à tous,

    Quelqu'un sait-il s'il y a un moyen simple de mettre un texte lien html dans un form ?
    Un "TLabel" qui serait un lien html utilisant le browser par défaut quand on clique dessus et qui fonctionnerait aussi bien avec Windows que Linux.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 506
    Points
    506

  3. #3
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Salut

    Tu peux utiliser ShellExecute avec les bons paramètres, dans l'événement OnClick de ton label... Remplace FileName par ton URL.

    Bonne chance !

  4. #4
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    J'avais créé une unité qui fait ça. Elle fonctionne sous Windows et sous Linux. La voici :

    Code : 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
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    unit AideHTML;
     
    {Version 1.0 du 10/10/2009}
     
    {Cette unité permet d'afficher un fichier d'aide au format *.html dans le
     navigateur par défaut sans avoir à connaître lequel est-ce et où il se trouve.
     Elle fonctionne pour les environnements Windows et Linux. En cas de modif ou
     d'ajout d'environnement, soyez sympa de m'en faire part à pr.chauveau@free.fr.
     
     Trois procédures sont proposées :
     
      1 - AideEnligne : à utiliser si le fichier d'aide possède le même nom que
          l'application mais avec l'extension .html et se trouve dans le répertoire
          de l'application (cas nominal),
     
      2 - AideEnLigne(Nom_du_fichier) : à utiliser si le fichier d'aide a un nom
          différent de celui de l'application mais se trouve quand même dans son
          répertoire. Nom_du_fichier doit être le nom avec son extension.
     
      3 - AideEnLigne(Rep_du_fichier, Nom_du_fichier) : à utiliser pour un fichier
          html dont le nom et/ou le répertoire n'ont rien à voir avec l'application.
    }
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      LCLVersion,
    {$IFDEF WIN32}
      Windows,
    {$ENDIF}
      Classes, SysUtils, Dialogs;
     
    procedure AideEnLigne; overload;
    procedure AideEnLigne(Fch: string); overload;
    procedure AideEnLigne(Rep, Fch: string); overload;
     
    implementation
    {$IFDEF UNIX}
    uses
    {$IF (lcl_major = 0) and (lcl_minor = 9) and (lcl_release < 27)}
      Process;
    {$ELSE}
      UTF8Process;
    {$ENDIF}
    {$ENDIF}
     
    procedure MessageErreur(Fch: string);
    begin
      MessageDlg('Le fichier "'+Fch+'" n''a pas été trouvé', mtWarning, [mbOK], 0);
    end;
     
    procedure Aide(Rep, Fch: string);
    {$IFDEF UNIX}
    var
    {$IF (lcl_major = 0) and (lcl_minor = 9) and (lcl_release < 27)}
      Prc: TProcess;
    {$ELSE}
      Prc: TProcessUTF8;
    {$ENDIF}
    {$ENDIF}
    begin
    {$IFDEF UNIX}
    {$IF (lcl_major = 0) and (lcl_minor = 9) and (lcl_release < 27)}
      Prc:= TProcess.Create(nil);
    {$ELSE}
      Prc:= TProcessUTF8.Create(nil);
    {$ENDIF}
      Prc.CurrentDirectory:= Rep;
      Prc.CommandLine:= 'xdg-open '+Fch;
      Prc.Execute;
      if Prc.ExitStatus <> 0 then
        MessageErreur(Fch);
      Prc.Free;
    {$ENDIF}
    {$IFDEF WIN32}
      if ShellExecute(0, 'open', PChar(Fch), nil, PChar(Rep), SW_SHOWNORMAL) <= 32 then
        MessageErreur(Fch);
    {$ENDIF}
    end;
     
    procedure AideEnLigne;
    begin
      Aide(ExtractFileDir(ParamStr(0)),
           ChangeFileExt(ExtractFileName(ParamStr(0)),'.html'));
    end;
     
    procedure AideEnLigne(Fch: string);
    begin
      Aide(ExtractFileDir(ParamStr(0)), Fch);
    end;
     
    procedure AideEnLigne(Rep, Fch: string);
    begin
      Aide(Rep, Fch);
    end;
     
    end.
    Ajoutez-là à votre code et appelez l'une des trois procédures "AideEnLigne" selon le besoin.

    Cordialement.

    Pierre

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 48
    Points : 55
    Points
    55

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 506
    Points
    506
    Par défaut
    Autant je trouve que cette une bonne chose d'avoir une fonction OpenURL dans la LCL autant je trouve que c'est dommage de la mettre une unité qui n'existe que pour la compatibilité avec Delphi...

  7. #7
    Membre régulier Avatar de danucc
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 69
    Points : 124
    Points
    124
    Par défaut [résolu]
    Merci à tous,

    Ça marche, en suivant vos liens et conseils, j'ai utilisé le xdg-open pour linux et le ShellExecute pour windows.

    L'unité de ChPr est très intéressante aussi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher un lien HTML dans une page HTML sans qu'il soit interprété
    Par nico1214 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/11/2008, 23h14
  2. Inserer un lien HTML dans une fenetre Qt
    Par ronanf235 dans le forum Qt
    Réponses: 12
    Dernier message: 22/01/2008, 14h35
  3. Comment mettre un lien html dans une table MySql
    Par god_enel dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/01/2007, 14h20
  4. Lien html dans une boucle For(?)
    Par zorba49 dans le forum VBScript
    Réponses: 6
    Dernier message: 17/05/2006, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo