String Grid Drucken -> Kuddelmuddel



  • Hi!

    void __fastcall TForm1::SystemDruckenClick(TObject *Sender)
    {
      TPrinter *Prntr = Printer();
      TRect r = Rect(200,200,Prntr->PageWidth - 200,Prntr->PageHeight- 200);
      Prntr->BeginDoc();
      for( int i = 0; i < Liste->RowCount-1; i++)
      {
        Prntr->Canvas->TextOut(200,200 + (i *Prntr->Canvas->TextHeight(Liste->Cells[0][i+1])), "Essen: " + Liste->Cells[0][i+1]);
        Prntr->Canvas->TextOut(200,300 + (i *Prntr->Canvas->TextHeight(Liste->Cells[1][i+1])), "Symptome: " + Liste->Cells[1][i+1]);
        Prntr->Canvas->TextOut(200,400 + (i *Prntr->Canvas->TextHeight(Liste->Cells[2][i+1])), "Datum: " + Liste->Cells[2][i+1]);
        Prntr->Canvas->TextOut(200,500 + (i *Prntr->Canvas->TextHeight(inhaltsstoffe[i])), "Inhaltsstoffe: " + inhaltsstoffe[i]);
        Prntr->Canvas->TextOut(200,600 + (i *Prntr->Canvas->TextHeight("--------------------")), "--------------------");
      }
    
      Prntr->Canvas->Brush->Color = clBlack;
      Prntr->Canvas->FrameRect(r);
      Prntr->EndDoc();
    }
    

    Komischerweise wenn ich die for Schleife durch int i = 0; ersetze druckt er (auch wenn nur ein eintrag) richtig aus.

    Mit der Schleife ist allerdings alles übereinander gedrukt, und nicht mehr ganz lesbar...

    thx



  • habs gefunden, thx



  • Nach dem neueren Ansi C++ Standard, muss die Variable (in Deinem Fall " i ")
    schon vorher deklariert sein, um sie so zu benutzen.
    Hab ich gestern noch gelesen.

    Aber zu spät

    wNw



  • wNw schrieb:

    Nach dem neueren Ansi C++ Standard, muss die Variable (in Deinem Fall " i ")
    schon vorher deklariert sein, um sie so zu benutzen.
    Hab ich gestern noch gelesen.

    Aber zu spät

    wNw

    😕 🙄


Anmelden zum Antworten