Bonjour,

J'ai fais une expression régulière pour vérifier la forme d'un groupe multicast : 239.0.0.0 mais ça ne fonctionne pas à chaque fois que j'essaye d'entrer un groupe la vérification plante! voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
// Le constructeur
DialogSender::DialogSender(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::DialogSender)
{
    ui->setupUi(this);
 
    /************** Validation du respect de la forme du groupe et du port via des Regex *********/
 
    QRegExp regExpGroupe("^[\d]{2, 3}\.");
    regGroupe = regExpGroupe;
}
 
// la méthode pour vérifier si c'est bon ou pas
void DialogSender::ajouterGroupe()
{
    qDebug("ajouterGroupe()");
 
    QString entreTexte = ui->lineEditGroupe->text();
 
    if (entreTexte.contains(regGroupe))
    {
        QMessageBox::information (this, tr("Producteur"), tr("Valide !"));
 
        _groupAddress = QHostAddress(adresseGroupe());
        _port         = port();
        ui->labelStatus->setText(tr("Prêt à la multidiffusion du groupe %1").arg(_groupAddress.toString()));
        ui->labelStatutProt->setText(tr("Port : %1").arg(_port.toUShort()));        
    }
    else
    {
        QMessageBox::warning(this, tr("Producteur"), "Une erreur est survenue dans la forme du groupe ou du port !\n" +
                                                     entreTexte + " n'est pas valide !\n");
        ui->lineEditGroupe->clear();
        ui->lineEditPort->clear();        
    }
 
}
Deux chose, je doute sur la vérification et sur l'expression régulière !!

Merci d'avance !