Daten drucken



  • Hallo Guten Tag,

    wer kann mir sagen, wie ich Daten, die ich mittels eines Formulars errechnen lasse, korrekt ausdrucken lasse?
    Der Codeabschnitt mit ** funktioniert gut, da steht nämlich das Wort Durchmesser wo es stehen soll und daneben seine Daten.
    Aber die anderen Ausgaben klappen nicht.
    Danke 🙂

    // Declarations added here will be included at the top of the .HPP file

    class __Form1_declspec Form1 : public __Form1_Base
    {
    
        public:   // add your public instance data here
                void rechnen(void);
    
        private:  // add your private instance data here
    
        protected:// add your protected instance data here
    
    };
    
    // Code added here will be included at the top of the .CPP file
    // Include definitions for resources.
    #include "WRes.h"
    #define PI 3.14159
    
    Form1::Form1()
    {
    }
    
    Form1::~Form1()
    {
    }
    
    void Form1::rechnen(void)
    {
        WString     text;
        WInt        zeilennummer; 
        static WInt zeilennummer_neu = 1;
         WDouble    umfang=0 , durchmesser = 0;
         WDouble    oberflaeche,volumen;
    
        zeilennummer = Richtextbox_1->LineIndex( );
    
        if (zeilennummer_neu == zeilennummer)
        {
           text = Richtextbox_1->GetText( zeilennummer-1 );
           zeilennummer_neu ++;
    
           durchmesser = strtod(text,NULL);        // String in double wandeln
           umfang = durchmesser * PI;
           text.Sprintf("%11.2lf",umfang);    // double in String wandeln
           Textbox_1->SetText( text );              // Text ausgeben
    
     /* ************************************************************/      
    
           text = Richtextbox_1->GetText( zeilennummer-1 );
           zeilennummer_neu ++;
    
           durchmesser = strtod(text,NULL);        // String in double wandeln
           oberflaeche = durchmesser * durchmesser *PI;
           text.Sprintf("%11.2lf",oberflaeche);    // double in String wandeln
           Textbox_2->SetText( text ); 
    
         /************************************************************/ 
    
           text = Richtextbox_1->GetText( zeilennummer-1 );
           zeilennummer_neu ++;
    
           durchmesser = strtod(text,NULL);        // String in double wandeln
           volumen = durchmesser * durchmesser*durchmesser *PI/6;
           text.Sprintf("%11.2lf",volumen);    // double in String wandeln
           Textbox_3->SetText( text ); 
         }
    }  
    
    WBool Form1::Richtextbox_1_Change(
        WObject *           source,
        WEventData *        event )
    {   
        WULong    zeilenzahl;
        static WULong zeilennummer = 1;
    
        zeilenzahl = Richtextbox_1->GetLineCount();
        if (zeilennummer != zeilenzahl)
        {
          rechnen();
          zeilennummer = zeilenzahl;
    
        }
        return FALSE; 
    }
    
    WBool Form1::toolb_1_loeschen_Click(
        WObject *               source,
        WToolbarEventData *     event )
    
    {   
    
       Richtextbox_1->SetText("");      
       Textbox_1->SetText("0.00");
       Textbox_2->SetText("0.00");
       Textbox_3->SetText("0.00");
        return FALSE;
    
    }
    
    WBool Form1::toolb_1_drucken_Click(
        WObject *               source,
        WToolbarEventData *     event )
    {
        WBool               erfolgreich;    //Printdialog OK
        WString             text;
          WPoint position (2000,1000);
        WULong              spalte = position.x, zeile = position.y;
        WULong              zeilennummer = 0, zeilenzahl;
        WPrinterCanvas      canvas;
    
    canvas = printdlg_1->GetPrinterCanvas();
    erfolgreich = printdlg_1->Prompt(); //Print-Dialog einleiten
    if(erfolgreich)
    {
        WPrinterCanvas canvas = printdlg_1->GetPrinterCanvas();
        canvas.StartDocument("Dateiname");  //Druck f.Doc. starten
    
        canvas.StartPage();                 //Druck einer n. Seite
    
        zeilenzahl = Richtextbox_1->GetLineCount();
    
       position.y = zeile + zeilennummer * 350; //Aktuelle Zeilenkoor.
    
       ** position.Offset(0, 0);  //Zeile + 150Pixel
       ** canvas.DrawText(position, "Durchmesser:");
       ** position.Offset(650, 0);
       ** text = Richtextbox_1->GetText(0);  //Text aus Richtextbox_1 holen
       ** canvas.DrawText(position, text); //Text drucken
    
        position.Offset(0,850);  //Zeile + 150Pixel
        canvas.DrawText(position, "Umfang:");
        position.Offset(0,900);
        text = Textbox_1->GetText(0); //Text aus 1.Textbox holen
        canvas.DrawText(position, text); //Text drucken
    
        position.Offset(WPoint(0, 0));
        canvas.DrawText(position, "Oberfläche:");
        position.Offset(WPoint(0,1200));
        text = Textbox_2->GetText(0); ////Text aus 2.Textbox holen
        canvas.DrawText(position, text);
    
         position.Offset(WPoint(0, 0));
         canvas.DrawText(position, "Volumen:");
        position.Offset(WPoint(0,1500));
        text = Textbox_3->GetText(0); ////Text aus 3.Textbox holen
        canvas.DrawText(position, text);
    
    }   
    
        return FALSE;
    }
    
    WBool Form1::toolb_1_Click(
        WObject *               source,
        WToolbarEventData *     event )
    {
    //   if (Textbox_1 == 0)
          // 
    
        return FALSE;
    }
    


  • Ich würde sagen "Andere GUIs" oder "Rund um die Programmierung". Aber bitte nicht nochmal posten, ein Moderator wirds schon irgendwann verschieben.

    Aber du benutzt da ein uraltes Toolkit, das wird hier wohl kaum noch jemand kennen. 🤡



  • ........ schrieb:

    Ich würde sagen "Andere GUIs" oder "Rund um die Programmierung". Aber bitte nicht nochmal posten, ein Moderator wirds schon irgendwann verschieben.

    Aber du benutzt da ein uraltes Toolkit, das wird hier wohl kaum noch jemand kennen. 🤡

    Du sagst es, ehrlich gesagt erkenn ich da überhaupt net was das für ein Toolkit ist.

    BR



  • Power++ heißt das Ding.

    MfG

    GPC


Anmelden zum Antworten