Wie kann ich inhalt von stringGrid speichern und ausdrucken?



  • Ich schreibe ein Prog mit C++ BCB6 und benutze StringGrid.
    Aber ich möchte inhalt von StringGrid in einer TXT-Datei speichern.
    Wie kann ich es?
    Als 2.Frage , Wie kann ich auch inhalt von StringGrid ausdrucken?


  • Mod

    Hallo

    1. per Hand siehe FAQ
    2. siehe QuickRep (FAQ)

    MfG
    Klaus



  • bis Hier mache ich es so:

    AnsiString Veri;
    int i,j;
    for( i=0;i<StringGrid1->RowCount;i++)
    {
    for( j=0;j<StringGrid1->ColCount;j++)
    {
    Veri =  StringGrid1->Cells[j][i];
    {
    Veri=Veri +"\r\n";
    

    wie kann ich jetz Veri in einer txt Detei schreiben?
    Ich habe im Board gesucht, aber keine lösüng gefunden.
    Ich brauche eure Hilfe.
    MFG



  • Siehe FAQ unter "StringGrid".



  • Danke ,
    in txt Detei speichern.
    Ich habe es gefunden !!!
    aber ausdrucken kann ich noch nichts.
    ich parobiere so:

    void __fastcall TForm1::Button2Click(TObject *Sender) 
    { 
      Printer()->BeginDoc(); 
      StringGrid1->PaintTo(Printer()->Canvas, 0, 0); 
      Printer()->EndDoc(); 
    }
    

    aber ausdruck ist zu klein.
    Wie kann ich Inhalt von StrinGrid in normalen Grössen ausdrucken?



  • Augen auf! :xmas2: 😉
    http://www.c-plusplus.net/forum/viewtopic.php?t=59449

    Und in Zukunft bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.
    Danke!



  • Ich drucke inhalt von StringGrid mid diesen Code aus.

    int i,j,x,y;
    AnsiString s;
    int satirboslugu,sutungenisligi;
    satirboslugu=40;
    sutungenisligi=150;
    Printer()->BeginDoc();
    Printer()->Canvas->Font->Name=StringGrid1->Font->Name;
    Printer()->Canvas->Font->Size=StringGrid1->Font->Size;
    for (i=0;i<=StringGrid1->RowCount-1;i++)
    {
    for (j=0;j<=StringGrid1->ColCount-1;j++)
    {
    s=StringGrid1->Cells[j][i];
    y=100+i*(Printer()->Canvas->TextHeight(s)+satirboslugu);
    x=100+j*(sutungenisligi);
    Printer()->Canvas->TextOut(x,y,s) ;
    }
    }
    Printer()->EndDoc();

    Aber alle Counts werden in gleiche Breit ausgedruckt.

    Ich möchte 1.Count bischen breiter als die anderen Counts ausdrucken.
    oder die Counts in verschidene breite ausdrucken.
    wie kann ich es machen?


Anmelden zum Antworten