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

Delphi Discussion :

[Delphi] Récupérer un argument en ligne de commande


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut [Delphi] Récupérer un argument en ligne de commande
    Bonjour à tous,

    Je suis vraiment débutant en programmation langage delphi.

    J'ai créer un petit programme qui lit un fichier texte et qui l'affiche dans un memo.

    Cependant j'aimerait pouvoir le lancer depuis la ligne de commande avec comme argument le fichier texte. quelque chose du style

    mon_fichier.exe toto.txt

    Est-ce que cela est possible , si oui auriez-vous une piste???

    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    ParamCount et ParamStr() + traitement du fichier (vérif extension, chargement dans le memo) dans le MainForm.Create.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    donc dans ce code la , je devrais placé ou cette fonction?? :

    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
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      Tfrm_main = class(TForm)
        Memo1: TMemo;
        btn_ok: TButton;
        procedure FormCreate(Sender: TObject);
        procedure btn_okClick(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      frm_main: Tfrm_main;
     
    implementation
     
    {$R *.dfm}
     
     
    procedure Tfrm_main.btn_okClick(Sender: TObject);
    Var F: TextFile;
    Stg:String;
    begin
    //Lire le contenu du fichier
    Memo1.Clear; //Efface le contenu de Memo1
    AssignFile(F,ExtractFilePath(Application.ExeName)+'test.txt');
    Reset(F);
    repeat //Repeter...
    Readln(F,Stg); //Lit une ligne du fichier texte jusqu'au prochain sut de ligne
    Memo1.Lines.Add(Stg); //Affiche dans Memo1 le contenu de la variable
    until EOF(F);// ...jusqu'à ce que la position en cours du pointeur se trouve en fin de fichier
    CloseFile(F);
     
    end;
     
    procedure Tfrm_main.FormCreate(Sender: TObject);
    begin
     
    end;
    end.

  4. #4
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    Tu peux faire quelque chose de ce genre:
    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
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      if ParamCount = 1 then
      begin
        // Effectuer test d'usage sur le paramètre (extension, ...)
        LoadFileIntoMemo(ParamStr(1));
      end;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      LoadFileIntoMemo(ExtractFilePath(Application.ExeName) + 'test.txt');
    end;
     
    procedure TForm1.LoadFileIntoMemo(F: TFilename);
    begin
      with Memo1 do
      begin
        Clear;
        Lines.LoadFromFile(F);
      end;
    end;
     
    end.
    @+ Claudius

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    Il me dit que " LoadFileIntoMemo " n'est pas déclaré

    Je suis désolé je pose surement des questions basique , mais je n'y connais vraiment rien.

  6. #6
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Il faut bien sûr que tu déclares la fonction dans la partie interface.

    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
    interface
    
    uses Forms, ...;
    
    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
        procedure LoadFileIntoMemo(F: TFilename);
      public
        { Déclarations publiques }
      end;
    @+

Discussions similaires

  1. Réponses: 27
    Dernier message: 14/12/2006, 19h49
  2. Entrer un argument en ligne de commande
    Par alex_petit dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 14/12/2006, 00h11
  3. [VB.NET]Argument en ligne de commande
    Par Fayoul dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/06/2006, 12h27
  4. taille max des arguments en ligne de commande
    Par clepape dans le forum Langage
    Réponses: 2
    Dernier message: 08/10/2005, 13h18
  5. Réponses: 3
    Dernier message: 07/04/2003, 20h06

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