Καλησπέρα, έχω αυτό το condition
και χρησιμοποιείται σε πάνω από 2 φορές στον κώδικα. Θα ήθελα να έχω ένα alias (πχ QRegCondition) και να το χρησιμοποιώ έτσι στις if-else.Κώδικας:if (lineEdit->text().contains( QRegularExpression( "[0-9]" ) ) || lineEdit->text().contains( QRegularExpression( "[[:punct:]]" ) ) || lineEdit->text().contains( QRegularExpression( "[[:space:]]" ) ) )
Μόνη λύση που κατάφερα είναι με το define
αλλά, ε είναι η γνωστή define.Κώδικας:#define QRegCondition (lineEdit->text().contains( QRegularExpression( "[0-9]" ) ) || lineEdit->text().contains( QRegularExpression( "[[:punct:]]" ) ) || lineEdit->text().contains( QRegularExpression( "[[:space:]]" ) ) )
Δεν βρήκα τρόπο με typedef ή using. Ξέρει κανείς αν μπορώ και αν πρέπει γενικά να κάνω alias και με ποιον τρόπο;
Ευχαριστώ.
Εμφάνιση 1-4 από 4
-
23-01-19, 14:58 Alias στην c++ για condition - υπέρδιπλο σεντόνι που επαναλαμβάνεται #1
Τελευταία επεξεργασία από το μέλος petran_18 : 23-01-19 στις 15:07.
Με ΜΑΤ και βία δεν βγαίνει πανδημία, Μιχαλάκη και Κούλη.
-
24-01-19, 11:06 Απάντηση: Alias στην c++ για condition - υπέρδιπλο σεντόνι που επαναλαμβάνεται #2
Υπάρχει κάποιος λόγος που δεν τα χεις όλα σε ένα regexp;
Πχ το
Κώδικας:lineEdit->text().contains(QRegularExpression( "[[:digit:][:punct:][:space]]" )
Και η #define σε αυτήν την περίπτωση είναι μια χαρά.
-
24-01-19, 21:56 Απάντηση: Alias στην c++ για condition - υπέρδιπλο σεντόνι που επαναλαμβάνεται #3
-
25-01-19, 15:08 Απάντηση: Alias στην c++ για condition - υπέρδιπλο σεντόνι που επαναλαμβάνεται #4
Επίσης γενικά τις regular expressions καλό είναι να τις ορίζουμε σε κάποιο σύμβολο αρχικά
Κώδικας:QRegularExpression re("[[:digit:][:punct:][:space:]]");
Κώδικας:lineEdit->text().contains(re) ...
μικραίνει την γραμμή σε:
Κώδικας:lineEdit->text().contains(re)
Bookmarks