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 :

Composants, AbBase, AbBrowse, AbCBrows,


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut Composants, AbBase, AbBrowse, AbCBrows,
    Bonjour à toutes et à tous,

    Y a t'il quelqu'un qui pourrait me dire comment installer les composants de ABBREVIA pour D6 et Seven 64bits.

    En effet j'ai besoin que ceux qui sont cité afin d'extraire des fichiers de type *.mco qui sont des fichiers compressés (cab).

    On ne sait jamais si quelqu'un a une astuce car toutes les versions trouvée, ne s'installent pas sous Seven 64bits et D6.

    @+,

    Cincap

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par cincap Voir le message
    Y a t'il quelqu'un qui pourrait me dire comment installer les composants de ABBREVIA pour D6 et Seven 64bits.
    Je suis plus que tenté de dire : RTFM ou LCPM en français...

    Installation

    To install TurboPower Abbrevia into your IDE:
    1. Unzip the release files into a directory (e.g., d:\abbrevia).
    2. Start Delphi or C++Builder.
    3. Add the source subdirectory (e.g. d:\abbrevia\source) to the Delphi Library path. When using XE2 or later, add it to all platforms.
    4. If using C++Builder, add the source subdirectory to C++Builder's Include and Library paths.
    5. Open the project group in the packages directory that corresponds to the IDE being used (e.g. "Delphi XE2.groupproj").
    6. Start at the top of the project group and compile each package in turn. If using C++Builder, install each one after compiling.
    7. Select the "AbbreviaVCLDesign" package and install it. The IDE should notify you that the components have been installed. If you are using Delphi 7 you can install "AbbreviaCLXDesign" as well to get CLX designtime support.
    8. Make sure the PATH environmental variable contains the directory in which the compiled packages (i.e. BPL or DPL files) were placed.
    Citation Envoyé par cincap Voir le message
    On ne sait jamais si quelqu'un a une astuce car toutes les versions trouvée, ne s'installent pas sous Seven 64bits et D6.
    Qu'est ce qui ne fonctionne pas ? Y a-t-il un message d'affiché ? La marche à suivre précédente a-t-elle été suivie ?
    Philippe.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    Bonjour à toutes et à tous,

    @ Ph. B., merci de ton intervention, c'est ce que j'ai fait avec la version 5.0 (Abbrevia), apparemment, elle n'est pas prévue pour Seven 64bits.

    [Erreur] AbCharset.pas(321): Identificateur non déclaré : 'CheckWin32Version'
    [Erreur] AbCharset.pas(321): Opérateur non applicable à ce type d'opérande
    [Erreur fatale] Abbrevia.dpk(105): Impossible de compiler l'unité utilisée '..\..\source\AbCharset.pas'
    Je continue à chercher, car les ficiers *.cab contiennent des animations au format *.swf et le but est d'extraire et lire ce fichier avec l'active X "TShockwaveFlash"

    @+,

    Cincap

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    Avec ce code, je peux lire avec un Tlistbox (Lbfiles) les fichiers qui se trouve dans le fichier *.cab;

    Y a t'il moyen d'exploiter le fichier *.swf qui se trouve sur le Tlistbox ?

    Quitte à le sauver momentanément dans le dossier.

    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
     
    procedure TForm1.btnUpdateClick(Sender: TObject);
    begin
      lbFiles.Clear;
      CabDecompressor1.Extract(edFilename.Text, nil);
    end;
     
    function TForm1.CabDecompressor1CopyFile(AFilename: PChar;
      Size: Integer; date, time, attribs, iFolder: Word;
      pUserData: Pointer): Integer;
    var
      TempHandle : Integer;
      ExtractFilename : PString absolute pUserData;
    begin
      // If extracting a file, then compare this filename with the
      // file that we want to extract.  If they match, then open
      // the file and return the handle.  Otherwise just return 0.
      if FExtracting then
      begin
        if CompareText (AFilename, ExtractFilename^) = 0 then
        begin
          // open a file for writing and return the handle.
          TempHandle := CabDecompressor1.Callbacks.OpenFunc
            (AFilename,
             (O_BINARY or O_CREAT or O_TRUNC or O_WRONLY or
              O_SEQUENTIAL),
             (S_IREAD or S_IWRITE));
          Result := TempHandle;
        end
        else
          Result := 0;
      end
      else begin
        lbFiles.Items.Add (AFilename);
        Result := 0;
      end;
      end;
     
    function TForm1.CabDecompressor1CloseFile(AFilename: PChar;
      hf: Integer; date, time, attribs, iFolder: Word;
      RunFile: Integer; pUserData: Pointer): Integer;
    begin
      // Done writing file.
      // Close it and set the date and attributes.
      cabd.CloseAndDateStampFile
        (AFilename, hf, date, time, attribs);
      Result := 1;
    end;
     
    procedure TForm1.btnExtractClick(Sender: TObject);
    var
      Filename : String;
    begin
      if lbFiles.ItemIndex <> -1 then
      begin
        // Get filename and set extracting flag.
        Filename := lbFiles.Items[lbFiles.ItemIndex];
        FExtracting := true;
        // do the extract
        CabDecompressor1.Extract (edFilename.Text, @Filename);
        FExtracting := false;
      end;
    end;
     
    procedure TForm1.lbFilesClick(Sender: TObject);
    begin
    //flash.Movie := filename; //Ici rien ne fonctionne
      flash.playing := true;
    end;
    @+,

    Cincap

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    C'est surtout que tu sembles vouloir installer un composant que n'est pas conçu pour D6

    CheckWin32Version c'est à partir de D7 !
    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

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    @ ShaiLeTroll, merci de ta réponse, mais le zip ABBREVIA qui contient la version 5.0, a plusieurs dossiers d'install et D6 est repris dans la liste du dossier "Packages" d'ou ma question.

    Ceci étant dit, avec un composant "TcapDecompressor", je sais extraire les fichiers dans un TlistBox mais sans plus !

    @+,

    Cincap

  7. #7
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par cincap Voir le message
    @ Ph. B., merci de ton intervention, c'est ce que j'ai fait avec la version 5.0 (Abbrevia), apparemment, elle n'est pas prévue pour Seven 64bits.
    En fait @Shailetroll a donné la solution, la fonction CheckWin32Version ne fait que s'assurer que les n° de version majeur et mineur de Windows correspondent à un minima:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function CheckWin32Version(AMajor: Integer; AMinor: Integer = 0): Boolean;
    begin
      Result := (Win32MajorVersion > AMajor) or
                ((Win32MajorVersion = AMajor) and
                 (Win32MinorVersion >= AMinor));
    end;
    Un appel à GetVersionEx (cf. SDK M$) permet d'obtenir ces n°...
    Le package pour D6 n'a pas du être testé...
    Philippe.

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    @ Ph. B., ok je l'avais bien compris mais comme dans le package, le dossier D6 se trouvait, j'ai testé.

    Quant au code que j'ai communiqué, il n'y a pas moyen me semble t'il de récupérer ce fichier swf et de le sauver momentanément dans un dossier temporaire pour le lire ?

    Le composant qui était joint avec ce code, j'ai pu l'installer et il me permet d'extraire le Fichier au format cab sur un TlistBox.

    @+,

    Cincap

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    Bonjour à toutes et à tous,

    je reviens vers vous, car dans mes essais, j'arrive avec le composant "Cabd" d'extraire les fichiers contenu dans une archive *.cab avec la commande

    Cabex = TCabDecompressor

    Edfilename = TEdit

    Lbfiles = TListBox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Cabex.Extract(edFilename.Text, nil);
    A ce stade, les fichiers sont bien repris dans le TlistBox, je devrai donc pouvoir aussi les sauver dans un dossier temporaire et la je cale.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure TFTest.BSauvClick(Sender: TObject);
    var
    afilename : string;
    Idx       : Integer;
    begin
     
    chappli := ExtractFilePath(Application.ExeName) + 'Tempcab';
     
    aFileName := '*.swf';
    Idx := lbfiles.Items.IndexOf(aFileName);
    Cabex.Extract(inttostr(idx) + chappli + edfilename.text));
     
    end;
    Je vais communiquer la source du composant "Cabd", on ne sait jamais si quelqu'un à une idée !

    @+,

    Cincap
    Fichiers attachés Fichiers attachés

  10. #10
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par cincap Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cabex.Extract(inttostr(idx) + chappli + edfilename.text));
    Vu que la fonction est définie comme suit, cela ne va pas compiler...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function TCabDecompressor.Extract (const ACabName:String; pvUser:Pointer): BOOL;
    Il manque un paramètre.
    Qu'est ce que cela donne quand on trace pas à pas l'exécution du programme ?
    Philippe.

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    @ Ph. B., en fait il n'y a pas d'erreur, juste que les fichiers ne sont pas copié.

    Avec ce code, le TlistBox est rempli :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    lbFiles.Clear;
      CabDecompressor1.Extract (edFilename.Text, nil);
    Je viens de tester ceci suite à la fonction et cela fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var
      Filename : String;
    begin
      if lbFiles.ItemIndex <> -1 then
      begin
        // Get filename and set extracting flag.
        Filename := lbFiles.Items[lbFiles.ItemIndex];
        FExtracting := true;
        // do the extract
        CabDecompressor1.Extract (edFilename.Text, @Filename);
        FExtracting := false;
      end;
    Merci pour l'attention.

    @+,

    Cincap

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    Je viens de tester et cela fonctionne, la sauvegarde se fait dans le dossier de l'application, je ne suis pas arrivé à placer le fichier dans un autre dossier à moins d'utiliser un SaveDialog.

    J'aurai aussi préféré de sauver depuis la TlistBox que le fichier avec l'extension swf.

    Donc je vais encore triturer ce code.

    @+,

    Cincap

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/06/2002, 00h15
  2. Existe t'il un composant permettant de jouer un son wav?
    Par scorpiwolf dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/06/2002, 14h10
  3. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10
  4. Installer ses composants
    Par Geronimo dans le forum C++Builder
    Réponses: 14
    Dernier message: 18/06/2002, 14h51
  5. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

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