123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461 |
- #include "..\..\Global\Variablen.h"
- #include "..\..\Global\Initialisierung.h"
- #include "Registrierung.h"
- #include <Punkt.h>
- #include <Text.h>
- #include <Zeit.h>
- #include <InitDatei.h>
- // Inhalt der Registrierung Klasse aus Registrierung.h
- // Konstruktor
- Registrierung::Registrierung(Fenster* zVorLoginFenster)
- : ReferenceCounter()
- {
- Punkt bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
- registrierung = initKnopf(10, 90, 130, 30, Knopf::Style::Sichtbar, "Registrieren");
- registrierung->setMausEreignisParameter(this);
- registrierung->setMausEreignis(registrierungRegistrierungME);
- initToolTip(registrierung, "Account erstellen.");
- zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(registrierung->getThis()));
- fenster = initFenster(bildschirmGröße.x / 2 - 175, bildschirmGröße.y / 2 - 131, 350, 262, Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel | Fenster::Style::TitelBuffered, "Account erstellen");
- name = initTextFeld(74, 20, 200, 20, TextFeld::Style::TextFeld, "Account Name");
- name->setTastaturEreignisParameter(this);
- name->setTastaturEreignis(registrierungNameTE);
- initToolTip(name, "Account Name.");
- fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
- passwort = initTextFeld(74, 50, 200, 20, TextFeld::Style::TextFeld, "Account Passwort");
- passwort->setTastaturEreignisParameter(this);
- passwort->setTastaturEreignis(registrierungPasswortTE);
- initToolTip(passwort, "Account Passwort.");
- fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
- passwort2 = initTextFeld(74, 80, 200, 20, TextFeld::Style::TextFeld, "Passwort wiederholen");
- passwort2->setTastaturEreignisParameter(this);
- passwort2->setTastaturEreignis(registrierungPasswort2TE);
- initToolTip(passwort2, "Account Passwort wiederhohlen.");
- fenster->addMember(dynamic_cast<Zeichnung*>(passwort2->getThis()));
- geheimnis = initTextFeld(10, 110, 328, 20, TextFeld::Style::TextFeld, "Account Geheimnis");
- geheimnis->setTastaturEreignisParameter(this);
- geheimnis->setTastaturEreignis(registrierungGeheimnisTE);
- initToolTip(geheimnis, "Gib etwas ein, was nur du jederzeit weißt.\n(zweites sicherheitspasswort Passwort)");
- fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
- eMail = initTextFeld(74, 140, 200, 20, TextFeld::Style::TextFeld, "E-Mail Addresse");
- eMail->setTastaturEreignisParameter(this);
- eMail->setTastaturEreignis(registrierungEMailTE);
- initToolTip(eMail, "E-Mail Addresse.");
- fenster->addMember(dynamic_cast<Zeichnung*>(eMail->getThis()));
- geburtsdatum = initTextFeld(40, 170, 85, 20, TextFeld::Style::Text, "Geburtsdatum:");
- fenster->addMember(dynamic_cast<Zeichnung*>(geburtsdatum->getThis()));
- text = initTextFeld(0, 5, 250, 150, TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter, "");
- fenster->addMember(dynamic_cast<Zeichnung*>(text->getThis()));
- gbdTag = initAuswahlBox(130, 167, 50, 20, AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund, {});
- gbdTag->addEintrag("Tag");
- for (int i = 0; i < 31; i++)
- {
- Text* txt = new Text("");
- txt->append(i + 1);
- gbdTag->addEintrag(txt);
- }
- gbdMonat = initAuswahlBox(185, 167, 65, 20, AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund, {});
- gbdMonat->addEintrag("Monat");
- for (int i = 0; i < 12; i++)
- {
- Text* txt = new Text("");
- txt->append(i + 1);
- gbdMonat->addEintrag(txt);
- }
- gbdJahr = initAuswahlBox(255, 176, 55, 20, AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund, {});
- gbdJahr->addEintrag("Jahr");
- for (int i = 2013; i > 1913; i--)
- {
- Text* txt = new Text("");
- txt->append(i + 1);
- gbdJahr->addEintrag(txt);
- }
- weiter = initKnopf(124, 200, 100, 20, Knopf::Style::Sichtbar, "Weiter");
- weiter->setMausEreignisParameter(this);
- weiter->setMausEreignis(registrierungWeiterME);
- fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
- zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
- fenster->addMember(dynamic_cast<Zeichnung*>(gbdTag->getThis()));
- fenster->addMember(dynamic_cast<Zeichnung*>(gbdMonat->getThis()));
- fenster->addMember(dynamic_cast<Zeichnung*>(gbdJahr->getThis()));
- }
- // Destruktor
- Registrierung::~Registrierung()
- {
- if (fenster)
- fenster = (Fenster*)fenster->release();
- if (name)
- name = (TextFeld*)name->release();
- if (passwort)
- passwort = (TextFeld*)passwort->release();
- if (passwort2)
- passwort2 = (TextFeld*)passwort2->release();
- if (geheimnis)
- geheimnis = (TextFeld*)geheimnis->release();
- if (eMail)
- eMail = (TextFeld*)eMail->release();
- if (geburtsdatum)
- geburtsdatum = (TextFeld*)geburtsdatum->release();
- if (gbdTag)
- gbdTag = (AuswahlBox*)gbdTag->release();
- if (gbdMonat)
- gbdMonat = (AuswahlBox*)gbdMonat->release();
- if (gbdJahr)
- gbdJahr = (AuswahlBox*)gbdJahr->release();
- if (weiter)
- weiter = (Knopf*)weiter->release();
- if (text)
- text = (TextFeld*)text->release();
- if (registrierung)
- registrierung = (Knopf*)registrierung->release();
- }
- // Privat
- void Registrierung::zeigeNachricht(const char* txt)
- {
- Punkt bildschirmmitte = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
- name->removeStyle(TextFeld::Style::Sichtbar);
- passwort->removeStyle(TextFeld::Style::Sichtbar);
- passwort2->removeStyle(TextFeld::Style::Sichtbar);
- geheimnis->removeStyle(TextFeld::Style::Sichtbar);
- eMail->removeStyle(TextFeld::Style::Sichtbar);
- geburtsdatum->removeStyle(TextFeld::Style::Sichtbar);
- gbdTag->removeStyle(TextFeld::Style::Sichtbar);
- gbdMonat->removeStyle(TextFeld::Style::Sichtbar);
- gbdJahr->removeStyle(TextFeld::Style::Sichtbar);
- fenster->setSize(250, 150);
- fenster->setPosition(bildschirmmitte.x - 125, bildschirmmitte.y - 75);
- weiter->setPosition(139, 100);
- weiter->setText("Ok");
- text->setText(txt);
- if (text->zText()->getLength() > 30)
- {
- int pos = -1;
- bool set = 0;
- int lastp = 0;
- for (int i = 20; i < text->zText()->getLength(); )
- {
- const char* tmp = &text->zText()->getText()[i];
- while (*tmp != ' ' && i < text->zText()->getLength())
- {
- tmp++;
- i++;
- if (i - 30 >= lastp)
- {
- if (set)
- {
- lastp = pos;
- set = 0;
- ((char*)text->zText()->getText())[pos] = '\n';
- }
- else
- lastp += 5;
- }
- }
- if (i < text->zText()->getLength())
- {
- pos = i;
- set = 1;
- tmp++;
- i++;
- }
- }
- }
- text->addStyle(TextFeld::Style::Sichtbar);
- }
- // Knopfdruck
- void Registrierung::druckFremdKnopf() // Ein anderer Knopfwurde gedrückt
- {
- fenster->removeStyle(Fenster::Style::Sichtbar);
- registrierung->setRahmenBreite(2);
- registrierung->setAlphaFeldFarbe(0x5500FF00);
- registrierung->setAlphaFeldStrength(-5);
- }
- bool Registrierung::nameTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
- {
- if (te.id == TE_Press && te.taste == T_Enter)
- return 0;
- if (te.id == TE_Release && (te.taste == T_Enter || te.taste == T_Tab))
- {
- name->removeStyle(TextFeld::Style::Fokus);
- passwort->addStyle(TextFeld::Style::Fokus);
- passwort->setAuswahl(0, passwort->zText()->getLength());
- }
- if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste))
- return 0;
- return 1;
- }
- bool Registrierung::passwortTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort
- {
- if (te.id == TE_Press && te.taste == T_Enter)
- return 0;
- if (te.id == TE_Press)
- passwort->setSchowChar('*');
- if (te.id == TE_Release && (te.taste == T_Enter || te.taste == T_Tab))
- {
- passwort->removeStyle(TextFeld::Style::Fokus);
- passwort2->addStyle(TextFeld::Style::Fokus);
- passwort2->setAuswahl(0, passwort2->zText()->getLength());
- }
- if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste))
- return 0;
- return 1;
- }
- bool Registrierung::passwort2TE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort2
- {
- if (te.id == TE_Press && te.taste == T_Enter)
- return 0;
- if (te.id == TE_Press)
- passwort2->setSchowChar('*');
- if (te.id == TE_Release && (te.taste == T_Enter || te.taste == T_Tab))
- {
- passwort2->removeStyle(TextFeld::Style::Fokus);
- geheimnis->addStyle(TextFeld::Style::Fokus);
- geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
- }
- if (passwort2->zText()->getLength() >= 25 && istSchreibbar(te.taste))
- return 0;
- return 1;
- }
- bool Registrierung::geheimnisTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
- {
- if (te.id == TE_Press && te.taste == T_Enter)
- return 0;
- if (te.id == TE_Release && (te.taste == T_Enter || te.taste == T_Tab))
- {
- geheimnis->removeStyle(TextFeld::Style::Fokus);
- eMail->addStyle(TextFeld::Style::Fokus);
- eMail->setAuswahl(0, eMail->zText()->getLength());
- }
- int selCount = 0;
- for (int i = 0; i < geheimnis->zText()->getLength(); i++)
- selCount += (int)geheimnis->isCharSelected(i);
- if (geheimnis->zText()->getLength() - selCount >= 50 && istSchreibbar(te.taste))
- return 0;
- return 1;
- }
- bool Registrierung::eMailTE(void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld eMail
- {
- if (te.id == TE_Press && te.taste == T_Enter)
- return 0;
- if (te.id == TE_Release && (te.taste == T_Enter || te.taste == T_Tab))
- {
- eMail->removeStyle(TextFeld::Style::Fokus);
- gbdTag->addStyle(AuswahlBox::Style::Fokus);
- }
- if (eMail->zText()->getLength() >= 50 && istSchreibbar(te.taste))
- return 0;
- return 1;
- }
- bool Registrierung::weiterME(void* obj, MausEreignis me) // MausEreignis im Knopf weiter
- {
- if (me.id == ME_RLinks)
- {
- Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
- if (fenster->zTitel()->istGleich("Erfolg"))
- {
- text->removeStyle(TextFeld::Style::Sichtbar);
- weiter->setPosition(124, 200);
- weiter->setText("Weiter");
- fenster->setSize(350, 262);
- fenster->setPosition(bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131);
- fenster->setTitel("Account erstellen");
- name->addStyle(TextFeld::Style::Sichtbar);
- passwort->addStyle(TextFeld::Style::Sichtbar);
- passwort2->addStyle(TextFeld::Style::Sichtbar);
- geheimnis->addStyle(TextFeld::Style::Sichtbar);
- eMail->addStyle(TextFeld::Style::Sichtbar);
- geburtsdatum->addStyle(TextFeld::Style::Sichtbar);
- gbdTag->addStyle(TextFeld::Style::Sichtbar);
- gbdMonat->addStyle(TextFeld::Style::Sichtbar);
- gbdJahr->addStyle(TextFeld::Style::Sichtbar);
- name->addStyle(TextFeld::Style::Fokus);
- name->setAuswahl(0, name->zText()->getLength());
- }
- else
- {
- if (weiter->zText()->istGleich("Ok"))
- {
- text->removeStyle(TextFeld::Style::Sichtbar);
- weiter->setPosition(124, 200);
- weiter->setText("Weiter");
- fenster->setSize(350, 262);
- fenster->setPosition(bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131);
- name->addStyle(TextFeld::Style::Sichtbar);
- passwort->addStyle(TextFeld::Style::Sichtbar);
- passwort2->addStyle(TextFeld::Style::Sichtbar);
- geheimnis->addStyle(TextFeld::Style::Sichtbar);
- eMail->addStyle(TextFeld::Style::Sichtbar);
- geburtsdatum->addStyle(TextFeld::Style::Sichtbar);
- gbdTag->addStyle(TextFeld::Style::Sichtbar);
- gbdMonat->addStyle(TextFeld::Style::Sichtbar);
- gbdJahr->addStyle(TextFeld::Style::Sichtbar);
- name->addStyle(TextFeld::Style::Fokus);
- name->setAuswahl(0, name->zText()->getLength());
- }
- else if (passwort2->zText()->istGleich(passwort->zText()->getText()))
- {
- if (name->zText()->getLength() == 0 ||
- passwort->zText()->getLength() == 0 ||
- geheimnis->zText()->getLength() == 0 ||
- eMail->zText()->getLength() == 0)
- {
- if (name->zText()->getLength() == 0)
- zeigeNachricht("Bitte gebe einen Accountnamen ein.");
- else if (passwort->zText()->getLength() == 0)
- zeigeNachricht("Bitte gebe ein Accountpasswort ein.");
- else if (geheimnis->zText()->getLength() == 0)
- zeigeNachricht("Bitte gebe ein Accountgeheimnis ein. Dieß wird benötig, wenn du deinen Accountnamen oder dein Accountpasswort vergisst.");
- else if (eMail->zText()->getLength() == 0)
- zeigeNachricht("Bitte gebe deine E-Mail Addresse ein. Diese benötigen wir, um dir den Bestätigungscode für deinen Account zu senden.");
- return 1;
- }
- Datum* gebDat = new Datum();
- gebDat->setDatum(1, 1, 1);
- bool ok = 1;
- do
- {
- if (!gbdTag->getAuswahl() || !gbdMonat->getAuswahl() || !gbdJahr->getAuswahl())
- {
- ok = 0;
- break;
- }
- int jahr = TextZuInt(gbdJahr->zEintrag(gbdJahr->getAuswahl())->zText()->getText(), 10);
- gebDat->setJahr(jahr);
- gebDat->setMonat(gbdMonat->getAuswahl());
- gebDat->setTag(gbdTag->getAuswahl());
- if (jahr != gebDat->getJahr() || gbdMonat->getAuswahl() != gebDat->getMonat() || gbdTag->getAuswahl() != gebDat->getTag())
- {
- ok = 0;
- break;
- }
- } while (0);
- if (ok)
- new AktionsThread(15, name->zText()->getText(), passwort->zText()->getText(), geheimnis->zText()->getText(), eMail->zText()->getText(), gebDat->getThis());
- else
- zeigeNachricht("Bitte gebe ein gültiges Geburtsdatum an.");
- gebDat = (Datum*)gebDat->release();
- }
- else
- zeigeNachricht("Das wiederhohlte Passwort stimmt nicht mit dem Passwort überein.");
- }
- }
- return 1;
- }
- bool Registrierung::registrierungME(void* obj, MausEreignis me) // MausEreignis im Knopf registrierung
- {
- if (me.id == ME_RLinks)
- {
- vorLogin->setRegistrierung();
- fenster->addStyle(Fenster::Style::Sichtbar);
- registrierung->setRahmenBreite(3);
- registrierung->setAlphaFeldFarbe(0xFF000000);
- registrierung->setAlphaFeldStrength(20);
- Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
- text->removeStyle(TextFeld::Style::Sichtbar);
- weiter->setPosition(124, 200);
- weiter->setText("Weiter");
- fenster->setSize(350, 262);
- fenster->setPosition(bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131);
- fenster->setTitel("Account erstellen");
- name->addStyle(TextFeld::Style::Sichtbar);
- passwort->addStyle(TextFeld::Style::Sichtbar);
- passwort2->addStyle(TextFeld::Style::Sichtbar);
- geheimnis->addStyle(TextFeld::Style::Sichtbar);
- eMail->addStyle(TextFeld::Style::Sichtbar);
- geburtsdatum->addStyle(TextFeld::Style::Sichtbar);
- gbdTag->addStyle(TextFeld::Style::Sichtbar);
- gbdMonat->addStyle(TextFeld::Style::Sichtbar);
- gbdJahr->addStyle(TextFeld::Style::Sichtbar);
- name->addStyle(TextFeld::Style::Fokus);
- name->setAuswahl(0, name->zText()->getLength());
- }
- return 1;
- }
- void Registrierung::setWeiterReturn(bool ret) // setzt den Weiter Returnwert
- {
- Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
- if (ret)
- {
- name->removeStyle(TextFeld::Style::Sichtbar);
- passwort->removeStyle(TextFeld::Style::Sichtbar);
- passwort2->removeStyle(TextFeld::Style::Sichtbar);
- geheimnis->removeStyle(TextFeld::Style::Sichtbar);
- eMail->removeStyle(TextFeld::Style::Sichtbar);
- geburtsdatum->removeStyle(TextFeld::Style::Sichtbar);
- gbdTag->removeStyle(TextFeld::Style::Sichtbar);
- gbdMonat->removeStyle(TextFeld::Style::Sichtbar);
- gbdJahr->removeStyle(TextFeld::Style::Sichtbar);
- fenster->setSize(250, 200);
- fenster->setPosition(bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 100);
- fenster->setTitel("Erfolg");
- weiter->setPosition(20, 145);
- weiter->setText("Ok");
- text->setText("Dir wurde eine E-Mail mit einem\naktivierungslink zugeschickt,\nden du in den nächsten 12 Stunden\nbenutzen musst.");
- text->addStyle(TextFeld::Style::Sichtbar);
- }
- else if (lastError.getLength())
- zeigeNachricht(lastError);
- }
- // Ereignisse
- bool registrierungNameTE(void* p, void* obj, TastaturEreignis te)
- {
- if (!p)
- return 0;
- return ((Registrierung*)p)->nameTE(obj, te);
- }
- bool registrierungPasswortTE(void* p, void* obj, TastaturEreignis te)
- {
- if (!p)
- return 0;
- return ((Registrierung*)p)->passwortTE(obj, te);
- }
- bool registrierungPasswort2TE(void* p, void* obj, TastaturEreignis te)
- {
- if (!p)
- return 0;
- return ((Registrierung*)p)->passwort2TE(obj, te);
- }
- bool registrierungGeheimnisTE(void* p, void* obj, TastaturEreignis te)
- {
- if (!p)
- return 0;
- return ((Registrierung*)p)->geheimnisTE(obj, te);
- }
- bool registrierungEMailTE(void* p, void* obj, TastaturEreignis te)
- {
- if (!p)
- return 0;
- return ((Registrierung*)p)->eMailTE(obj, te);
- }
- bool registrierungWeiterME(void* p, void* obj, MausEreignis me)
- {
- if (!p)
- return 0;
- return ((Registrierung*)p)->weiterME(obj, me);
- }
- bool registrierungRegistrierungME(void* p, void* obj, MausEreignis me)
- {
- if (!p)
- return 0;
- return ((Registrierung*)p)->registrierungME(obj, me);
- }
|