2016-05-22 9 views
-3

なんらかの理由で、このコードはTextEditと同じだけ入力された数値を出力します。出力のフォーマットはメモはforループで金額が増加しても同じ通貨値を表示し続ける

  1. $ 3000
  2. $ 3300のような

というようにする必要があります。

procedure TfrmProjection.BtnCalculateClick(Sender: TObject); 
var 
    counter, i : integer; 
    total, sales, average, projsales : double; 
begin 
    sales := StrtoFloat(edtSales.Text); 
    redOutput.Lines.Add('INCREASE IN SALES'); 
    for i := 1 to 12 do 
    redOutput.Lines.Add(FloattoStr(i) + #9 + #9 + FloattoStrf(sales, ffCurrency, 9, 2)); 
    sales:= sales * 1.1; 
end; 

誰もが1がこれを是正することができるだろうか知っていますか?

+0

前と同じ質問と同じです。あなたはまだデバッグする方法を知っていますか?あなたがそれをするまで、それは学び、改善するあなたの試みに邪魔になるでしょう。 –

+0

'for'行にブレークポイントを設定し、ループの2回の反復を実行すると、何が間違っているかを教えてくれました。ここに来るよりもずっと短い時間で* Ask Question *ボタンをクリックし、テキストの文章(はるかに少ない残り、コードのコピー/貼り付け/書式設定など)。デバッガの使い方を学び、あなたは完全に無力にならなくなります。 –

答えて

0

開始部分ブロックを省いた場合、so sales * 1.1は最後まで呼び出されません。

procedure TForm1.Button1Click(Sender: TObject); 
var 
    counter, i: integer; 
    sales, average, projsales : double; 
begin 
    sales := StrtoFloat(edtSales.Text); 
    redOutput.Lines.Add('INCREASE IN SALES'); 
    for i := 1 to 12 do 
    begin 
    redOutput.Lines.Add(FloattoStr(i) + #9 + #9 + FloattoStrf(sales, ffCurrency, 9, 2)); 
    sales:= sales * 1.1; 
    end; 
end; 
+0

私はそれを逃したとは信じられません:(助けをありがとう –