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

Lazarus Pascal Discussion :

Différence de format de String entre une StringGrid.Cells[aCol,aRow]et un array_of_String[aRow] [Lazarus]


Sujet :

Lazarus Pascal

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Différence de format de String entre une StringGrid.Cells[aCol,aRow]et un array_of_String[aRow]
    Bonjour,

    Je transforme une image en String (normalement AnsiString) mais une déclaration String suffit :
    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
    function TmySQLtoSGtoSQL.SQLBlobToStr(aQuery : TZQuery; aField : TField) : String;
    {public}
    {String or AnsiString ?}
    var
      aStream : TMemoryStream;
    begin
     Result := '';
     with aQuery do
      if not(aField.isNull) then begin
       try
        aStream := TMemoryStream.Create;
        TBlobField(aField).SaveToStream(aStream);
        Result := MemStreamToString(aStream);
       finally
        aStream.Free;
       end;
      end;
    end;
    Puis réciproquement la String en Image
    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
    function TmySQLtoSGtoSQL.StrBlobToImage(aStr : String; aImage: TImage): Boolean;
    var
       aStream : TMemoryStream;
    begin
     Result := False;
     if aStr <> '' then
      try
       aStream := TMemoryStream.Create;
       try
        if StringToMemStream(aStr, aStream) then begin
         aStream.Position := 0;
         aImage.Picture.LoadFromStream(aStream);
         Result := True;
        end;
       except
        Result := False;
       end;
      finally
       aStream.Free;
      end;
    end;
    Un test "ordinaire" fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {sTmp : String;}
    with mySQLtoSGtoSQL1 do begin
      //Envoi du Field SQL ds une chaine
         sTmp := SQLBlobToStr(ZQueryLOCK,Fields[ca_caLOGO]);
       //Envoi d'une chaine dans l'image;
          if sTmp <> '' then StrBlobToImage(sTmp, Image1);
     end;
    Maintenant, si je place mes sTmp dans des cellules d'une TStringGrid cela ne fonctionne plus. Pour que cela fonctionne, il faut que j'associe mes sTmp dans un aArray (array of string). Je suis en {$mode objfpc}{$H+}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    with mySQLtoSGtoSQL1 do begin
       StrBlobToImage(aArray[iRow], Image1); {OK}
       StrBlobToImage(Cells[sg_caLOGO, iRow], Image2); {No !!!!!!!!!}
    end;
    Les TStringGrids.Cells[aCol, aRow] ne sont pas des String de même nature que les aArray[aRow] ?
    Un Showmessage( IntToStr(length(aArray[iRow]))+'-'+IntToStr(length(Cells[sg_caLOGO, iRow]))); renvoie 1010-8 donc le remplissage de Cells avec la même méthode que l'array[aRow] ne fonctionne pas. J'en déduis -peut-être bêtement- que la nature des String n'est pas identique. Est-ce un raisonnement erroné ? Je précise que dans le TStringGrid, j'utilise des TColumns dont j'ai modifié la MaxSize... au cas où... mais sans succès.

    Une bonne âme peut m'expliquer ?


    Cordialement. Gilles
    Dernière modification par Invité ; 05/11/2011 à 12h16. Motif: Précisions

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

Discussions similaires

  1. Calcul pourcentage de différence entre string d'une liste
    Par crunchy63 dans le forum Général Python
    Réponses: 3
    Dernier message: 01/02/2013, 14h41
  2. Réponses: 6
    Dernier message: 14/07/2007, 11h36
  3. [JBoss]Différence entre une DataSource et une XADataSource ?
    Par lalakers dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 03/10/2005, 11h18
  4. Réponses: 2
    Dernier message: 25/05/2005, 21h34
  5. [Debutant]Formater un string pour une url
    Par maxxou dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 22/03/2004, 16h17

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