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 :

[D7] fichier ÿØÿà créé lors de l'exéctution


Sujet :

Delphi

  1. #1
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 482
    Par défaut [D7] fichier ÿØÿà créé lors de l'exéctution
    Bonjour à tous,

    Lors de l'exécution de mon exécutable, un fichier nommé « ÿØÿà » se crée automatiquement juste à côté de mon fichier .exe.

    Après quelques recherches, il semble que l’image que j’affiche sur la page d’authentification soit à l’origine de ce problème. Voici le bout de code utilisé pour afficher le logo :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    with F_DM.T_Info do
    begin
      if not FieldByName('inv1').IsNull then // Vérifie si le champ inv1 n'est pas vide
      begin
        if Trim(FieldByName('inv1').AsString) <> '' then // Vérifie si le champ inv1 n'est pas une chaîne vide
        begin
          sPath1 := ExtractFilePath(Application.ExeName) + FieldByName('inv1').AsString;
          TBlobField(FieldByName('inv1')).SaveToFile(sPath1);
          Image2.Picture.LoadFromFile(sPath1 + '.jpg');
        end;
      end;
    end;
    Images attachées Images attachées  

  2. #2
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Tu dois avoir 2 champs l'un pour le nom de l'image, l'autre pour son contenu et il y a une confusion entre les deux
    Un exemple
    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
     
    procedure TForm1.BmpToJPG(stNom: string);
    var
      stream: TMemoryStream;
      Bmp1: TBitmap;
      Jpeg: TJpegImage;
      StName: string;
    begin
      try // BW
     
        stream := TMemoryStream.Create;
        TB1Photo.SaveToStream(stream);
        stream.Position := 0;
        Bmp1 := TBitmap.Create;
        Bmp1.LoadFromStream(stream);
        Jpeg := TJpegImage.Create;
        Jpeg.PixelFormat := jf24Bit;
        Jpeg.Assign(Bmp1);
        Jpeg.CompressionQuality := 66;
        StName := StRepImage + stNom + '.jpg';
        Jpeg.SaveToFile(StName);
        Jpeg.Free;
        try
          Bmp1.PixelFormat := pf8bit;
        finally
          Bmp1.Free;
        end;
      finally
        stream.Free;
      end;
    end;

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    ÿØÿà est un magic number très connu, c'est 0xFF 0xD8 0xFF 0xE0 pour indiquer un JPEG

    Comme indiqué par ALWEBER, il te faut avoir un nom de fichier, éventuellement un nom de fichier temporaire

    Sinon le fichier est inutile TBlobField.SaveToStream + Image2.Picture.LoadFromStream avec un TMemoryStream
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 482
    Par défaut
    Citation Envoyé par ALWEBER Voir le message
    Tu dois avoir 2 champs l'un pour le nom de l'image, l'autre pour son contenu et il y a une confusion entre les deux
    Un exemple
    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
     
    procedure TForm1.BmpToJPG(stNom: string);
    var
      stream: TMemoryStream;
      Bmp1: TBitmap;
      Jpeg: TJpegImage;
      StName: string;
    begin
      try // BW
     
        stream := TMemoryStream.Create;
        TB1Photo.SaveToStream(stream);
        stream.Position := 0;
        Bmp1 := TBitmap.Create;
        Bmp1.LoadFromStream(stream);
        Jpeg := TJpegImage.Create;
        Jpeg.PixelFormat := jf24Bit;
        Jpeg.Assign(Bmp1);
        Jpeg.CompressionQuality := 66;
        StName := StRepImage + stNom + '.jpg';
        Jpeg.SaveToFile(StName);
        Jpeg.Free;
        try
          Bmp1.PixelFormat := pf8bit;
        finally
          Bmp1.Free;
        end;
      finally
        stream.Free;
      end;
    end;

    Merci beacoup, très belle piste c'est résolu

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Comme tu es en D7, si tu veux un complément, pour n'utiliser que des Stream et pas de fichier, un vieux sujet : JPEG et champ BLOB
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 30/11/2006, 12h01
  2. Suppression fichier context lors deploiement war
    Par kalos dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 14/11/2006, 08h59
  3. Réponses: 19
    Dernier message: 25/10/2006, 15h36
  4. Mise à jour des fichiers syst lors d'une installation
    Par Asdorve dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 03/07/2006, 15h27
  5. Réponses: 33
    Dernier message: 15/10/2004, 16h19

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