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

Free Pascal Discussion :

Comment afficher les runtime errors [Free Pascal]


Sujet :

Free Pascal

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Comment afficher les runtime errors
    Bonjours à tous
    J’utilise avec mes élèves l’éditeur Notepad++ avec le plugin nppexec et le compilateur Free Pascal ; pas de problème de compilation ni d’exécution si le programme est correct.
    Le seul problème est comment afficher les erreurs d’exécution (run-time-errors) dans la même fenêtre du programme, car la fenêtre de ce dernier se ferme automatiquement sans nous laisser le temps de voir le code d’erreur.

    Les commandes dans nppexec sont :
    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cd $(CURRENT_DIRECTORY)
    FPC\2.6.2\bin\i386-win32\ppc386.exe "$(FULL_CURRENT_PATH)"
    npp_run "$(NAME_PART)".exe
    Merci à vous

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    J'utilise également Notepad++ et NppExec. Voici les commandes dont je me sers.

    La première pour compiler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fpc.exe $(CURRENT_DIRECTORY)\$(NAME_PART).pas
    La seconde pour exécuter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(CURRENT_DIRECTORY)\$(NAME_PART).exe
    Les deux fonctionnent. Peut-être faut-il regarder de ce côté-là ?
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    avec cette commande le probleme est que notepad++ lance le programme comme processus et non comme fenêtre

  4. #4
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut voir cet exemple Merci
    Essaye avec cet exemple, merci
    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
    uses crt;
    const n=3;
    type matrice=array[1..n,1..n]of char;
     
    var m:matrice;
        f_code, f_inter:text;
     
        i,j:integer;
     
    	procedure creation(var nomi:text;nome:string);
    begin
            assign(nomi, nome) ;
            rewrite(nomi);
            close(nomi);
    end;
     
    procedure etape1(var m : matrice; n : integer);
    var     i, j :integer;
    begin
            randomize;
     
            for i:=1to n do for j:=1 to n do m[i,j] := chr(ord('A')+random(26));
    end;
     
     
    procedure etape2( m : matrice; n :  integer;  var f_inter : text);
    var      i, bi, bs:integer;
             ch : string;
    begin
            append(f_inter);
            bi:=1;
            bs:=n;
     
            while bi<bs do begin
                                ch:='';
                                for i:= bi to bs do ch :=ch+ m[bi,i];
                                for i:= bi+1 to bs-1 do ch := ch+ m[i,bs];
                                for i:= bs downto bi do ch:=ch+ m[bs,i];
                                for i:= bs-1 downto bi+1 do ch:=ch+m[i,bi];
                                bi := bi+1;
                                bs := bs-1;
                                writeln(f_inter,ch);
                           end;
     
            if bi = bs then   writeln(f_inter,m[bi,bs]);
     
            close(f_inter);
    end;
     
     
    function convert_10_b2 (D,b2:integer ):string;
    var      r :integer ;
             c,ch:string ;
    begin
    	 ch:='';
             repeat
                   r := D mod b2 ;
     
                   if r<10    then str(r,c)
                              else c:= chr(r+55);
                   ch:=c+ch;
                   D:=D div b2;
             until D=0 ;
     
             convert_10_b2:=ch;
    end;                   
     
     
    procedure etape3(var f_inter, f_code : text);
    var     ch : string;
            i : integer;
    begin
            reset(f_inter);
            append(f_code);
     
            writeln( f_code,  convert_10_b2 (n,2) );
     
            while not eof(f_inter) do begin
                                         readln(f_inter, ch);
                                         for i:=1 to length(ch) do write(f_code, convert_10_b2 (ord(ch[i]),16),'#' );
                                         writeln(f_code);
                                    end;
     
            close(f_inter);
            close(f_code);
    end;
     
    begin
         creation(f_inter,'f_inter.txt');
         creation(f_code ,'f-code.txt');
     
         etape1(m, n);
         for i:=1to n do begin for j:=1 to n do  write(m[i,j],' ');writeln;end;
     
         etape2(m, n, f_inter);
         etape3(f_inter, f_code);readln
    end.

  5. #5
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut probleme résolu ne pas utiliser USES CRT;
    votre réponse est bien correcte
    $(CURRENT_DIRECTORY)\$(NAME_PART).exe
    et pour moi la solution consiste de ne pas utiliser USES CRT;
    Merci a vous.

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par profridha Voir le message
    et pour moi la solution consiste de ne pas utiliser USES CRT;
    Oui, je viens de constater à mon tour qu'avec l'unité Crt ça ne marche pas. Un petit exemple m'a suffi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    program Crt1;
     
    uses
      Crt;
     
    begin
      WriteLn('essai');
      ReadLn;
    end.
    Soit dit en passant, pensez à utiliser les balises appropriées lorsque vous mettez du code dans vos messages !
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

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

Discussions similaires

  1. Comment afficher les pages suivantes d'un QuickReport ?
    Par bertrand_declerck dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/06/2005, 12h54
  2. Jointure;comment afficher les enregs "non doubles"
    Par Wismerill dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/04/2005, 09h30
  3. Comment afficher les toolTipText dans une zone de statut ?
    Par nicok01 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 28/01/2005, 13h32
  4. [web] comment afficher les erreur d'un cgi
    Par chtiboss dans le forum Web
    Réponses: 6
    Dernier message: 24/12/2003, 11h22
  5. Comment afficher les accent sous mysql v4.0.13
    Par buildozer dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 09h33

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