« ProgressMessageEx (ihm) » : différence entre les versions

De Wiki1000
(Page créée avec « <source lang='delphi'>procedure ProgressMessageEx(iStatus:TMessageStatus; const iMessage:string);</source> Cette procedure affiche un message de progression dans l'interf... »)
 
Aucun résumé des modifications
Ligne 16 : Ligne 16 :
Exemple:
Exemple:
<source lang='delphi'>
<source lang='delphi'>
var ctn:Integer; aReason:string;
//Procedure Execute;
begin  
var idx:Integer; AStr,Info:string;
   ctn := 0;
begin
   ProgressClear;
  ProgressMessage('Un processus exécuté');
//  TestPatternForEach2;
 
   ProgressClear;
   ProgressClear;
   ProgressClearMessage;
   ProgressClearMessage;
   ProgressMax(100);
   ProgressEvent('',0,0);
   //
   Info := 'Lot 1';  
  Cursor := MyClass.CreateCursor;
   for idx:=1 to 100 do
   Cursor.Open;
   begin
  try
    AStr := inttostr(idx) + ' '+InstanceOID+' '+intTostr(Classmanager.CurrentTranContext);
   Cursor.First;
    if (idx mod 10=0) then Info := Format('lot %d',[1+(idx div 10)]);
  while not Cursor.Eoi do
    begin
      ....
      if UserAbort then raise Exception.Create('Traitement interrompu');
        
        
       if _doSomething(aReason)  
    if idx mod 10=1 then
         then ProgressMessage(msgSuccess,Format(_TP('Traitement de l''instance %s, OK'),[Cursor.Instance.Caption]))
       begin
         else ProgressMessage(msgError,Format(_TP('Traitement de l''instance %s, Erreur %s'),[Cursor.Instance.Caption, aReason]));
        ProgressMessageEx(MSGSTATUS_HEADER,'Header: '+AStr);
 
      end
       ProgressValue(ctn mod 100);
      else
       Cursor.Next;
    if idx mod 10=2 then
       ctn := ctn+1;
      begin
    end;
         ProgressMessageEx(MSGSTATUS_SUCCESS,'Success: '+AStr);
  finally
      end
  ProgressFull;
      else
  Cursor.Close;
    if idx mod 10=3 then
   end;
      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;
end;
</source>   
</source>   

Version du 9 février 2018 à 15:11

<source lang='delphi'>procedure ProgressMessageEx(iStatus:TMessageStatus; const iMessage:string);</source>

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

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

Exemple: <source lang='delphi'> //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; </source>

Voir aussi:

{{#if:Interactions utilisateurs (code)|

{{#if:Interactions utilisateurs (code)|— Interactions utilisateurs (code) |}} — Développement DSM

|

{{#if:|— [[{{{1}}}]] |}} — Développement DSM

}}