[.NET] Visual C++ 2008 Anfängerin sucht Hilfe

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von boeseskeksi, 19. August 2009 .

  1. 19. August 2009
    Visual C++ 2008 Anfängerin sucht Hilfe

    Hallo,

    Ich habe ein kleines bis mittelgroßes Problem: Ich soll einen einfachen Calulator programmieren mit einer Grafischen Oberfläche, allerdings bin ich noch grün hinter den Ohren und kann grade mal eine Konsolen-Anwendung schreiben.

    Dementsprechend hab ich mit mal die Oberfläche des Calculators schön zusammengeklickt, nun weiß ich aber nicht wie ich weitermachen oder besser wo ich weitermachen muss, denn ich weiß nicht ob ich mit der Syntax meiner Konsolen-Anwendung weiterkomme -.- .

    Ich bräuchte ein wenig Hilfe, muss ich mir da noch eine extra Klasse anlegen? Und wie schaut die Syntax hier aus?

    lg

    keksi
     
  2. 19. August 2009
    AW: Visual C++ 2008 Anfängerin sucht Hilfe

    Das weiß hier leider so auch keiner.
    Es würde enorm weiterhelfen, wenn du deinen bereits erstellten Quelltext einmal posten könntest.
     
  3. 19. August 2009
    AW: Visual C++ 2008 Anfängerin sucht Hilfe

    Code:
    #pragma once
    
    
    namespace test1_0 {
    
     using namespace System;
     using namespace System::ComponentModel;
     using namespace System::Collections;
     using namespace System::Windows::Forms;
     using namespace System::Data;
     using namespace System::Drawing;
    
     /// <summary>
     /// Zusammenfassung für Form1
     ///
     /// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
     /// die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
     /// das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
     /// Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
     /// arbeiten, die diesem Formular zugewiesen sind.
     /// </summary>
     public ref class Form1 : public System::Windows::Forms::Form
     {
     public:
     Form1(void)
     {
     InitializeComponent();
     //
     //TODO: Konstruktorcode hier hinzufügen.
     //
     }
    
     protected:
     /// <summary>
     /// Verwendete Ressourcen bereinigen.
     /// </summary>
     ~Form1()
     {
     if (components)
     {
     delete components;
     }
     }
     private: System::Windows::Forms::Button^ TasteC;
     protected: 
    
     protected: 
    
     private: System::Windows::Forms::TextBox^ textBox1;
     private: System::Windows::Forms::Button^ TasteCE;
    
     private: System::Windows::Forms::Button^ taste7;
     private: System::Windows::Forms::Button^ Taste8;
     private: System::Windows::Forms::Button^ Taste9;
     private: System::Windows::Forms::Button^ Dividieren;
     private: System::Windows::Forms::Button^ Taste4;
     private: System::Windows::Forms::Button^ Taste5;
     private: System::Windows::Forms::Button^ Taste6;
     private: System::Windows::Forms::Button^ Multiplizieren;
     private: System::Windows::Forms::Button^ Taste1;
     private: System::Windows::Forms::Button^ Taste2;
     private: System::Windows::Forms::Button^ Taste3;
     private: System::Windows::Forms::Button^ Subtrahieren;
     private: System::Windows::Forms::Button^ Taste0;
     private: System::Windows::Forms::Button^ plusminus;
     private: System::Windows::Forms::Button^ komma;
     private: System::Windows::Forms::Button^ Addieren;
     private: System::Windows::Forms::Button^ istgleich;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
     private: System::Windows::Forms::Button^ Wurzel;
     private: System::Windows::Forms::Button^ rueck;
    
    
     private: System::Windows::Forms::Panel^ panel1;
    
    
    
     private:
     /// <summary>
     /// Erforderliche Designervariable.
     /// </summary>
     System::ComponentModel::Container ^components;
    
    #pragma region Windows Form Designer generated code
     /// <summary>
     /// Erforderliche Methode für die Designerunterstützung.
     /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
     /// </summary>
     void InitializeComponent(void)
     {
     System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));
     this->TasteC = (gcnew System::Windows::Forms::Button());
     this->textBox1 = (gcnew System::Windows::Forms::TextBox());
     this->TasteCE = (gcnew System::Windows::Forms::Button());
     this->taste7 = (gcnew System::Windows::Forms::Button());
     this->Taste8 = (gcnew System::Windows::Forms::Button());
     this->Taste9 = (gcnew System::Windows::Forms::Button());
     this->Dividieren = (gcnew System::Windows::Forms::Button());
     this->Taste4 = (gcnew System::Windows::Forms::Button());
     this->Taste5 = (gcnew System::Windows::Forms::Button());
     this->Taste6 = (gcnew System::Windows::Forms::Button());
     this->Multiplizieren = (gcnew System::Windows::Forms::Button());
     this->Taste1 = (gcnew System::Windows::Forms::Button());
     this->Taste2 = (gcnew System::Windows::Forms::Button());
     this->Taste3 = (gcnew System::Windows::Forms::Button());
     this->Subtrahieren = (gcnew System::Windows::Forms::Button());
     this->Taste0 = (gcnew System::Windows::Forms::Button());
     this->plusminus = (gcnew System::Windows::Forms::Button());
     this->komma = (gcnew System::Windows::Forms::Button());
     this->Addieren = (gcnew System::Windows::Forms::Button());
     this->istgleich = (gcnew System::Windows::Forms::Button());
     this->Wurzel = (gcnew System::Windows::Forms::Button());
     this->rueck = (gcnew System::Windows::Forms::Button());
     this->panel1 = (gcnew System::Windows::Forms::Panel());
     this->SuspendLayout();
     // 
     // TasteC
     // 
     this->TasteC->Location = System::Drawing::Point(256, 39);
     this->TasteC->Name = L"TasteC";
     this->TasteC->Size = System::Drawing::Size(75, 23);
     this->TasteC->TabIndex = 1;
     this->TasteC->Text = L"C";
     this->TasteC->UseVisualStyleBackColor = true;
     this->TasteC->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
     // 
     // textBox1
     // 
     this->textBox1->Location = System::Drawing::Point(82, 13);
     this->textBox1->Name = L"textBox1";
     this->textBox1->Size = System::Drawing::Size(249, 20);
     this->textBox1->TabIndex = 2;
     this->textBox1->TextChanged += gcnew System::EventHandler(this, &Form1::textBox1_TextChanged);
     // 
     // TasteCE
     // 
     this->TasteCE->Location = System::Drawing::Point(175, 39);
     this->TasteCE->Name = L"TasteCE";
     this->TasteCE->Size = System::Drawing::Size(75, 23);
     this->TasteCE->TabIndex = 3;
     this->TasteCE->Text = L"CE";
     this->TasteCE->UseVisualStyleBackColor = true;
     // 
     // taste7
     // 
     this->taste7->Location = System::Drawing::Point(82, 75);
     this->taste7->Name = L"taste7";
     this->taste7->Size = System::Drawing::Size(45, 36);
     this->taste7->TabIndex = 4;
     this->taste7->Text = L"7";
     this->taste7->UseVisualStyleBackColor = true;
     this->taste7->Click += gcnew System::EventHandler(this, &Form1::button3_Click);
     // 
     // Taste8
     // 
     this->Taste8->Location = System::Drawing::Point(133, 75);
     this->Taste8->Name = L"Taste8";
     this->Taste8->Size = System::Drawing::Size(45, 36);
     this->Taste8->TabIndex = 5;
     this->Taste8->Text = L"8";
     this->Taste8->UseVisualStyleBackColor = true;
     // 
     // Taste9
     // 
     this->Taste9->Location = System::Drawing::Point(184, 75);
     this->Taste9->Name = L"Taste9";
     this->Taste9->Size = System::Drawing::Size(45, 36);
     this->Taste9->TabIndex = 6;
     this->Taste9->Text = L"9";
     this->Taste9->UseVisualStyleBackColor = true;
     // 
     // Dividieren
     // 
     this->Dividieren->Location = System::Drawing::Point(235, 75);
     this->Dividieren->Name = L"Dividieren";
     this->Dividieren->Size = System::Drawing::Size(45, 36);
     this->Dividieren->TabIndex = 7;
     this->Dividieren->Text = L"/";
     this->Dividieren->UseVisualStyleBackColor = true;
     this->Dividieren->Click += gcnew System::EventHandler(this, &Form1::button6_Click);
     // 
     // Taste4
     // 
     this->Taste4->Location = System::Drawing::Point(82, 117);
     this->Taste4->Name = L"Taste4";
     this->Taste4->Size = System::Drawing::Size(45, 36);
     this->Taste4->TabIndex = 8;
     this->Taste4->Text = L"4";
     this->Taste4->UseVisualStyleBackColor = true;
     // 
     // Taste5
     // 
     this->Taste5->Location = System::Drawing::Point(133, 117);
     this->Taste5->Name = L"Taste5";
     this->Taste5->Size = System::Drawing::Size(45, 36);
     this->Taste5->TabIndex = 9;
     this->Taste5->Text = L"5";
     this->Taste5->UseVisualStyleBackColor = true;
     this->Taste5->Click += gcnew System::EventHandler(this, &Form1::button8_Click);
     // 
     // Taste6
     // 
     this->Taste6->Location = System::Drawing::Point(184, 117);
     this->Taste6->Name = L"Taste6";
     this->Taste6->Size = System::Drawing::Size(45, 36);
     this->Taste6->TabIndex = 10;
     this->Taste6->Text = L"6";
     this->Taste6->UseVisualStyleBackColor = true;
     // 
     // Multiplizieren
     // 
     this->Multiplizieren->Location = System::Drawing::Point(235, 117);
     this->Multiplizieren->Name = L"Multiplizieren";
     this->Multiplizieren->Size = System::Drawing::Size(45, 36);
     this->Multiplizieren->TabIndex = 11;
     this->Multiplizieren->Text = L"*";
     this->Multiplizieren->UseVisualStyleBackColor = true;
     // 
     // Taste1
     // 
     this->Taste1->Location = System::Drawing::Point(82, 159);
     this->Taste1->Name = L"Taste1";
     this->Taste1->Size = System::Drawing::Size(45, 36);
     this->Taste1->TabIndex = 12;
     this->Taste1->Text = L"1";
     this->Taste1->UseVisualStyleBackColor = true;
     this->Taste1->Click += gcnew System::EventHandler(this, &Form1::button11_Click);
     // 
     // Taste2
     // 
     this->Taste2->Location = System::Drawing::Point(133, 159);
     this->Taste2->Name = L"Taste2";
     this->Taste2->Size = System::Drawing::Size(45, 36);
     this->Taste2->TabIndex = 13;
     this->Taste2->Text = L"2";
     this->Taste2->UseVisualStyleBackColor = true;
     // 
     // Taste3
     // 
     this->Taste3->Location = System::Drawing::Point(184, 159);
     this->Taste3->Name = L"Taste3";
     this->Taste3->Size = System::Drawing::Size(45, 36);
     this->Taste3->TabIndex = 14;
     this->Taste3->Text = L"3";
     this->Taste3->UseVisualStyleBackColor = true;
     // 
     // Subtrahieren
     // 
     this->Subtrahieren->Location = System::Drawing::Point(235, 159);
     this->Subtrahieren->Name = L"Subtrahieren";
     this->Subtrahieren->Size = System::Drawing::Size(45, 36);
     this->Subtrahieren->TabIndex = 15;
     this->Subtrahieren->Text = L"-";
     this->Subtrahieren->UseVisualStyleBackColor = true;
     // 
     // Taste0
     // 
     this->Taste0->Location = System::Drawing::Point(82, 201);
     this->Taste0->Name = L"Taste0";
     this->Taste0->Size = System::Drawing::Size(45, 36);
     this->Taste0->TabIndex = 16;
     this->Taste0->Text = L"0";
     this->Taste0->UseVisualStyleBackColor = true;
     // 
     // plusminus
     // 
     this->plusminus->Location = System::Drawing::Point(133, 201);
     this->plusminus->Name = L"plusminus";
     this->plusminus->Size = System::Drawing::Size(45, 36);
     this->plusminus->TabIndex = 17;
     this->plusminus->Text = L"+/-";
     this->plusminus->UseVisualStyleBackColor = true;
     // 
     // komma
     // 
     this->komma->Location = System::Drawing::Point(184, 201);
     this->komma->Name = L"komma";
     this->komma->Size = System::Drawing::Size(45, 36);
     this->komma->TabIndex = 18;
     this->komma->Text = L",";
     this->komma->UseVisualStyleBackColor = true;
     // 
     // Addieren
     // 
     this->Addieren->Location = System::Drawing::Point(235, 201);
     this->Addieren->Name = L"Addieren";
     this->Addieren->Size = System::Drawing::Size(45, 36);
     this->Addieren->TabIndex = 19;
     this->Addieren->Text = L"+";
     this->Addieren->UseVisualStyleBackColor = true;
     // 
     // istgleich
     // 
     this->istgleich->Location = System::Drawing::Point(286, 201);
     this->istgleich->Name = L"istgleich";
     this->istgleich->Size = System::Drawing::Size(45, 36);
     this->istgleich->TabIndex = 20;
     this->istgleich->Text = L"=";
     this->istgleich->UseVisualStyleBackColor = true;
     this->istgleich->Click += gcnew System::EventHandler(this, &Form1::button19_Click);
     // 
     // Wurzel
     // 
     this->Wurzel->Location = System::Drawing::Point(286, 159);
     this->Wurzel->Name = L"Wurzel";
     this->Wurzel->Size = System::Drawing::Size(45, 36);
     this->Wurzel->TabIndex = 21;
     this->Wurzel->Text = L"sqrt";
     this->Wurzel->UseVisualStyleBackColor = true;
     // 
     // rueck
     // 
     this->rueck->Location = System::Drawing::Point(94, 39);
     this->rueck->Name = L"rueck";
     this->rueck->Size = System::Drawing::Size(75, 23);
     this->rueck->TabIndex = 22;
     this->rueck->Text = L"Rücktaste";
     this->rueck->UseVisualStyleBackColor = true;
     // 
     // panel1
     // 
     this->panel1->BackColor = System::Drawing::SystemColors::ControlDark;
     this->panel1->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
     this->panel1->Location = System::Drawing::Point(9, 13);
     this->panel1->Name = L"panel1";
     this->panel1->Size = System::Drawing::Size(62, 224);
     this->panel1->TabIndex = 23;
     // 
     // Form1
     // 
     this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
     this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
     this->BackColor = System::Drawing::SystemColors::ButtonFace;
     this->ClientSize = System::Drawing::Size(334, 247);
     this->Controls->Add(this->panel1);
     this->Controls->Add(this->rueck);
     this->Controls->Add(this->Wurzel);
     this->Controls->Add(this->istgleich);
     this->Controls->Add(this->Addieren);
     this->Controls->Add(this->komma);
     this->Controls->Add(this->plusminus);
     this->Controls->Add(this->Taste0);
     this->Controls->Add(this->Subtrahieren);
     this->Controls->Add(this->Taste3);
     this->Controls->Add(this->Taste2);
     this->Controls->Add(this->Taste1);
     this->Controls->Add(this->Multiplizieren);
     this->Controls->Add(this->Taste6);
     this->Controls->Add(this->Taste5);
     this->Controls->Add(this->Taste4);
     this->Controls->Add(this->Dividieren);
     this->Controls->Add(this->Taste9);
     this->Controls->Add(this->Taste8);
     this->Controls->Add(this->taste7);
     this->Controls->Add(this->TasteCE);
     this->Controls->Add(this->textBox1);
     this->Controls->Add(this->TasteC);
     this->Icon = (cli::safe_cast<System::Drawing::Icon^ >(resources->GetObject(L"$this.Icon")));
     this->Name = L"Form1";
     this->Text = L"Calculator 1.0";
     this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
     this->ResumeLayout(false);
     this->PerformLayout();
    
     }
    #pragma endregion
     private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
     }
     private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
     
     }
     private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e) {
     }
    private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
    
     }
    private: System::Void button19_Click(System::Object^ sender, System::EventArgs^ e) {
     
     }
    private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
     
     }
    private: System::Void button11_Click(System::Object^ sender, System::EventArgs^ e) {
     }
    private: System::Void button8_Click(System::Object^ sender, System::EventArgs^ e) {
     
     }
    };
    }
    
    
    Das ist der nackte Code
     
  4. 19. August 2009
    AW: Visual C++ 2008 Anfängerin sucht Hilfe

    was für eine Entwicklungsumgebung nutzt du? Bei MS Visual Studio musste einfach nur auf den button im designer doppelklicken und der erstellt dir alles. Und du musst nur noh ein bissel reinschreiben was dann beim buttonklick passieren soll ^^
     
  5. 19. August 2009
    AW: Visual C++ 2008 Anfängerin sucht Hilfe

    Verdammt, Grafische Oberflächen sind verdammt lange her -.-

    Also deklarier erstmal nen paar Variablen, das machst du unter:

    Code:
    #pragma endregion
    
    Ich nehme dann mal das du das ganze in einer TextBox ausgeben willst, also brauchst ne TextBox mit nem Konverter:

    Code:
    ConvertToInt16::TextBox1->Text = x;
    
    das "=x", soll jetzt mal ne deklarierte Variable sein, die du dann am Ende +, -, * oder / nimmst (entsprechende Buttons vorausgesetzt!).

    So nun musst du auf jeden Button nen Doppelklick machen, sagen wir mal so für Button 8 (Ich machs jetzt mal ganz einfach und mach aus deinem Taschenrechner einen "nur-additions-taschenrechner"):

    Code:
    private: System::Void button8_Click(System::Object^ sender, System::EventArgs^ e) 
    {
     x = x + 8;
    }
    
    Das ist jetzt total primitiver Code, weil ich raus bin aus dem Visual scheiß, aber du solltest so die Idee bekommen wo du anfängst!

    MfG
    .iNC

    Edit:

    Mach das :

    Code:
    ConvertToInt16::TextBox1->Text = x;
    
    in einen "="- Button rein!
     
  6. 20. August 2009
    AW: Visual C++ 2008 Anfängerin sucht Hilfe

    Guten Morgen

    erst mal Danke für die Hilfe, doch scheine ich mich etwas doof anzustellen.

    btw der Compiler ist Visual C++ 2008 Express Edition.

    Zu meinem Code:

    Ich habe nun "x" mit "int16" deklariert und habe den Konverter auch an seine Stelle gesetzt, allerdings gibt er mir, wenn ich Compilieren möchte aus das ein Fehler aufgetreten ist und ob ich die alte funktionierende Version ausführen möchte (bezüglich auf den Code):angry:
     
  7. 20. August 2009
    AW: Visual C++ 2008 Anfängerin sucht Hilfe

    int16 ist kein Datentyp, wenn dann nur "int x = 0;" aber irgendwie scheinst du ja auch mit solchen Basics nicht vertraut zu sein.
    Wenn du eine Variable schon nicht deklarieren kannst, dann wird es umso schwerer dich in der Oberflächenprogrammierung zurecht zu finden.

    Versuch dich erstmal in einem Konsolentaschenrechner, wenne den hinbekommst, dann können wir ja vielelicht die ein oder anderen Code abschnitte, portieren in die GUI-Anwendung...wenn das auch nicht klappt, dann wird das hier nichts

    MfG
    .iNC
     
  8. 21. August 2009
    AW: Visual C++ 2008 Anfängerin sucht Hilfe

    Code:
    #include <iostream>
    #include <math.h>
    using namespace std;
    
    int main() {
     
     cout<<"Calculator \n";
     cout<<"";
     cout<<"Version 1.0 \n";
     
     cout<<"Rechenart waehlen: \n";
     cout<<" (1) Addieren \n";
     cout<<" (2) Subtrahierenn \n";
     cout<<" (3) Multiplizieren \n";
     cout<<" (4) Dividieren \n";
     cout<<" (5) Wurzel ziehen \n";
     
     int wahl;
     cin>> wahl;
     
     switch(wahl)
     {
     {
     case 1: cout<<"Addition: Geben sie die erste Zahl ein \n";
     float fZahl1, fZahl2;
     cin>>fZahl1;
     cout<<"Addition: Geben sie die zweite Zahl ein \n";
     cin>>fZahl2;
     float fResult;
     fResult = fZahl1 + fZahl2;
     cout<<"Die Rechnung " << fZahl1 <<" + " << fZahl2 <<" ist " << fResult <<" ."; 
     break;
     }
     
     case 2: 
     {
     cout<<"Subtraktion: Geben sie die erste Zahl ein \n";
     float fZahl1, fZahl2;
     cin>>fZahl1;
     cout<<"Subtraktion: Geben sie die zweite Zahl ein \n";
     cin>>fZahl2;
     float fResult;
     fResult = fZahl1 - fZahl2;
     cout<<" Die Rechnung " << fZahl1 <<" - " << fZahl2 <<" ist " << fResult <<" ."; 
     break;
     
     }
     case 3:
     {
     cout<<"Multiplikation: Geben sie die erste Zahl ein \n";
     float fZahl1, fZahl2;
     cin>>fZahl1;
     cout<<"Multiplikation: Geben sie die zweite Zahl ein \n";
     cin>>fZahl2;
     float fResult;
     fResult = fZahl1 * fZahl2;
     cout<<" Die Rechnung " << fZahl1 <<" * " << fZahl2 <<" ist " << fResult <<" ."; 
     
     break;
     } 
     
     case 4:
     { 
     cout<<"Division: Geben sie die erste Zahl ein \n";
     float fZahl1, fZahl2;
     cin>>fZahl1;
     cout<<"Division: Geben sie die zweite Zahl ein \n";
     cin>>fZahl2;
     float fResult;
     fResult = fZahl1 / fZahl2;
     
     if(fZahl2==0)
     {
     cout<<"Durch 0 darf nicht geteilt werden ";
     }
     
     else
     {
     cout<<" Die Rechnung " << fZahl1 <<" + " << fZahl2 <<" ist " << fResult <<" ."; 
     } 
     
     break; 
     }
     
     case 5:
     {
     cout<<"Wurzel: Geben sie die Zahl ein \n";
     float fZahl1;
     cin>>fZahl1;
     
     float fResult;
     fResult = sqrt(fZahl1);
     cout<<" Die Rechnung " << fZahl1 <<" Wurzel ist " << fResult <<" ."; 
     
     break;
     }
     
     default:
     {
     cout<<" Die Rechenoperation wurde nicht zulaessig gewaelt, bitte neu starten!";
     
     system("pause");
     return 0;
     }
     }
     
     system("pause");
     return 0;
     }
    
    Mit hilfe meines Ausbilders erstellt
     
  9. 21. August 2009
    AW: Visual C++ 2008 Anfängerin sucht Hilfe

    Der Code, den du mithilf deines Ausbilders erstellt hast, ist aber ISO-C++. Wenn du aber eine GUI (WinForms) mit Visual C++ erstellst, dann musst du C++/CLI verwenden. Das ist die .NET-Erweiterung von C++. Informier dich mal bei Wikipedia und Google darüber, was genau die Unterschiede zwischen dem "normalen" C++ und C++/CLI sind.
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.