Получение ошибки отладки "; ожидается" после добавления нового условия ifclause в процедуру

После добавления ifclause для искусства на MasterReport, чтобы умножить итоговую сумму нетто -1 для получения -ve результат в кредитном счете, я получаю ; expected с индикатором ошибки, переходящим к процедуре после нее.

Изображение сообщения об ошибке

Вероятно, это очень глупая ошибка, но сейчас я не могу обойти эту проблему. Комментирование нового ifclause out решит проблему, так что с этим что-то не так.

procedure FooterSR1OnBeforePrint(Sender: TfrxComponent);
begin
if ( <frxdsqryKopfdaten."MwStNichtAusweisbar"> = 0 ) then
   mmoBrutto.Memo.Text := FormatFloat('#,##0.00', EndBrutto ) + ' ' + <frxdsqryKopfdaten."CurrencyString">                                            
   else
   mmoBrutto.Memo.Text := FormatFloat('#,##0.00', EndNetto ) + ' ' + <frxdsqryKopfdaten."CurrencyString">;
end;  

procedure Hauptkopf1OnBeforePrint(Sender: TfrxComponent);
begin
  if (<frxdsqryArt."Art"> = 'Gutschrift') then
    begin                                    
      EndNetto := EndNetto * (-1)                                                                                                                                                                                        
    end else begin             
      EndNetto := EndNetto;
    end;
end;    
begin
  mmoNetto.Memo.Text := FormatFloat('#,##0.00', EndNetto ) + ' ' + frxdsqryKopfdaten."CurrencyString">
end;

procedure BandBankOnBeforePrint(Sender: TfrxComponent);
begin
   if <frxdsqryFirma."Bank1"> <> '' then
           mmoBank.Visible := False           
   else
           mmoBank.Visible := FALSE;

   if <frxdsqryFirma."IBAN1"> <> '' then
   begin                     
           mmoIBAN.Visible := FALSE;  
           mmoBank.Visible := FALSE;  
           mmoBank.Height := 0                                                           
   end else begin                                                              
           mmoIBAN.Visible := FALSE;
           mmoBank.Visible := FALSE;                                                                         
   end;           
end;

1 ответ

Это неправильно (4 × begin, но только 3 × end):

procedure Hauptkopf1OnBeforePrint(Sender: TfrxComponent);
begin
  if (<frxdsqryArt."Art"> = 'Gutschrift') then
    begin                                    
      EndNetto := EndNetto * (-1)                                                                                                                                                                                        
    end else begin             
      EndNetto := EndNetto;
    end;
end;    
begin
  mmoNetto.Memo.Text := FormatFloat('#,##0.00', EndNetto ) + ' ' + frxdsqryKopfdaten."CurrencyString">
end;

Вы, вероятно, хотели этого (но трудно сказать):

procedure Hauptkopf1OnBeforePrint(Sender: TfrxComponent);
begin
  if (<frxdsqryArt."Art"> = 'Gutschrift') then
    begin                                    
      EndNetto := EndNetto * (-1)                                                                                                                                                                                        
    end else begin             
      EndNetto := EndNetto;
    end;
  end;    
  mmoNetto.Memo.Text := FormatFloat('#,##0.00', EndNetto ) + ' ' + frxdsqryKopfdaten."CurrencyString">
end;
Другие вопросы по тегам