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

Turbo Pascal Discussion :

[TP] Boucle "for i := 1 to ParamCount do" ne s'exécute pas


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Par défaut [TP] Boucle "for i := 1 to ParamCount do" ne s'exécute pas
    bonjour
    j'ai ecris un programme qui permet le passage de deux parametre à une procedure ,lorsque je debug pour voir les pas d'execution je remarque que
    les ligge de code entre for i := 1 to ParamCount do ne s'execute pas et que le curseur se derige vers la fin du programme
    voila le bout de programme
    à noter que tous les varibles necessaire à la bonne marche du programme sont déclarés
    objet du programme concatener 2 fichiers

    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
    procedure copyfa(f1,f2 : string);
     BEGIN
      {$I-}
       assign(g,'samir.tmp');{fichier de type text}
       rewrite(g);
       for i :=1 to paramcount do
       begin
          assign(f,ParamStr(i));
           reset(f);
             while not eof(f) do
               begin
                 read(f,IT);
                 Writeln(g,IT.nom,gt.prenom,gt.adresse);
               end;
     
      end;
     close(f);
     close(g);
     end;
     begin
        da :='c:\candidat1.dat'; {fichier de type record}
        sb :='c:\candidat2.dat' ;{fichier de type record}
        copyfa(da,sb);
     end.

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    En debug tu as pensé à vérifier la valeur de paramcount ?

  3. #3
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Si ca ne passe pas dedans, c'est que ParamCount < 1

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Par défaut
    Bonjour,

    moi je code comme ça ... avec des paranthèses masi je ne sais pas si ça intervient.

    j'ai un programme qui fonctionne ainsi et sans aucun problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for j:=1 to paramcount() do
    begin
    	assignfile(f,paramstr(j))
    [...]
    end;

  5. #5
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    for i :=1 to paramcount do
    begin
    assign(f,ParamStr(i));
    En fait je crois que tu veux compter les parametres f1 et f2 et les utiliser.
    Mais c' est pas ce que fait paramstr et paramcount. Il compte et renvoie les arguments de la ligne de commande (quand tu lance le programme sous dos ex: nbtstat -A 127.0.0.1. ici paramcount vaut 2 et paramstr vaut -A et 127.0.0.1).
    Puis les arguments d' une fonction ne sont pas variables (enfin on peut tout fois s' en affranchir), tu devrais les utiliser directement dans le programme au lieu de faire une boucle pour raccourcir le code

  6. #6
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Par défaut [TP] Boucle "for i := 1 to ParamCount do" ne s'exécute pas
    Merci pour les reponses pour Paramcount sa caleur eb debugant c'est 0
    ce qui signifie qu aucun argument n'a été passé à la procedure (copa)
    mais je me demande comment faire pour debuger le code à partir de la ligne de commande en lui transmettnt les 2 arguments
    j'ai essayé a partir de la ligne de commande DOS :
    TPC D+ FICHIER.PAS candidat1.dat candidat2.dat pour voir l'evolution du programme et pour voir la valeur de paramcount ça n'a pas marché je crois que le syntax n'est pas bon
    je vous demande si vous avez des idées et merci

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

Discussions similaires

  1. Problème de boucle avec for
    Par ions dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 20/11/2007, 08h58
  2. boucles while/for : syntaxe incompréhensible
    Par Loceka dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/12/2006, 21h04
  3. Boucle infinie for
    Par shnouf dans le forum Langage
    Réponses: 5
    Dernier message: 25/10/2006, 18h46
  4. boucle <xsl:for-each>
    Par Mike35 dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 13/02/2006, 11h58

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