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 :

Erreur exitcode 217 lors de la conversion d'une image en tableau


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Par défaut Erreur exitcode 217 lors de la conversion d'une image en tableau
    Bonjour à tous!

    Voilà mon problème est simple: après plusieurs tâtonnements j'ai réussi à trouver un bout de code pour convertir une image bmp en tableau.
    Seulement voilà après avoir enlever les erreurs de compilation, le lancement du programme me conduit inexorablement à un message d'erreur:
    "program {chemin}\essai2.exe exited with exitcode = 217"

    voici le code source:

    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
    program essai;
     
    uses sysutils;
     
    const lo=69;{longueur de l'image source en pixels}
         la=107;{largeur de l'image source en pixels}
         p=58;{pas de detection des droites}
         p_rho=1;{pas de tolérance pour l'angle theta}
         p_theta=1;{pas de tolérance pour la logueur rho}
     
     
     
     
     
    type
      image=array[1..lo,1..la] of integer;
     
     
    var
      Chemin : String;
      s: string;
      k1,k2 : Integer;
      Fichier : Text;
      Ligne : String;
      im1 : image;
     
     
     
    procedure Convertir(Chemin:string;t:image);
    var Fichier:Text;
    	k,r,i,e:integer;
    begin
    Assign(Fichier,chemin);
    reset(Fichier);
    while not eof(Fichier) do
        begin
          readln(Fichier,Ligne);
          readln(Fichier,Ligne);
          readln(Fichier,Ligne);
          readln(Fichier,Ligne);
          for k := 1 to la do
            begin
              for r := 1 to lo do
                begin
                  readln(Fichier,Ligne);
                  val(Ligne,i,e);
                  if i>0 then t[k,r]:=1;
                end;
              {/Rof}
            end;
          {/Rof}
        end;
       {/Elihw}
      end;
     
    begin
    Convertir('C:\joli.bmp',im1);
    for k1:=0 to lo do
    	begin
    	for k2:=0 to la do
                    begin
                    str(im1[k1,k2],s);
                    write(' '+s)
                    end;
    	writeln();
    	end;
    readln();
     
    end.
    Bien sûr je ne suis pas tenu d'utiliser ce bout de code alors si vous connaissez un moyen efficace et fonctionnel (en tous cas plus que celui-ci )de convertir une image en tableau je suis preneur!

    Merci d'avance!

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 049
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Une exception est manifestement déclenchée. Ton programme tourne sans erreur d'exécution chez moi (testé avec plusieurs bitmaps, jusqu'à 640x480 pixels pesant 1 Mb). Es-tu certain du chemin d'accès vers l'image ?

    As-tu essayé de debugguer ton programme ?
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Par défaut
    Malheureusement le chemin d'accès semble correct: j'ai même placé le fichier source à la racine du disque mais rien y fait...
    Déjà si le programme marche chez toi c'est déjà un bon point!
    Tu l'as utilisé tel quel ou tu as dû faire des modifications? (même bénignes, il se peut que j'ai fait une erreur toute bête)
    Je ne sais pas debugger un programme avec FreePascal:est-ce qu'il y une possibilité de l'exécuter ligne par ligne?

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 049
    Billets dans le blog
    2
    Par défaut
    Je n'ai fait aucune modification, si ce n'est la taille et le nom de l'image.

    Un conseil : télécharge la dernière version en date de l'EDI Free Pascal, il se peut que tu travailles avec une ancienne version.

    Pour déboguer ton programme, tu peux mettre des points d'arrêt dans ton code à l'aide de Ctrl-F8 et exécuter le programme à l'aide de Ctrl-F9. Chaque fois qu'un point d'arrêt est atteint, tu retournes automatiquement dans l'éditeur, où tu peux, par exemple, regarder la valeur de certaines variables (en tapant Ctrl-F7, tu crées une fenêtre dans laquelle tu peux les surveiller). Pour poursuivre l'exécution du programme jusqu'au point d'arrêt suivant, tu tapes Ctrl-F9.
    Les touches F7 et F8 permettent d'exécuter le programme pas à pas ou bloc à bloc.

    N.B. Je n'ai regardé que l'aspect exécution du programme. Car je pense que le résultat obtenu ne correspond pas vraiment au contenu de l'image. Il y a sûrement des corrections à faire à ce niveau.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Par défaut
    Bon j'ai réussi à faire disparaitre l'erreur à l'exécution en utilisant Dev-Pascal.Il s'agit peut être de ma version de Free-Pascal donc...Pourtant la version 2.2.4 est bien la dernière non?et Dev-Pascal fonctionne bien avec le compilateur Free-Pascal?
    Parce que le résultat du programme n'est pas vraiment celui escompté...
    Est-ce qu'il y a un moyen de convertir une image (en noir et blanc) en tableau de 0 et de 1? parce que visiblement cette méthode ne marche pas et le but de mon projet n'est pas de me débattre avec l'implantation de l'algorithme (de traitement d'image) mais surtout en la conception de l'algorithme lui-même...
    Mais si je ne peut pas l'implanter je ne peut pas en tester ses caractéristiques avec des exemples...

  6. #6
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 049
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par _Hope_ Voir le message
    Bon j'ai réussi à faire disparaitre l'erreur à l'exécution en utilisant Dev-Pascal.Il s'agit peut être de ma version de Free-Pascal donc...Pourtant la version 2.2.4 est bien la dernière non?et Dev-Pascal fonctionne bien avec le compilateur Free-Pascal?
    Dev-Pascal est fourni est avec un compilateur Free Pascal antédiluvien. Puisque tu as installé la version 2.2.4, il faut aller modifier les chemins dans les options de Dev-Pascal pour qu'il travailler avec cette version et non avec le compilateur d'origine.

    Citation Envoyé par _Hope_ Voir le message
    Parce que le résultat du programme n'est pas vraiment celui escompté...
    En effet. L'en-tête du fichier est constitué des champs suivants :
    • 2 octets pour la signature
    • 4 octets pour la taille du fichier
    • 4 octets inutilisés
    • 4 octets indiquant l'endroit où se situe l'image elle-même

    C'est ce dernier champ qui est important pour toi. C'est le n° de l'octet où commence l'image proprement dite dans le fichier.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/01/2012, 15h46
  2. Erreur de syntaxe lors de la conversion d'une valeur datetime
    Par info3licen dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 28/05/2011, 01h31
  3. [GD] Erreur lors de la miniaturisation d'une image jpeg
    Par PierreBTSIG dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 18/06/2008, 16h00
  4. Problème transparence lors de la conversion d'une image
    Par Riki dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 20/11/2007, 12h33
  5. Erreur lors de la conversion d'une requête SELECT en DELETE
    Par SamLeChiseuji dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/07/2007, 15h09

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