Тема: ProgressBar
Показать сообщение отдельно
Старый 18.06.2008, 12:58   #1  
exodus is offline
exodus
Участник
 
23 / 10 (1) +
Регистрация: 22.10.2007
ProgressBar
Подскажите как мне сделать,чтобы документ excel обрабатывался в фоновом режиме,и во время выполнения этой процедуры ,появлялось окно процесса.(progressBar)
Вот мой код программы.В моем случае весь процесс происходящего навиду(открывается окно excel и построчно заполняется данными).
Подскажите как его подкоректировать,чтобы был виден только конечный результат.
Если несложно приведите пример,я уже испробовал несколько методов,работает коряво.
X++:
public void printPage01()
 {
    real         ItogFacture,ItogProc,Facture;
   {
   Number = 1;
   _row = 12;
    while select InterestDays,InterestAmount,DueDate,ContractAccount,RcontractCode,Invoice,Closed,RemainAmount,AccountNum from CustTrans
         where CustTrans.InterestNote == CustJour.InterestNote
   while select * from FactureTrans group by FactureId
         where FactureTrans.BGR_RContractAccount == CustTrans.ContractAccount &&
               FactureTrans.BGR_RContractCode    == CustTrans.RcontractCode   &&
               FactureTrans.InvoiceId            == CustTrans.Invoice
   while select * from FactureJour
         where FactureJour.FactureId == FactureTrans.FactureId
     {
      ItogProc += CustTrans.InterestAmount;
      ExcelDocument.insertRow(_row);
      this.insertValueIntoDoc("NameKontr",           CustJour.Name);
      this.insertValueIntoDoc("FromDate",            CustJour.FromDate);
      this.insertValueIntoDoc("ToDate",              CustJour.ToDate);
      this.insertValueIntoDoc("NumberContr",         CustJour.ContractAccount);
      this.insertValueIntoDoc("A" + int2Str(_row),   Number);
      this.insertValueIntoDoc("B" + int2Str(_row),   "Счет фактура");
      this.insertValueIntoDoc("C" + int2Str(_row),   FactureJour.BGR_FromDate);
      this.insertValueIntoDoc("D" + int2Str(_row),   FactureJour.BGR_ToDate);
      this.insertValueIntoDoc("E" + int2Str(_row),   FactureJour.FactureExternalId);
      this.insertValueIntoDoc("F" + int2Str(_row),   CustTrans.Invoice);
      this.insertValueIntoDoc("G" + int2Str(_row),   FactureJour.amountInclTax());
      this.insertValueIntoDoc("H" + int2Str(_row),   CustTrans.Closed);
      this.insertValueIntoDoc("K" + int2Str(_row),   CustTrans.InterestDays);
      this.insertValueIntoDoc("M" + int2Str(_row),   CustTrans.InterestAmount);
      this.insertValueIntoDoc("I" + int2Str(_row),   CustTrans.RemainAmount);
      this.insertValueIntoDoc("J" + int2Str(_row),  -CustTrans.RemainAmount);
      this.insertValueIntoDoc("Data",                CustJour.ContractDate);
      this.insertValueIntoDoc("Itog2",                 ItogProc);
   while select * from CustOpen
         where CustOpen.AmountMST == CustTrans.RemainAmount &&
               CustOpen.AccountNum == CustTrans.AccountNum
      {
ItogFacture += CustOpen.AmountMST;
this.insertValueIntoDoc("J" + int2Str(_row),  CustTrans.RemainAmount);
this.insertValueIntoDoc("Itog", ItogFacture);
}
Number++;
_row++;
 }
 }
}