From 7d11099e5afd1f16c811ccbe954a158105be36ab Mon Sep 17 00:00:00 2001 From: Daniel Teichmann Date: Sat, 18 Jul 2020 16:45:50 +0200 Subject: Add pinChange() function --- main.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index 6889e8d..091f649 100644 --- a/main.cpp +++ b/main.cpp @@ -1,8 +1,14 @@ #include #include +#include +#include +#include #include #include +void changePin(QString pin, QQmlApplicationEngine &engine); +void gen_random(char *s, const int len); + int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); @@ -25,5 +31,32 @@ int main(int argc, char *argv[]) if (engine.rootObjects().isEmpty()) return -1; + #define PIN_LENGTH 5 + // The char array in which the random pin will be written to + char rand_pin[PIN_LENGTH+1]; + gen_random(rand_pin, PIN_LENGTH); + changePin(rand_pin, engine); + return app.exec(); } + +void changePin(QString pin, QQmlApplicationEngine &engine){ + QQuickItem *item = engine.rootObjects().at(0)->findChild("pin_text"); + if (item) + item->setProperty("pin", pin); +} + +void gen_random(char *s, const int len) { + // Initialize random generator + srand( static_cast(time(NULL))); + + static const char alphanum[] = + "0123456789" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + for (int i = 0; i < len; ++i) { + s[i] = alphanum[rand() % static_cast(sizeof(alphanum) - 1)]; + } + + s[len] = 0; +} -- cgit v1.2.3