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 :

Barre de progression "TGauge"


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Par défaut Barre de progression "TGauge"
    Bonjour à tous,

    j'ai ici du code trouvé sur ce même forum qui exécute une commande dos, j'aimerais simplement y inclure l'état d'avancement avec une barre de progression. Pouvez-vous m'aider SVP ? Je vois pas trop sur quoi je peux me baser pour faire avancer ma gauge !

    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
    function TfrmMain.ExecuteCommande(Commande: String;Attente : Boolean = True): Boolean;
    Var
      lpsaProcess,
      lpsaThread    : PSecurityAttributes;
      StartupInfo   : TStartupInfo;
      ProcessInfo   : TProcessInformation;
      AddrCmd       : Array [0..255] Of Char;
      ExitCode      : DWord;
    begin
      FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
      with StartupInfo do
      begin
        cb          := SizeOf(TStartupInfo);
        dwFlags     := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
        wShowWindow := SW_HIDE;
      end;
     
      New(lpsaProcess);
      New(lpsaThread);
     
      lpsaProcess^.nLength              := SizeOf(lpsaProcess^);
      lpsaProcess^.lpSecurityDescriptor := Nil;
      lpsaProcess^.bInheritHandle       := True;
     
      lpsaThread^.nLength              := SizeOf(lpsaThread^);
      lpsaThread^.lpSecurityDescriptor := Nil;
      lpsaThread^.bInheritHandle       := True;
     
      StrPCopy(AddrCmd, Commande);
      Result := CreateProcess(nil, AddrCmd, lpsaProcess, lpsaThread, False,
                              STARTF_FORCEONFEEDBACK, nil, nil, StartupInfo, ProcessInfo);
      if not Result then Result:=(GetLastError>10000);
      Dispose(lpsaProcess);
      Dispose(lpsaThread);
      if Result then
      begin
        while Attente do
        begin
          // Solution d'attente 1
          Sleep(500);
          GetExitCodeProcess(ProcessInfo.hProcess, ExitCode);
          if ExitCode<>STILL_ACTIVE then break;
        end;
        CloseHandle(ProcessInfo.hThread);
        CloseHandle(ProcessInfo.hProcess);
      end;
    end;
    Merci à tous !

  2. #2
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    Je ne suis pas sûr que tu puisse voir gérer une exécution de prog. DOS avec une jauge : à priori tu n'a pas de renvoi d'info.
    Tu veux faire quoi au juste d'ailleurs comme commande DOS ???

  3. #3
    Membre éclairé Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Par défaut
    Tu veux faire quoi au juste d'ailleurs comme commande DOS ???
    C'est une application de backup, donc il s'agit de la commande "copy" du dos !

  4. #4
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    pour le backup vous pouvez utiliser Copyfile de API Windows ou celle de delphi sans compression sans passer par le dos.

  5. #5
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    Je confirme que si c'est pour un backup le mieux est de passer directement par Delphi comme ça tu as la maîtrise du déroulement et tu peux (partiellement !) gérer ta barre de défilement.

  6. #6
    Membre éclairé Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Par défaut
    Merci beaucoup, je vais tester cela !

    @+

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

Discussions similaires

  1. [web] Barre de Progression ASCII
    Par Red Bull dans le forum Web
    Réponses: 13
    Dernier message: 05/06/2003, 13h56

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