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 :

Problème de création de Function


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut Problème de création de Function
    Bonjour, je suis nouveau et je debute en Delphi j'aimerai qu'une ame charitable m'explique ce qui cloche dans mon petit code ? Je souhaite crée une function pour lire dans un fichier .PPM (Format d'image) en ayant la possibilité de choisir le nombre d'octect a lire.

    Voici mon code en esparant des réponse, voir des aides, 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
    unit ppm;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls;
     
    type
      TForm1 = class(TForm)
        Image1: TImage;
        OpenDialog1: TOpenDialog;
        Button1: TButton;
        F: TFilestream;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    function lecture(a: string;b: integer):string;
    var buf: string;
    var carac: char;
    var i: integer;
    var f: file of char;
    begin;
    assignfile(F,a);
    for i:=1 to b do begin;
    read(f,carac);
    buf:=buf+carac;
    end;
    lecture:=buf;
    end;
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
    buffer: string;
    f: file of char;
    filename: string;
    begin
    if opendialog1.execute then filename:=opendialog1.filename;
    showmessage(lecture(filename,2));
    end;
     
    end.

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2002
    Messages : 144
    Par défaut
    Comme ca, a vu de nez, je ferais plutot comme cela
    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
     
    function lecture(a: string;b: integer):string;
    var 
     carac: char;
     i: integer;
     f: file of char;
    begin
     assignfile(F,a);
     for i:=1 to b do 
     begin
      read(f,carac);
      Result:=Result+carac;
     end;
     CloseFile(F);
    end;
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
    buffer: string;
    f: file of char;
    filename: string;
    begin
    if opendialog1.execute then filename:=opendialog1.filename;
    showmessage(lecture(filename,2));
    end;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut
    Hum ca ne marche toujours pas mais merci tous de meme cela me resort une Erreur E/S 103 ? Mais pourquoi donc

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut
    Ok je viens de trouvé dans la function Reset(F);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function lecture(a: string;b: integer):string;
    var
     carac: char;
     i: integer;
     f: file of char;
    begin
     assignfile(F,a);
     reset(f);
     for i:=1 to b do
     begin
      read(f,carac);
      Result:=Result+carac;
     end;
    end;

    Et voilou , merci , merci

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

Discussions similaires

  1. [Ant] [Ejb] Probléme de création d'ejb avec Genic
    Par rivierem dans le forum JOnAS
    Réponses: 7
    Dernier message: 25/06/2004, 16h21
  2. Réponses: 7
    Dernier message: 16/06/2004, 15h02
  3. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59
  4. Problème de création de fenêtre
    Par tomateauketchup dans le forum DirectX
    Réponses: 1
    Dernier message: 08/06/2003, 19h42
  5. [Rave Report] problème de création dynamique
    Par Nivux dans le forum Rave
    Réponses: 2
    Dernier message: 24/05/2003, 00h07

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