Hilfe bei Übernehnem von Werten aus anderem Formular![gelöst]



  • Hi,
    also ich soll en Programm schreiben das ne Verschlüsselung macht(habe mir dafür Cäsar Verschlüsselungsalgorthmus ausgesucht)!

    So nun zu meinem 1.ten Problem:

    so nun zu meinem 2.ten Problem:

    bei der Cäsar Verschlüsselung muss man ja eine Key (ich habe es mit Zahlen gemacht bzw werde es mit Zahlen machen!) dafür benutze ich ein extra Formular(namens frm_key) bei diesem Formular gibt es dann einen Button "Übernehmen" bei dem er es dann übernehmen soll und in die Eigenschaft key(typ int wird mit der fkt .ToInt() gecastet ) von frm_main(Hauptformular) schreiben soll aber Irgendwie übernimmt er dies nicht !

    Hier mal das Programm!
    Klick

    wäre euch sehr dankbar wenn ihr mir weiter helfen könnt!

    mfg
    schally



  • Bitte beachte in Zukunft die Faustregel "Pro Thread 1 Thema, pro Thema 1 Thread". Denn die Probleme bewegen sich auf ganz unterschiedlichen Themenkreisen. Und deine erste Frage hat überhaupt nichts damit zu tun, was uns der Titel suggerieren will.



  • schally schrieb:

    So nun zu meinem 1.ten Problem:

    Was hast du da rein geschrieben? Welches Formular schliesst du? Versteckst du das erste Formular mit "Hide"?

    schally schrieb:

    bei der Cäsar Verschlüsselung muss man ja eine Key (ich habe es mit Zahlen gemacht bzw werde es mit Zahlen machen!) dafür benutze ich ein extra Formular(namens frm_key) bei diesem Formular gibt es dann einen Button "Übernehmen" bei dem er es dann übernehmen soll und in die Eigenschaft key(typ int wird mit der fkt .ToInt() gecastet ) von frm_main(Hauptformular) schreiben soll aber Irgendwie übernimmt er dies nicht !

    Keine ausreichende Fehlerbeschriebung. Schon mal mit dem Debugger durch das Programm gesteppt? Denn das Selbe wird jeder andere hier auch tun müssen, der sich dein Programm ansieht.



  • Was hast du da rein geschrieben? Welches Formular schliesst du? Versteckst du das erste Formular mit "Hide"?

    ja ich habe visible auf false gesetzt!

    nee mit dem debugger bin ich noch net durhcgegangen!
    aber er über nimmt ja keinen Wert um bei einem anderen Programm wo ich geschrieben hab geht es ja auch so wie ich es unte geschrieben hab(im Programm)!

    mfg
    schally



  • schally schrieb:

    Was hast du da rein geschrieben? Welches Formular schliesst du? Versteckst du das erste Formular mit "Hide"?

    ja ich habe visible auf false gesetzt!

    VCL-Applikationen beenden sich erst nach dem schliessen des unter Application->MainForm eingetragenen Formulars (in den Projektoptionen einstellbar). Es gibt mehrere Möglichkeiten das zu lösen: Entweder du wechselst zwischen drin die MainForm zuweisung, weil sich das Hauptformular der Applikation verändert oder du baust die Applikation so, dass das Mainform auch wirklich das Hauptformular ist. Als letzte Variante wäre noch der Aufruf von TApplication::Terminate welcher die Applikation sicher beendet. Das könntest du dir allerdings bei der richtigen Einstellung des MAinforms ersparen.

    schally schrieb:

    nee mit dem debugger bin ich noch net durhcgegangen!

    Grosser fehler.

    schally schrieb:

    aber er über nimmt ja keinen Wert um bei einem anderen Programm wo ich geschrieben hab geht es ja auch so wie ich es unte geschrieben hab(im Programm)!

    Das kann nicht wirklich deine Begründung sein oder?! Offensichtlich hast du entweder im anderen Programm was drum rum gebastelt sodass der ineffektive Code nicht ins gewicht fällt, oder du hast was falsch übernommen. Beides lässt sich mit dem Debugger rausfinden.

    Das Arbeiten mit dem Debugger erhöht dramatisch deine Unabhängigkeit.



  • So ich habe es

    //Main Fenster
    
    Tfrm_key *key_ein= new Tfrm_key(this);//Zeiger auf Key Eingabe Fenster
    key_ein->Show();//Zum Aufrufen des Zeiger Fensters
    //Hier das was ich anderen Fenster Kex Eingabe Fenster stegt!
    void __fastcall Tfrm_key::btn_takeClick(TObject *Sender)
    {
       if(edt_key_ein->Text.IsEmpty()==true)
       {
          ShowMessage("Geben Sie was ein!");
       }
       else
       {
    
          frm_main->kennwort=edt_key_ein->Text.ToInt();
          Close();
       }
    
    }
    
    //Main Fenster
    frm_main->kennwort=edt_key_ein->Text.ToInt();//Zum Speichern in die Variable
    

    Das geht schonmal !

    Nun zu einem anderen Problem !
    Also der Anwender soll in eine Memo-Komponente seinen Text schreiben und ich will die ganze Memo Komponente in eine Variable(AnsiString) schreiben so das es ein endlos text wird!
    Aber ich bekomme es nicht hin!
    Hier mal meine Versuche

    void __fastcall Tfrm_main::btn_zeichen_aus_memoClick(TObject *Sender)
    {
       int zeilen=0,spalten=0;
       for(int i=0;i<=mem_ver_text->Lines->Count;i++)
       {
          zeilen=zeilen+mem_ver_text->Lines->Count;//Zum Zählen der Zeilen
          /*for(int j=i;j<mem_ver_text->Lines->Strings[j];j++)
          {
             spalten=mem_ver_text->Lines->Strings[j].ToInt();
          }*/
       }
       Edit1->Text=zeilen;//Zum ausgeben der Textzeichen
    
    }
    

    und hier nochmal das Programm wurde geändert!
    http://steffen-schalhorst.de/Foren/C++/versch.rar

    hoffe ihr könnt mir weiter helfen!

    mfg und danke

    schally



  • junix schrieb:

    Bitte beachte in Zukunft die Faustregel "Pro Thread 1 Thema, pro Thema 1 Thread". Denn die Probleme bewegen sich auf ganz unterschiedlichen Themenkreisen. Und deine erste Frage hat überhaupt nichts damit zu tun, was uns der Titel suggerieren will.

    Den Abschnitt scheinst du nicht gelesen zu haben oder?

    Das Problem mit Links zu problembehafteten Programmen ist leider immer, dass das über die Zeit an Aktualität verliert (wie dus ja selber schon gemerkt hast). Es wäre daher sinnvoller, ganz darauf zu verzichten und die problematischen Kreise (wie dus ja sehr gut gemacht hast) zu posten.

    Sind die beiden Probleme deretwegen du diesen Thread eröffnet hast nun gelöst?

    Vielleicht noch eine wichtige Lektüre für dich ist der Thread "Public variablen sind böse" (im FAQ-Index http://www.c-plusplus.net/forum/viewtopic-var-t-is-39305.html ) unter Programmiertips zu finden)



  • a die sind nun gelöst!

    soll ich dann extra wieder en thread eröffnen?

    mfg
    schally



  • Exakt das ist der Sinn hinter der Aussage "Pro Thread 1 Frage, pro Frage 1 Thread". Damit wirds nämlich für dich einfacher sinnvolle Threadtitel zu wählen und gibt den Besuchern hier mehr Übersicht. - Den anderen Hinweis zu Publicvariablen hast du hoffentlich jetzt nicht überlesen oder?



  • Nee ,ich dachte man könnte ja auch alles in einem Thread machen !
    Aber Ok ,war keine Absicht von Mir Sry deswegen!

    mfg
    schally



  • Dennoch solltest du den Beitrag zum Thema Publicvariablen dringend anschauen. (o;


Anmelden zum Antworten