Registrierung.cpp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523
  1. #include "Registrierung.h"
  2. #include <InitDatei.h>
  3. #include <Punkt.h>
  4. #include <Text.h>
  5. #include <Zeit.h>
  6. #include "..\..\Global\Initialisierung.h"
  7. #include "..\..\Global\Variablen.h"
  8. // Inhalt der Registrierung Klasse aus Registrierung.h
  9. // Konstruktor
  10. Registrierung::Registrierung(Fenster* zVorLoginFenster)
  11. : ReferenceCounter()
  12. {
  13. Punkt bildschirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
  14. registrierung
  15. = initKnopf(10, 90, 130, 30, Knopf::Style::Sichtbar, "Registrieren");
  16. registrierung->setMausEreignisParameter(this);
  17. registrierung->setMausEreignis(registrierungRegistrierungME);
  18. initToolTip(registrierung, "Account erstellen.");
  19. zVorLoginFenster->addMember(
  20. dynamic_cast<Zeichnung*>(registrierung->getThis()));
  21. fenster = initFenster(bildschirmGröße.x / 2 - 175,
  22. bildschirmGröße.y / 2 - 131,
  23. 350,
  24. 262,
  25. Fenster::Style::Erlaubt | Fenster::Style::Rahmen | Fenster::Style::Titel
  26. | Fenster::Style::TitelBuffered,
  27. "Account erstellen");
  28. name = initTextFeld(
  29. 74, 20, 200, 20, TextFeld::Style::TextFeld, "Account Name");
  30. name->setTastaturEreignisParameter(this);
  31. name->setTastaturEreignis(registrierungNameTE);
  32. initToolTip(name, "Account Name.");
  33. fenster->addMember(dynamic_cast<Zeichnung*>(name->getThis()));
  34. passwort = initTextFeld(
  35. 74, 50, 200, 20, TextFeld::Style::TextFeld, "Account Passwort");
  36. passwort->setTastaturEreignisParameter(this);
  37. passwort->setTastaturEreignis(registrierungPasswortTE);
  38. initToolTip(passwort, "Account Passwort.");
  39. fenster->addMember(dynamic_cast<Zeichnung*>(passwort->getThis()));
  40. passwort2 = initTextFeld(
  41. 74, 80, 200, 20, TextFeld::Style::TextFeld, "Passwort wiederholen");
  42. passwort2->setTastaturEreignisParameter(this);
  43. passwort2->setTastaturEreignis(registrierungPasswort2TE);
  44. initToolTip(passwort2, "Account Passwort wiederhohlen.");
  45. fenster->addMember(dynamic_cast<Zeichnung*>(passwort2->getThis()));
  46. geheimnis = initTextFeld(
  47. 10, 110, 328, 20, TextFeld::Style::TextFeld, "Account Geheimnis");
  48. geheimnis->setTastaturEreignisParameter(this);
  49. geheimnis->setTastaturEreignis(registrierungGeheimnisTE);
  50. initToolTip(geheimnis,
  51. "Gib etwas ein, was nur du jederzeit weißt.\n(zweites "
  52. "sicherheitspasswort Passwort)");
  53. fenster->addMember(dynamic_cast<Zeichnung*>(geheimnis->getThis()));
  54. eMail = initTextFeld(
  55. 74, 140, 200, 20, TextFeld::Style::TextFeld, "E-Mail Addresse");
  56. eMail->setTastaturEreignisParameter(this);
  57. eMail->setTastaturEreignis(registrierungEMailTE);
  58. initToolTip(eMail, "E-Mail Addresse.");
  59. fenster->addMember(dynamic_cast<Zeichnung*>(eMail->getThis()));
  60. geburtsdatum
  61. = initTextFeld(40, 170, 85, 20, TextFeld::Style::Text, "Geburtsdatum:");
  62. fenster->addMember(dynamic_cast<Zeichnung*>(geburtsdatum->getThis()));
  63. text = initTextFeld(0,
  64. 5,
  65. 250,
  66. 150,
  67. TextFeld::Style::Mehrzeilig | TextFeld::Style::HCenter,
  68. "");
  69. fenster->addMember(dynamic_cast<Zeichnung*>(text->getThis()));
  70. gbdTag = initAuswahlBox(130,
  71. 167,
  72. 50,
  73. 20,
  74. AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt
  75. | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer
  76. | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight
  77. | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund,
  78. {});
  79. gbdTag->addEintrag("Tag");
  80. for (int i = 0; i < 31; i++)
  81. {
  82. Text* txt = new Text("");
  83. txt->append(i + 1);
  84. gbdTag->addEintrag(txt);
  85. }
  86. gbdMonat = initAuswahlBox(185,
  87. 167,
  88. 65,
  89. 20,
  90. AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt
  91. | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer
  92. | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight
  93. | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund,
  94. {});
  95. gbdMonat->addEintrag("Monat");
  96. for (int i = 0; i < 12; i++)
  97. {
  98. Text* txt = new Text("");
  99. txt->append(i + 1);
  100. gbdMonat->addEintrag(txt);
  101. }
  102. gbdJahr = initAuswahlBox(255,
  103. 176,
  104. 55,
  105. 20,
  106. AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt
  107. | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MausBuffer
  108. | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::MaxHeight
  109. | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund,
  110. {});
  111. gbdJahr->addEintrag("Jahr");
  112. for (int i = 2013; i > 1913; i--)
  113. {
  114. Text* txt = new Text("");
  115. txt->append(i + 1);
  116. gbdJahr->addEintrag(txt);
  117. }
  118. weiter = initKnopf(124, 200, 100, 20, Knopf::Style::Sichtbar, "Weiter");
  119. weiter->setMausEreignisParameter(this);
  120. weiter->setMausEreignis(registrierungWeiterME);
  121. fenster->addMember(dynamic_cast<Zeichnung*>(weiter->getThis()));
  122. zVorLoginFenster->addMember(dynamic_cast<Zeichnung*>(fenster->getThis()));
  123. fenster->addMember(dynamic_cast<Zeichnung*>(gbdTag->getThis()));
  124. fenster->addMember(dynamic_cast<Zeichnung*>(gbdMonat->getThis()));
  125. fenster->addMember(dynamic_cast<Zeichnung*>(gbdJahr->getThis()));
  126. }
  127. // Destruktor
  128. Registrierung::~Registrierung()
  129. {
  130. if (fenster) fenster = (Fenster*)fenster->release();
  131. if (name) name = (TextFeld*)name->release();
  132. if (passwort) passwort = (TextFeld*)passwort->release();
  133. if (passwort2) passwort2 = (TextFeld*)passwort2->release();
  134. if (geheimnis) geheimnis = (TextFeld*)geheimnis->release();
  135. if (eMail) eMail = (TextFeld*)eMail->release();
  136. if (geburtsdatum) geburtsdatum = (TextFeld*)geburtsdatum->release();
  137. if (gbdTag) gbdTag = (AuswahlBox*)gbdTag->release();
  138. if (gbdMonat) gbdMonat = (AuswahlBox*)gbdMonat->release();
  139. if (gbdJahr) gbdJahr = (AuswahlBox*)gbdJahr->release();
  140. if (weiter) weiter = (Knopf*)weiter->release();
  141. if (text) text = (TextFeld*)text->release();
  142. if (registrierung) registrierung = (Knopf*)registrierung->release();
  143. }
  144. // Privat
  145. void Registrierung::zeigeNachricht(const char* txt)
  146. {
  147. Punkt bildschirmmitte
  148. = uiFactory.initParam.bildschirm->getBackBufferSize() / 2;
  149. name->removeStyle(TextFeld::Style::Sichtbar);
  150. passwort->removeStyle(TextFeld::Style::Sichtbar);
  151. passwort2->removeStyle(TextFeld::Style::Sichtbar);
  152. geheimnis->removeStyle(TextFeld::Style::Sichtbar);
  153. eMail->removeStyle(TextFeld::Style::Sichtbar);
  154. geburtsdatum->removeStyle(TextFeld::Style::Sichtbar);
  155. gbdTag->removeStyle(TextFeld::Style::Sichtbar);
  156. gbdMonat->removeStyle(TextFeld::Style::Sichtbar);
  157. gbdJahr->removeStyle(TextFeld::Style::Sichtbar);
  158. fenster->setSize(250, 150);
  159. fenster->setPosition(bildschirmmitte.x - 125, bildschirmmitte.y - 75);
  160. weiter->setPosition(139, 100);
  161. weiter->setText("Ok");
  162. text->setText(txt);
  163. if (text->zText()->getLength() > 30)
  164. {
  165. int pos = -1;
  166. bool set = 0;
  167. int lastp = 0;
  168. for (int i = 20; i < text->zText()->getLength();)
  169. {
  170. const char* tmp = &text->zText()->getText()[i];
  171. while (*tmp != ' ' && i < text->zText()->getLength())
  172. {
  173. tmp++;
  174. i++;
  175. if (i - 30 >= lastp)
  176. {
  177. if (set)
  178. {
  179. lastp = pos;
  180. set = 0;
  181. ((char*)text->zText()->getText())[pos] = '\n';
  182. }
  183. else
  184. lastp += 5;
  185. }
  186. }
  187. if (i < text->zText()->getLength())
  188. {
  189. pos = i;
  190. set = 1;
  191. tmp++;
  192. i++;
  193. }
  194. }
  195. }
  196. text->addStyle(TextFeld::Style::Sichtbar);
  197. }
  198. // Knopfdruck
  199. void Registrierung::druckFremdKnopf() // Ein anderer Knopfwurde gedrückt
  200. {
  201. fenster->removeStyle(Fenster::Style::Sichtbar);
  202. registrierung->setRahmenBreite(2);
  203. registrierung->setAlphaFeldFarbe(0x5500FF00);
  204. registrierung->setAlphaFeldStrength(-5);
  205. }
  206. bool Registrierung::nameTE(
  207. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld name
  208. {
  209. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  210. if (te.id == TE_Release
  211. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  212. {
  213. name->removeStyle(TextFeld::Style::Fokus);
  214. passwort->addStyle(TextFeld::Style::Fokus);
  215. passwort->setAuswahl(0, passwort->zText()->getLength());
  216. }
  217. if (name->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
  218. return 0;
  219. return 1;
  220. }
  221. bool Registrierung::passwortTE(
  222. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort
  223. {
  224. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  225. if (te.id == TE_Press) passwort->setSchowChar('*');
  226. if (te.id == TE_Release
  227. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  228. {
  229. passwort->removeStyle(TextFeld::Style::Fokus);
  230. passwort2->addStyle(TextFeld::Style::Fokus);
  231. passwort2->setAuswahl(0, passwort2->zText()->getLength());
  232. }
  233. if (passwort->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
  234. return 0;
  235. return 1;
  236. }
  237. bool Registrierung::passwort2TE(
  238. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld passwort2
  239. {
  240. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  241. if (te.id == TE_Press) passwort2->setSchowChar('*');
  242. if (te.id == TE_Release
  243. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  244. {
  245. passwort2->removeStyle(TextFeld::Style::Fokus);
  246. geheimnis->addStyle(TextFeld::Style::Fokus);
  247. geheimnis->setAuswahl(0, geheimnis->zText()->getLength());
  248. }
  249. if (passwort2->zText()->getLength() >= 25 && istSchreibbar(te.taste[0]))
  250. return 0;
  251. return 1;
  252. }
  253. bool Registrierung::geheimnisTE(
  254. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld geheimnis
  255. {
  256. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  257. if (te.id == TE_Release
  258. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  259. {
  260. geheimnis->removeStyle(TextFeld::Style::Fokus);
  261. eMail->addStyle(TextFeld::Style::Fokus);
  262. eMail->setAuswahl(0, eMail->zText()->getLength());
  263. }
  264. int selCount = 0;
  265. for (int i = 0; i < geheimnis->zText()->getLength(); i++)
  266. selCount += (int)geheimnis->isCharSelected(i);
  267. if (geheimnis->zText()->getLength() - selCount >= 50
  268. && istSchreibbar(te.taste[0]))
  269. return 0;
  270. return 1;
  271. }
  272. bool Registrierung::eMailTE(
  273. void* obj, TastaturEreignis te) // Tastaturereignis im Textfeld eMail
  274. {
  275. if (te.id == TE_Press && te.virtualKey == T_Enter) return 0;
  276. if (te.id == TE_Release
  277. && (te.virtualKey == T_Enter || te.virtualKey == T_Tab))
  278. {
  279. eMail->removeStyle(TextFeld::Style::Fokus);
  280. gbdTag->addStyle(AuswahlBox::Style::Fokus);
  281. }
  282. if (eMail->zText()->getLength() >= 50 && istSchreibbar(te.taste[0]))
  283. return 0;
  284. return 1;
  285. }
  286. bool Registrierung::weiterME(
  287. void* obj, MausEreignis me) // MausEreignis im Knopf weiter
  288. {
  289. if (me.id == ME_RLinks)
  290. {
  291. Punkt bildchirmGröße
  292. = uiFactory.initParam.bildschirm->getBackBufferSize();
  293. if (fenster->zTitel()->istGleich("Erfolg"))
  294. {
  295. text->removeStyle(TextFeld::Style::Sichtbar);
  296. weiter->setPosition(124, 200);
  297. weiter->setText("Weiter");
  298. fenster->setSize(350, 262);
  299. fenster->setPosition(
  300. bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131);
  301. fenster->setTitel("Account erstellen");
  302. name->addStyle(TextFeld::Style::Sichtbar);
  303. passwort->addStyle(TextFeld::Style::Sichtbar);
  304. passwort2->addStyle(TextFeld::Style::Sichtbar);
  305. geheimnis->addStyle(TextFeld::Style::Sichtbar);
  306. eMail->addStyle(TextFeld::Style::Sichtbar);
  307. geburtsdatum->addStyle(TextFeld::Style::Sichtbar);
  308. gbdTag->addStyle(TextFeld::Style::Sichtbar);
  309. gbdMonat->addStyle(TextFeld::Style::Sichtbar);
  310. gbdJahr->addStyle(TextFeld::Style::Sichtbar);
  311. name->addStyle(TextFeld::Style::Fokus);
  312. name->setAuswahl(0, name->zText()->getLength());
  313. }
  314. else
  315. {
  316. if (weiter->zText()->istGleich("Ok"))
  317. {
  318. text->removeStyle(TextFeld::Style::Sichtbar);
  319. weiter->setPosition(124, 200);
  320. weiter->setText("Weiter");
  321. fenster->setSize(350, 262);
  322. fenster->setPosition(
  323. bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131);
  324. name->addStyle(TextFeld::Style::Sichtbar);
  325. passwort->addStyle(TextFeld::Style::Sichtbar);
  326. passwort2->addStyle(TextFeld::Style::Sichtbar);
  327. geheimnis->addStyle(TextFeld::Style::Sichtbar);
  328. eMail->addStyle(TextFeld::Style::Sichtbar);
  329. geburtsdatum->addStyle(TextFeld::Style::Sichtbar);
  330. gbdTag->addStyle(TextFeld::Style::Sichtbar);
  331. gbdMonat->addStyle(TextFeld::Style::Sichtbar);
  332. gbdJahr->addStyle(TextFeld::Style::Sichtbar);
  333. name->addStyle(TextFeld::Style::Fokus);
  334. name->setAuswahl(0, name->zText()->getLength());
  335. }
  336. else if (passwort2->zText()->istGleich(
  337. passwort->zText()->getText()))
  338. {
  339. if (name->zText()->getLength() == 0
  340. || passwort->zText()->getLength() == 0
  341. || geheimnis->zText()->getLength() == 0
  342. || eMail->zText()->getLength() == 0)
  343. {
  344. if (name->zText()->getLength() == 0)
  345. zeigeNachricht("Bitte gebe einen Accountnamen ein.");
  346. else if (passwort->zText()->getLength() == 0)
  347. zeigeNachricht("Bitte gebe ein Accountpasswort ein.");
  348. else if (geheimnis->zText()->getLength() == 0)
  349. zeigeNachricht(
  350. "Bitte gebe ein Accountgeheimnis ein. Dieß wird "
  351. "benötig, wenn du deinen Accountnamen oder dein "
  352. "Accountpasswort vergisst.");
  353. else if (eMail->zText()->getLength() == 0)
  354. zeigeNachricht(
  355. "Bitte gebe deine E-Mail Addresse ein. Diese "
  356. "benötigen wir, um dir den Bestätigungscode für "
  357. "deinen Account zu senden.");
  358. return 1;
  359. }
  360. Datum* gebDat = new Datum();
  361. gebDat->setDatum(1, 1, 1);
  362. bool ok = 1;
  363. do
  364. {
  365. if (!gbdTag->getAuswahl() || !gbdMonat->getAuswahl()
  366. || !gbdJahr->getAuswahl())
  367. {
  368. ok = 0;
  369. break;
  370. }
  371. int jahr
  372. = TextZuInt(gbdJahr->zEintrag(gbdJahr->getAuswahl())
  373. ->zText()
  374. ->getText(),
  375. 10);
  376. gebDat->setJahr(jahr);
  377. gebDat->setMonat(gbdMonat->getAuswahl());
  378. gebDat->setTag(gbdTag->getAuswahl());
  379. if (jahr != gebDat->getJahr()
  380. || gbdMonat->getAuswahl() != gebDat->getMonat()
  381. || gbdTag->getAuswahl() != gebDat->getTag())
  382. {
  383. ok = 0;
  384. break;
  385. }
  386. } while (0);
  387. if (ok)
  388. new AktionsThread(15,
  389. name->zText()->getText(),
  390. passwort->zText()->getText(),
  391. geheimnis->zText()->getText(),
  392. eMail->zText()->getText(),
  393. gebDat->getThis());
  394. else
  395. zeigeNachricht("Bitte gebe ein gültiges Geburtsdatum an.");
  396. gebDat = (Datum*)gebDat->release();
  397. }
  398. else
  399. zeigeNachricht("Das wiederhohlte Passwort stimmt nicht mit dem "
  400. "Passwort überein.");
  401. }
  402. }
  403. return 1;
  404. }
  405. bool Registrierung::registrierungME(
  406. void* obj, MausEreignis me) // MausEreignis im Knopf registrierung
  407. {
  408. if (me.id == ME_RLinks)
  409. {
  410. vorLogin->setRegistrierung();
  411. fenster->addStyle(Fenster::Style::Sichtbar);
  412. registrierung->setRahmenBreite(3);
  413. registrierung->setAlphaFeldFarbe(0xFF000000);
  414. registrierung->setAlphaFeldStrength(20);
  415. Punkt bildchirmGröße
  416. = uiFactory.initParam.bildschirm->getBackBufferSize();
  417. text->removeStyle(TextFeld::Style::Sichtbar);
  418. weiter->setPosition(124, 200);
  419. weiter->setText("Weiter");
  420. fenster->setSize(350, 262);
  421. fenster->setPosition(
  422. bildchirmGröße.x / 2 - 175, bildchirmGröße.y / 2 - 131);
  423. fenster->setTitel("Account erstellen");
  424. name->addStyle(TextFeld::Style::Sichtbar);
  425. passwort->addStyle(TextFeld::Style::Sichtbar);
  426. passwort2->addStyle(TextFeld::Style::Sichtbar);
  427. geheimnis->addStyle(TextFeld::Style::Sichtbar);
  428. eMail->addStyle(TextFeld::Style::Sichtbar);
  429. geburtsdatum->addStyle(TextFeld::Style::Sichtbar);
  430. gbdTag->addStyle(TextFeld::Style::Sichtbar);
  431. gbdMonat->addStyle(TextFeld::Style::Sichtbar);
  432. gbdJahr->addStyle(TextFeld::Style::Sichtbar);
  433. name->addStyle(TextFeld::Style::Fokus);
  434. name->setAuswahl(0, name->zText()->getLength());
  435. }
  436. return 1;
  437. }
  438. void Registrierung::setWeiterReturn(bool ret) // setzt den Weiter Returnwert
  439. {
  440. Punkt bildchirmGröße = uiFactory.initParam.bildschirm->getBackBufferSize();
  441. if (ret)
  442. {
  443. name->removeStyle(TextFeld::Style::Sichtbar);
  444. passwort->removeStyle(TextFeld::Style::Sichtbar);
  445. passwort2->removeStyle(TextFeld::Style::Sichtbar);
  446. geheimnis->removeStyle(TextFeld::Style::Sichtbar);
  447. eMail->removeStyle(TextFeld::Style::Sichtbar);
  448. geburtsdatum->removeStyle(TextFeld::Style::Sichtbar);
  449. gbdTag->removeStyle(TextFeld::Style::Sichtbar);
  450. gbdMonat->removeStyle(TextFeld::Style::Sichtbar);
  451. gbdJahr->removeStyle(TextFeld::Style::Sichtbar);
  452. fenster->setSize(250, 200);
  453. fenster->setPosition(
  454. bildchirmGröße.x / 2 - 125, bildchirmGröße.y / 2 - 100);
  455. fenster->setTitel("Erfolg");
  456. weiter->setPosition(20, 145);
  457. weiter->setText("Ok");
  458. text->setText(
  459. "Dir wurde eine E-Mail mit einem\naktivierungslink "
  460. "zugeschickt,\nden du in den nächsten 12 Stunden\nbenutzen musst.");
  461. text->addStyle(TextFeld::Style::Sichtbar);
  462. }
  463. else if (lastError.getLength())
  464. zeigeNachricht(lastError);
  465. }
  466. // Ereignisse
  467. bool registrierungNameTE(void* p, void* obj, TastaturEreignis te)
  468. {
  469. if (!p) return 0;
  470. return ((Registrierung*)p)->nameTE(obj, te);
  471. }
  472. bool registrierungPasswortTE(void* p, void* obj, TastaturEreignis te)
  473. {
  474. if (!p) return 0;
  475. return ((Registrierung*)p)->passwortTE(obj, te);
  476. }
  477. bool registrierungPasswort2TE(void* p, void* obj, TastaturEreignis te)
  478. {
  479. if (!p) return 0;
  480. return ((Registrierung*)p)->passwort2TE(obj, te);
  481. }
  482. bool registrierungGeheimnisTE(void* p, void* obj, TastaturEreignis te)
  483. {
  484. if (!p) return 0;
  485. return ((Registrierung*)p)->geheimnisTE(obj, te);
  486. }
  487. bool registrierungEMailTE(void* p, void* obj, TastaturEreignis te)
  488. {
  489. if (!p) return 0;
  490. return ((Registrierung*)p)->eMailTE(obj, te);
  491. }
  492. bool registrierungWeiterME(void* p, void* obj, MausEreignis me)
  493. {
  494. if (!p) return 0;
  495. return ((Registrierung*)p)->weiterME(obj, me);
  496. }
  497. bool registrierungRegistrierungME(void* p, void* obj, MausEreignis me)
  498. {
  499. if (!p) return 0;
  500. return ((Registrierung*)p)->registrierungME(obj, me);
  501. }