Wert eines Buttons in einem textfeld anzeigen
-
Ich mein ich hab da ja nicht so die Ahnung von
Scheinbar noch weniger als der Falke...
-
Der Sinn dieses Forums ist es nicht den Leuten fertigen Code zum Kopieren
zu geben, den sie dann übernehmen ohne ihn zu verstehen.Der Sinn ist es den Leuten unter die Arme zu greifen um der Lösung näher
zu kommen. Hier wurden Komponenten auf die Form gezogen die Später ein
Programm darstellen und der Code dazu muß selbst geschrieben werden, das
macht der BCB nicht.aber erklärt mir mal was das Programm "hello World" mit der Programmierung mit ner Windowsähnlichen Oberfläche zu tun hat. Ich mein er benutzt doch Buttons wenn ich das richtig verstanden habe.
Wie soll ich das Verstehen?
Wer den BCB hat und Buttons benutzt braucht keinen C++ Code mehr zu schreiben?
Warum heißt er dann C++Builder?Der BCB stellt Komponenten zur Verfühgung, wie Buttons etc. das sind Klassen,
wie andere Klassen in C++ auch (mit dem Unterschied das diese in ObjectPascal
geschrieben sind) um diese Klassen instanzieren zieht man sie auf die Form,
aber um diese zu Verwenden muß mann in C++ den entsprechenden Code
schreiben.class Zaehlwerk { private: int Zaehler; public: Zaehlwerk() { Zaehler = 0; } Aufzaehlen(int a) { Zaehler += a; } Abzaehlen(int b) { Zaehler -= b; } int AktuelleZahl() { return Zaehler; } }; void __fastcall TForm1::Button1Click(TObject *Sender) { Zaehlwerk->Aufzaehlen(1); Edit1->Text = IntToStr(Zaehlwerk->AktuelleZahl()); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Zaehlwerk->Abzaehlen(1); Edit1->Text = IntToStr(Zaehlwerk->AktuelleZahl()); } //---------------------------------------------------------------------------
Und wenn man jetzt nicht Versteht was da passiert, bzw. gemacht wurde, dann
sollte man (in jedem Fall) mit "Hello World" anfangen!gruß Micha
-
Ich weiß aber das es eine Möglichkeit gibt das so in der Art zu mchen denn ich habe es sleber schon einmal gemacht. Das ist leider nur zu lange her als das ich noch genau weiß wie das geschrieben wird.
Aber wenn es so falsch ist. Schreibt doch endlich mal ein Beispiel oder ist das ein Forum wo dümme Sprüche abgegebn werden anstatt zu helfen *g*
-
Wie wär's mit 3 mal "void"?
-
.. die mir it ihren überaus nützlichen Tips zur Seite stande. Mein besonderer Dank geht an promicha der sich nach langem hin und her doch dazu bereit erklärt hat ein beispiel zu zeigen.
Ich wußte nicht das ihr hier im forum schon an der Frage sehen könnt was es für ein Programm wird und von daher schon den Code schreiben könntet und mir von daher keine Beispiele geben könnt/wollt *g* Habe aber nie vorgehabt das Programm anhand von Copy und Paste zu schreiben.
Sonst würd ich die Programmstellung nämlich unter Projekte posten und warten bis jemand was fertiges hat, und ich würd emir schon gar nicht den BCB kaufen.
Thx an alle
-
... die mir etwas einfacher erscheint
Fände es gut wenn ihr mir sagen würdet ob es daran etwas auszusetzten gibt oder ob man das so machen kann.
Funktionieren tut es auf jeden Fallvoid __fastcall TForm1::Button1Click(TObject *Sender) { Parkzeit = Parkzeit + Takt; Edit1 -> Text = Parkzeit; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Parkzeit = Parkzeit - Takt; Edit1 -> Text = Parkzeit; }
Greetz
-
WebFritzi schrieb:
Wie wär's mit 3 mal "void"?
in der Eile, wenn man schnell ein Roman schreibt?
Also logisch, bitte void mit vor den Funktionen (in der Klasse) sonst giebts
Fehlermeldungen.
-
Parkzeit = Parkzeit + Takt; Edit1 -> Text = Parkzeit;
Edit1->Text ist vom Typ "AnsiString"
Parkzeit, denke ich mal "int"
Da giebts ne Fehlermeldung
Verwende IntToStr()
-
promicha schrieb:
Edit1->Text ist vom Typ "AnsiString"
Parkzeit, denke ich mal "int"
Da giebts ne FehlermeldungNö.
-
Man lernt nie aus, Edit1->Text erwartet AnsiString nimmt aber auch
Integer an.
Ich gewöhne mir aber IntToStr() nicht ab, ich will mein Code ja noch
lesen können und nicht raten ob ne Variable int oder AnsiString ist.
-
falke_21 schrieb:
... die mir etwas einfacher erscheint
Fände es gut wenn ihr mir sagen würdet ob es daran etwas auszusetzten gibt oder ob man das so machen kann.
Funktionieren tut es auf jeden Fall[code]void __fastcall TForm1::Button1Click(TObject *Sender)
{
Parkzeit = Parkzeit + Takt;
Edit1 -> Text = Parkzeit;
.....Kann man, ob man soll???
Wenn dein Code umfangreicher wird verlierst du den Überblick, z.B.
Parkzeit1, Parkzeit2 etc.
Klassen behalten den Überblick und können auch woanders verwendet
werden.
Wenn du mehre Nutzer hast, kannst du z.B. so machenParkautomat *Benutzer[Anzahl_Benutzer]; //die Klasse wäre Parkautomat for (int i;i<Anzahl_Benutzer;i++) { Benutzer[i] = new Parkautomat(); } //und kannst dann z.B. so zugreifen: Benutze[3]->Parkzeit += Takt;
-
promicha schrieb:
Man lernt nie aus, Edit1->Text erwartet AnsiString nimmt aber auch
Integer an.
Ich gewöhne mir aber IntToStr() nicht ab, ich will mein Code ja noch
lesen können und nicht raten ob ne Variable int oder AnsiString ist.Find ich auch besser.
-
Hallo
besser waere am Variablennamen zu erkennen ob es ein Integer oder ....
istMfg
Klaus
-
Das ist Ansichtssache, lieber Klaus.
-
@Klaus
schreibst du:int int_wert_zum_aufzaehlen; ... Edit1->Text = int_wert_zum_aufzaehlen; //aha hier ist ein Integer
ist dann nicht das:
int Zaehler; ... Edit1->Text = IntToStr(Zaehler); //aha ein Integer ist es der zum String wird
besser?
Und "IntToStr()" bremst in diesen Moment auch nichts aus, den Edit1->Text
ruft diese auf wenn ein int kommt, daher bleibt es gleich.
-
Nein, er meint sowas wie
Edit1->Text = IntToStr(iParkzeit);
-
WebFritzi schrieb:
Nein, er meint sowas wie
Edit1->Text = IntToStr(iParkzeit);
Ja gut sowas benutze ich öffters mal in Funktionen um das zuordnen zu können,
ala:slDaten //StringList; sDaten //AnsiString; dtZeit // DateTime; iCount // integer; ... // usw.
also ansich gar nicht so falsch, in meinen Augen, aber auf "IntToStr()"
verzichte ich denoch nicht, ob ich es nun aufrufe oder ein property da
ist es mir lieber ich mach es und sehe beim Code lesen sofort was los ist.
-
Hallo
um Verzicht auf IntToStr gieng es mir ueberhaupt nicht nur um "sprechende Variable" (siehe zB. iParkZeit)
Jeder (fremde) kann sofort den Typ der Variablen erkennen
MfG
Klaus