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

Composants VCL Delphi Discussion :

Comment faire une bare de chargement?


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut Comment faire une bare de chargement?
    Voilà j'aimerais savoir comment on peut faire une barre de chargement pour savoir si cela va bientot finir le chargement de la procédure ou d'une requête(car mes chargements sont relativement long)!Merci encore!bye!

  2. #2
    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
    avec une progressbar :

    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
     
    With ProgressBar do
    begin
      Min := 0;
      Max := 100;
     
      // ici la requete
      LEQuery.Open;
     
      While not LEQuery.EOF do
      begin
        // ton traitement;
        LEQuery.Next;
        Position := LEQuery.Rec * 100 Div LEQuery.recordcount;
        Application.ProcessMessages; 
      end;
    end;
    A adapter bien sur au besoin ^^
    Modérateur Delphi

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

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    var
    a,b,c:integer;
    begin
                    With ProgressBar1 do
                         begin
                         Min := 0;
                         Max := 100;
     
                         Query3.Close;
                         Query3.sql.clear;
                         Query3.sql.Add('SELECT CCode,CTitle,CSurname,CName,CStatus,CInterest,CCodeAbonne,CAdress1,CAdress2,CAdress3,CPostCode,CCity,CCountry,');
                         Query3.SQL.Add('CSecAddr,CPhone1,CMobile,CFax,CEMAIL,CWeb,CBirthDate,CFContact,CLContact,CTotMoney,CTotMoneyEuro,CRestMoney,CRestMoneyEuro,');
                         Query3.SQL.Add('CLocation,CLRouge,CRibBank,CRibPart,CRibAccount,CRibCle,CRibBankName,CRibName,CCardName,CCardNumber,CCardExpDt,CNoPub,CComments');
                         Query3.SQL.Add('From Clients');
                         Query3.Open;
     
                         a:=0;
                         b:=0;
                         c:=3;
     
                         Query3.first;
                         while not (Query3.Eof) and (b<5000) do
                               begin
                               showmessage(inttostr(b));
                               a:=a+1;
                               if a=c then
                               begin
                               b:=b+1;
                               c:=c+3;
                               Query4.Close;
                               Query4.sql.clear;
                               Query4.sql.Add('INSERT INTO ClientsBis');
                               Query4.sql.Add('values (:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n,:o,:p,:q,:r,:s,:t,:u,:v,:w,:x,:y,:z,:ab,:cd,:ef,:gh,:ij,:kl,:mn,:op,:qr,:st,:uv,:wx,:yz,:abc,:def,:ghi)');
                               Query4.Params[0].AsFloat:=Query3.fields[0].AsFloat;
                               Query4.Params[1].AsString:=Query3.fields[1].AsString;
                               Query4.Params[2].AsString:=Query3.fields[2].AsString;
                               Query4.Params[3].AsString:=Query3.fields[3].AsString;
                               Query4.Params[4].AsString:=Query3.fields[4].AsString;
                               Query4.Params[5].AsString:=Query3.fields[5].AsString;
                               Query4.Params[6].AsString:=Query3.fields[6].AsString;
                               Query4.Params[7].AsString:=Query3.fields[7].AsString;
                               Query4.Params[8].AsString:=Query3.fields[8].AsString;
                               Query4.Params[9].AsString:=Query3.fields[9].AsString;
                               Query4.Params[10].AsString:=Query3.fields[10].AsString;
                               Query4.Params[11].AsString:=Query3.fields[11].AsString;
                               Query4.Params[12].AsString:=Query3.fields[12].AsString;
                               Query4.Params[13].AsBoolean:=Query3.fields[13].AsBoolean;
                               Query4.Params[14].AsString:=Query3.fields[14].AsString;
                               Query4.Params[15].AsString:=Query3.fields[15].AsString;
                               Query4.Params[16].AsString:=Query3.fields[16].AsString;
                               Query4.Params[17].AsString:=Query3.fields[17].AsString;
                               Query4.Params[18].AsString:=Query3.fields[18].AsString;
                               Query4.Params[19].AsDate:=Query3.fields[19].AsDateTime;
                               Query4.Params[20].AsDate:=Query3.fields[20].AsDateTime;
                               Query4.Params[21].AsDate:=Query3.fields[21].AsDateTime;
                               Query4.Params[22].AsFloat:=Query3.fields[22].AsFloat;
                               Query4.Params[23].AsFloat:=Query3.fields[23].AsFloat;
                               Query4.Params[24].AsFloat:=Query3.fields[24].AsFloat;
                               Query4.Params[25].AsFloat:=Query3.fields[25].AsFloat;
                               Query4.Params[26].AsString:=Query3.fields[26].AsString;
                               Query4.Params[27].AsBoolean:=Query3.fields[27].AsBoolean;
                               Query4.Params[28].AsString:=Query3.fields[28].AsString;
                               Query4.Params[29].AsString:=Query3.fields[29].AsString;
                               Query4.Params[30].AsString:=Query3.fields[30].AsString;
                               Query4.Params[31].AsString:=Query3.fields[31].AsString;
                               Query4.Params[32].AsString:=Query3.fields[32].AsString;
                               Query4.Params[33].AsString:=Query3.fields[33].AsString;
                               Query4.Params[34].AsString:=Query3.fields[34].AsString;
                               Query4.Params[35].AsString:=Query3.fields[35].AsString;
                               Query4.Params[36].AsString:=Query3.fields[36].AsString;
                               Query4.Params[37].AsBoolean:=Query3.fields[37].AsBoolean;
                               Query4.Params[38].AsMemo:=Query3.fields[38].AsString;
     
                               Query4.ExecSQL;
     
                               end;
     
                               if b=5000 then
                               begin
                               showmessage(inttostr(b));
                               end;
     
                               Query3.next;
                               Position:=Query3.Rec * 100 Div Query3.recordcount;
                    end;
                    end;
    end;
    Voilà mon code adapter au tiens mais le n'existe pas apparement!et ca n'a pas l'air de marcher :s quand je met

  4. #4
    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
    Oui c'est bien RecNo j'ai tappé un peu vite ^^
    Sinon il faut absolument mettre le Application.ProcessMessages apres le calcul sur la progressbar sinon tu ne verras pas la barre bouger.
    Modérateur Delphi

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

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    ca marche niquel merci!

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

Discussions similaires

  1. [Débutant] Comment faire une barre de chargement
    Par Alucard9800XT dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 23/04/2007, 22h04
  2. Comment faire une progression du chargement d'une image ?
    Par uranium-design dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/10/2006, 09h09
  3. Réponses: 2
    Dernier message: 03/05/2004, 12h13
  4. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13
  5. Réponses: 10
    Dernier message: 10/10/2003, 14h25

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