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

Langage Delphi Discussion :

Un moyen pour compresser une string ?


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Points : 199
    Points
    199
    Par défaut Un moyen pour compresser une string ?
    Bonjour,

    J'ai un objet avec un propriété Page de type string. Le problème c'est que j'ai plusieurs centaines de pages textes à stoquer dans chaque objet (1 page texte par propriété Page par Objet).

    Lorsque je sauvegarde mon fichier Data, il est enorme à cause de toutes mes Pages Textes.

    Comment puis-je compresser ma Page texte avant de la mettre dans ma prorpiété Page pour éviter d'avoir un fichier Data énorme ?
    Ma propriété Page doit-elle rester de type String ?

    Merci à tous pour votre aide.
    Bruno

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 911
    Points : 6 032
    Points
    6 032
    Par défaut
    Tu peux explorer la possibilité d'utiliser un algo de compression "tout fait".

    t'aidera dans ta démarche.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Utilise le librairie zip fourni avec delphi

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Points : 199
    Points
    199
    Par défaut
    Salut Eric,

    je ne la trouve pas :'( tu aurais pas 2 lignes d'exemple ?

    Merci pour otn aide.
    Bruno

  5. #5
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Il s'agit de l'unité ZLib

    Elle existe en D2005 et de mémoire en D7 également, je n'est pas d'exemple.... mais le fonctionnement à l'air vraiment très simple

    ZLib Unité

    Classes
    TCompressionStream
    TCustomZlibStream
    TDecompressionStream
    Types
    TCompressionLevel

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Stocker dans une base de données serait peut être une solution.
    Si le programme tant a avoir pas mal de volume dans le futur, ca serait peut être préférable.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Points : 199
    Points
    199
    Par défaut
    Bonjour,

    Tout d'abord merci Eric, pour ma part j'ai D7 Studio Pro donc je devrais avoir cela.

    Salut Malatar,
    en fait à l'origine mon prog utilisait une bdd, certes une mdb mais hélas les temps d'accés était vraiment trop long pour faire des recherches et des comparaisons, surtout quand il y a plus de 5000 enregistrements.

    Merci pour vos conseils.
    Bruno

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Points : 199
    Points
    199

  9. #9
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Je suis daccord avec Malatar.

    Il vaut mieux une base de données.
    La lenteur d'une base mdb est une chose.

    En utilisant la base native paradox (pas besoin d'une base client/serveur pour ton cas je pense), qui est très rapide tu peux t'en sortir. Tu peux te passer d'utiliser des requetes sql (ce qui conduit souvent aux lenteurs car par toujours très bien controlées et écrites/index de la base)

    Tout est dans l'habitilité à trouver des solutions d'indexage pour retrouver ton texte.
    5000 enreg c'est rien pour une base de données, même avec de gros enreg.
    Tu peux faire une tables parallèles avec la liste des mots et l'enreg qui contient ces mots... il y a pleins de solutions pour que ce soit rapide et bien classé dans une BD.
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Points : 199
    Points
    199
    Par défaut
    En fait, avec cette ZLib j'ai trouvé mon bonheur.
    Bonne rapidité de compression et surtout un trés bon Taux donc je suis ravie.

    Mais pour ce qui est de la vitesse, j'ai des objets et pour faire des comparaisons, des tris, et autres c'est quasi instanné meme sur des tres tres gros volume. Pour te donner un ordre 8000 pages (moy. 2ko/page) temps de tri sur le titre de la page 0.7s pas mal non ? et puis grâce aux objets je bénéficie de tous leurs avantages (count etc...)

    Mais merci qd même, et puis il faut dire une chose, mon prog existe déjà et donc la solution de passage en Bdd ne semble pas être envisageable rapidement d'où peut etre m'a rétissance.

    En tout cas merci à tous.
    Bruno

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/02/2013, 05h15
  2. y a t il moyen pour qu'une application s'abonne a un web service?
    Par KING_OF_GRACELAND dans le forum Services Web
    Réponses: 3
    Dernier message: 30/01/2008, 14h09
  3. Probleme pour parser une String en Date
    Par DrTank dans le forum Langage
    Réponses: 3
    Dernier message: 04/05/2007, 19h19
  4. [Cookies] Moyen pour bannir une personne
    Par Anduriel dans le forum Langage
    Réponses: 11
    Dernier message: 07/05/2006, 18h30
  5. [Ergonomie] Moyen pour saisir une heure dans une page web ?
    Par mic79 dans le forum Webdesign & Ergonomie
    Réponses: 7
    Dernier message: 16/12/2005, 14h03

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