ProgressMessageEx (ihm)

De Wiki1000
procedure ProgressMessageEx(iStatus:TMessageStatus; const iMessage:string);

Cette procedure affiche un message de progression dans l'interface utilisateur.

iStatus Le type de message
iMessage Le message à afficher
Info-20px.png Note : Suivant le style de l'interface utilisateur le message peut être affiché dans une zone libellé ou dans une liste.

Exemple:

//Procedure Execute;
var idx:Integer; AStr,Info:string;
begin
  ProgressClear;
  ProgressMessage('Un processus exécuté');
//  TestPatternForEach2;
 
  ProgressClear;
  ProgressClearMessage;
  ProgressEvent('',0,0);
  Info := 'Lot 1'; 
  for idx:=1 to 100 do
   begin
     AStr := inttostr(idx) + ' '+InstanceOID+' '+intTostr(Classmanager.CurrentTranContext);
     if (idx mod 10=0) then Info := Format('lot %d',[1+(idx div 10)]);
 
     if idx mod 10=1 then
      begin
        ProgressMessageEx(MSGSTATUS_HEADER,'Header: '+AStr); 
      end 
      else 
     if idx mod 10=2 then
      begin
        ProgressMessageEx(MSGSTATUS_SUCCESS,'Success: '+AStr); 
      end 
      else 
     if idx mod 10=3 then
      begin
        ProgressMessageEx(MSGSTATUS_ERROR,'Error: '+AStr); 
      end 
      else 
     if idx mod 10=4 then
      begin
        ProgressMessageEx(MSGSTATUS_FAILED,'Failed: '+AStr); 
      end 
      else 
     if idx mod 10=5 then
      begin
        ProgressMessageEx(MSGSTATUS_REQUIRE_ACTION,'Action: '+AStr); 
      end 
      else 
     if idx mod 10=6 then
      begin
        ProgressMessageEx(MSGSTATUS_ALERT,'Alerte: '+AStr); 
      end 
      else 
      ProgressMessage('Message: '+AStr);
     // 
     ProgressEvent(Info,idx,100); 
     if UserAbort then break;
     sleep(200); 
   end;
  ProgressEvent('',100,100);
end;

Voir aussi:

Interactions utilisateurs (code)Développement DSM

Outils personnels