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

Bases de données Delphi Discussion :

Lors de l'ouverture d'une Base de données


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2011
    Messages : 24
    Points : 24
    Points
    24
    Par défaut Lors de l'ouverture d'une Base de données
    Comment faire pour afficher un ecran de progression de l'ouverture d'une base
    de données FIREBIRD en Delphi7

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 844
    Points
    24 844
    Par défaut
    Comme c'est un traitement bloquant, à la base je dirais que ne peux pas y faire grand chose !
    La solution étant d'avoir un Thread dans lequel tu lance le Connection.Open()

    La connection est si longue que cela ?
    C'est étrange !

    Ce n'est pas plutôt une Query qui prend du temps ?
    Idem, à par un thread (ce qui peut-être complexe à gérer, perso, je l'ai fait pour MySQL)

    Tu peux très bien mettre une fenêtre de patience et un curseur sablier, c'est déjà ça !

    Rares sont les library qui indique la progression d'un traitement.
    Perso, je ne l'ai vu que pour des Script multi-requêtes ...
    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

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Bonjour


    J'ai aussi quelques procedures longues utilisant des requetes.

    comme l'indique ShaiLeTroll, je les ai "tranferees" dant un thread et j'utilise la procedure synchronise du thread pour indiquer le niveau de progression. Attention cela suppose de faire un "count" du nombre d'operation a faire, ce qui peut etre contre-productif.
    Dans ce cas, le "synchronise" permet juste d'indiquer que le thread est actif

    par contre, je ne trouve pas que la simple connexion a la base prenne un temps justifiant un message d'attente !
    pourquoi ton temps de connexion est il si long ?

    olivier
    Merci d'ajouter un sur les tags qui vous ont aidé

  4. #4
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Je crois que ASAFAW veut juste faire voir à ses utilisateur une gauge (ou une progressBar) défiler lors de la connexion à la base.
    Il est évident que la connexion ne prend pas assez de temps pour "mériter" une gauge.

    Moi je le fais dans un splash form, en controlant la gauge (ou progressbar) par l'instruction "sleep".

    Je mets la MaxValue à 5 et je fais le StepIt chaque 300ms. Soit par boucle ou par instructions successives, à la fin je remplis la gauge et je ferme le splash.
    Tout ça en 1.5 secondes.

    Voilà !

  5. #5
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut splash form ?
    bonjour

    qu'est-ce que c'est : splash form

    cordialement

    André

  6. #6
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Un splash est la première fenêtre qui s'ouvre pour annoncer le programme !
    Tu trouveras un splash dans les demos de Delphi.

    Celui de Delphi est la 1ère fenêtre qui t'annonce Delphi 7 avant l'ouverture de l'IDE.

    Bonne journée.

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 844
    Points
    24 844
    Par défaut
    @akli_agha
    En gros, tu as 1,5 secondes d'inactivités avec sleep ?
    Tu as derrière un véritable traitement asynchrone, où c'est juste pour faire joli ?

    @alheuredudejeuner
    Tu abuses !
    Comment réaliser un splash screen ?
    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

  8. #8
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Le temps d'affichage du splash et un brun d'esthétique !
    Sinon aucun traitement. Avant même la connexion à la base.

Discussions similaires

  1. ouverture d'une base de données
    Par Rodchess dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/06/2007, 22h34
  2. Réponses: 9
    Dernier message: 15/03/2007, 16h17
  3. problème à l'ouverture d'une base de données Access
    Par guestCam dans le forum Access
    Réponses: 10
    Dernier message: 31/01/2007, 14h56
  4. erreur lors d'un update d'une base de données
    Par tibtibby dans le forum ASP
    Réponses: 1
    Dernier message: 09/06/2006, 14h30
  5. Erreur lors de la suppréssion d'une base de donnée
    Par pier* dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 26/05/2006, 19h49

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