IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Empêcher l'écoute de ports


Sujet :

VB.NET

  1. #1
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut Empêcher l'écoute de ports
    Bonjour,

    Quand j'exécute une application que j'ai faite, le firewall me signale à chaque fois que le logiciel tente d'écouter le port TCP 1289

    Savez-vous pourquoi l'application écoute ce port, et comment l'empêcher de le faire?

    Merci pour votre aide

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Tu ne sais pas ce que fait le code de ta propre application ?

    Tu utilises des fonctions réseaux ? du remoting ? des sockets ? wcf ?

  3. #3
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    Bah si je sais ce que doit faire mon application

    Ca peut paraître évident pour des utilisateurs confirmés, mais pas forcément pour des novices...Dans le code je n'ai rien programmé qui nécessite des connexions réseau pourtant.
    Je ne sais pas ce que sont le remoting, les sockets et wcf, donc je ne pense pas les avoir intégrés dans le code

    Preuve en est que si je refuse la connexion il n'y a aucune incidence sur le fonctionnement de l'application mais le firewall créé une alerte chaque fois que je lance le logiciel.

    Le problème intervient uniquement avec le fichier .exe, mais jamais lorsque je suis en mode pas à pas dans visual studio

  4. #4
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    il fait quoi de "concret" ton programme ?

  5. #5
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    C'est un simple programme qui demande à l'utilisateur de sélectionner parmis des listes de caractères Hiragana/katalana, et suivant un ordre aléatoire l'utilisateur doit déterminer le bon nom du caractère.

    Ca aurait pu être fait plus simplement sous VB6, mais ce dernier n'affiche pas les caractères hiragana dans les labels

  6. #6
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    ça te le fait avec d'autres programmes de ton cru ? tu utilises une lib particulière ?

  7. #7
    Membre chevronné Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 688
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 688
    Points : 1 960
    Points
    1 960
    Par défaut
    Soit, tu nous dis pas tout
    Soit, ca sent un trojan ...
    http://www.seifried.org/security/por...rt_number=1289

  8. #8
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    Bonsoir,

    Euh...non, je pense que si j'étais assez fort pour créer un trojan, je ne m'arracherais pas les cheveux pour essayer programmer sur ce satané VB2008!

    C'est la première application que je fais sous VB2008, donc je ne sais pas si c'est le firewall qui créé des fausses alertes. Mes applications sous VB6 ne posent pas ces problèmes.

    Dès que je peux je vous mettrai le code que j'utilise, parce que là je ne comprends pas!

  9. #9
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Il parlais pas d'un trojan que tu aurai fait, mais d'un trojan qui pourrait être installé sur ton pc.

    Sinon si tu crées d'autre projet vb.net ça le fait aussi ?

  10. #10
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    J'ai fait un essai avec une autre application, le firewall ne créé pas d'alerte.

    Le port écouté change à chaque fois, c'est quelque-chose que je n'avais pas vu. Sur les essais que je viens de faire le firewall me marque : loopback TPC 1657, une autre fois c'est le 1660...

    Je mets le code si des fois il y a quelque-chose qui vous saute aux yeux...


    Dialog1:
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    Imports System.Windows.Forms
     
    Public Class Dialog1
     
        Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Me.DialogResult = System.Windows.Forms.DialogResult.OK
            Me.Close()
        End Sub
     
        Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
            Me.Close()
        End Sub
     
        Private Sub Dialog1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            Form1.MdiParent = Me
            Form2.MdiParent = Me
            Form3.MdiParent = Me
            'form4.MdiParent = Me
            Form5.MdiParent = Me
            Form1.Show()
            adapt_taille_form()
     
     
        End Sub
     
     
        Sub adapt_taille_form()
            'Adapte la teille intérieur de la boîte de dialogue à la teille des forms
            Dim bordure_x As Integer
            Dim bordure_y As Integer
            Dim borduremenu As Integer
            Dim bordurestatusbar As Integer
     
     
            'bordure_x dialog1 = largeur extérieur - largeur intérieur
            bordure_x = Me.Width - ClientSize.Width
            'bordure_y dialog1 = hauteur extérieur - hauteur intérieur
            bordure_y = Me.Height - ClientSize.Height
            'bordure du menu
            borduremenu = MenuStrip1.Height
            'bordure du bordurestatusbar
            bordurestatusbar = StatusStrip1.Height
     
            'Redimensionne dialog1 par rapport à la taille de form1
            Me.Width = bordure_x + Form1.Width + 4
            Me.Height = bordure_y + borduremenu + bordurestatusbar + Form1.Height + 4
     
        End Sub
    Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
            Application.Exit()
        End Sub
     
        Private Sub MSGothicToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MSGothicToolStripMenuItem.Click
            'Police MS Gothic
            MSGothicToolStripMenuItem.Checked = True
            MSMINCHOToolStripMenuItem.Checked = False
            MSUIGothicToolStripMenuItem.Checked = False
            'Déclare la police
            police = "MS Gothic"
     
            modifpolice()
        End Sub
     
        Private Sub MSMINCHOToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MSMINCHOToolStripMenuItem.Click
            'Police MS Mincho
            MSGothicToolStripMenuItem.Checked = False
            MSMINCHOToolStripMenuItem.Checked = True
            MSUIGothicToolStripMenuItem.Checked = False
            'Déclare la police
            police = "MS Mincho"
            modifpolice()
        End Sub
     
        Private Sub MSUIGothicToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MSUIGothicToolStripMenuItem.Click
            'Police MS UI Gothic
            MSGothicToolStripMenuItem.Checked = False
            MSMINCHOToolStripMenuItem.Checked = False
            MSUIGothicToolStripMenuItem.Checked = True
            'Déclare la police
            police = "MS UI Gothic"
            modifpolice()
        End Sub
     
        Sub modifpolice()
            'Modifie la police du label1 des caractères affichés
            Form2.Label1.Font = New System.Drawing.Font(police, 48.0!)
        End Sub
     
     
        Private Sub AProposToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AProposToolStripMenuItem.Click
            'Affiche message "A propos"
            'Form1.Hide()
            form5.show()
        End Sub
     
     
    End Class
    Form1:
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    Public Class Form1
     
        Private Sub CheckBoxhiragana_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            'If CheckBoxhiragana.Checked = True Then
            'CheckBoxkatakana.Checked = False
            'End If
        End Sub
     
        Private Sub CheckBoxkatakana_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            'If CheckBoxkatakana.Checked = True Then
            'CheckBoxhiragana.Checked = False
            ' End If
        End Sub
     
     
        Sub initform1()
     
            Dim c As Control 'déclaration pour vérifier le typed de contrôle
            Dim chck As CheckBox 'déclaration pour manipuler les checkbox
     
            'Décoche les checkbox
            For Each c In Panel1.Controls
                'vérifie si c'est une checkbox ou un simple trait
                If TypeOf c Is CheckBox Then
     
                    chck = DirectCast(c, CheckBox)
     
                    'Décoche toutes les checkbox de panel1
                    chck.Checked = False
                End If
            Next
     
            CheckBoxhiragana.Checked = True
            CheckBoxkatakana.Checked = False
            CheckBoxtous.Checked = False
     
     
            Dim lbl As Label 'déclaration pour manipuler les labels
     
            'Enlève la couleur des listes
            For Each c In Panel2.Controls
                'vérifie si c'est un label ou un simple trait
                If TypeOf c Is Label Then
     
                    lbl = DirectCast(c, Label)
     
                    'Met en blanc les labels de panel2
                    lbl.ForeColor = Color.White
                End If
            Next
     
        End Sub
        Sub couleurlistes()
            'Met en rouge les labels des listes
            Dim c As Control 'déclaration pour vérifier le typed de contrôle
            Dim lbl As Label 'déclaration pour manipuler les labels
     
            'Met en couleur les listes
            For Each c In Panel2.Controls
                'vérifie si c'est un label ou un simple trait
                If TypeOf c Is Label Then
     
                    lbl = DirectCast(c, Label)
     
                    'Vérifie si la checkbox tous les contrôles est cochée
                    If CheckBoxtous.Checked = True Then
                        'Met en rouge les labels de panel2
                        lbl.ForeColor = Color.Red
                    Else
                        'Met en blanc les labels de panel2
                        lbl.ForeColor = Color.White
                    End If
                End If
            Next
     
        End Sub
     
        Sub cliccheckbox()
     
            Dim c As Control 'déclaration pour vérifier le typed de contrôle
            Dim chck As CheckBox 'déclaration pour manipuler les checkbox
     
            'coche les checkbox
            For Each c In Panel1.Controls
                'vérifie si c'est une checkbox ou un simple trait
                If TypeOf c Is CheckBox Then
     
                    chck = DirectCast(c, CheckBox)
     
                    'Vérifie si la checkbox tous les contrôles est cochée
                    If CheckBoxtous.Checked = True Then
                        'Coche toutes les checkbox de panel1
                        chck.Checked = True
                    Else
                        'Décoche toutes les checkbox de panel1
                        chck.Checked = False
                    End If
                End If
            Next
     
        End Sub
     
        Sub veriftous()
            Dim c As Control 'déclaration pour vérifier le typed de contrôle
            Dim chck As CheckBox 'déclaration pour manipuler les checkbox
            Dim tous As Boolean 'Déclaration pour cocher/décocher case tous
            'après sélection unitaire des checkbox
     
            'Déclare par défaut que toutes les checkbox sont cochées
            tous = True
     
            For Each c In Panel1.Controls
                'vérifie si c'est une checkbox ou un simple trait
                If TypeOf c Is CheckBox Then
     
                    chck = DirectCast(c, CheckBox)
     
                    'Vérifie si la checkbox est décochée
                    If chck.Checked = False Then
                        'Toutes les checkbox sont cochées
                        tous = False
                    End If
                End If
            Next
     
            'Si toutes les checkbox sont cochées ou décochées
            'coche ou décoche la checkboxtous
            If tous = True Then
                CheckBoxtous.Checked = True
            Else
                CheckBoxtous.Checked = False
            End If
     
     
        End Sub
     
     
        Sub couleurunitaire()
            'Met en couleur les listes unitairement
            Dim c As Control
     
            For Each c In Panel2.Controls
     
                If c.Name = nom Then
                    If valeur = True Then
                        c.ForeColor = Color.Red
                        Exit For
                    Else
                        c.ForeColor = Color.White
                        Exit For
                    End If
                End If
            Next
        End Sub
     
        Sub verifcasecochee()
            'Vérifie qu'une case au minimum est cochée avant lancement de l'application
            'Et création des listes sélectionnées
     
            Dim c As Control 'déclaration pour vérifier le typed de contrôle
            Dim chck As CheckBox 'déclaration pour manipuler les checkbox
            'après sélection unitaire des checkbox
     
            'Déclare par défaut que toutes les checkbox sont cochées
            casecochee = False
            'Déclare par défaut la première ligne du tableau
            lig = -1
     
            For Each c In Panel1.Controls
                'vérifie si c'est une checkbox ou un simple trait
                If TypeOf c Is CheckBox Then
     
                    chck = DirectCast(c, CheckBox)
     
                    'Vérifie si la checkbox est décochée
                    If chck.Checked = True Then
                        'Au moins une checkbox est cochée
                        casecochee = True
                        'Exit For
     
                        'Ajoute la série à la liste des caractères à traiter
                        nom = c.Name
                        'Lance la macro de création de la liste
                        creationliste()
                    End If
                End If
            Next
     
        End Sub
        Sub transfert()
            'transfère les listes dans le tableau
            Dim nbcar As Integer
     
            'Détermine le nombre de caractères dans la liste
            'divise par 2 car romaji et hiragana ou katakana sont à la suite dans la même liste
     
            If series = 1 Then
                nbcar = ((UBound(listetemp) + 1) / 2)
            ElseIf series = 2 Then
                nbcar = ((UBound(listetemp2) + 1) / 2)
            ElseIf series = 3 Then
                nbcar = ((UBound(listetemp) + 1) / 2 + (UBound(listetemp2) + 1) / 2)
            End If
     
            'Redimensionne le tableau
            ReDim Preserve tableau(1, lig + nbcar)
     
     
            If series = 1 Then
                'Copie les hiragana
                For i = 0 To nbcar - 1
                    lig = lig + 1
                    'Romaji
                    tableau(0, lig) = listetemp(i)
                    'Hiragana
                    tableau(1, lig) = listetemp(i + ((UBound(listetemp) + 1) / 2))
                Next
            ElseIf series = 2 Then
                'Copie les katakana
                For i = 0 To nbcar - 1
                    lig = lig + 1
                    'Romaji
                    tableau(0, lig) = listetemp2(i)
                    'Hiragana
                    tableau(1, lig) = listetemp2(i + ((UBound(listetemp2) + 1) / 2))
                Next
            ElseIf series = 3 Then
                'Copie les hiragana
                For i = 0 To (nbcar / 2) - 1
                    lig = lig + 1
                    'Romaji
                    tableau(0, lig) = listetemp(i)
                    'Hiragana
                    tableau(1, lig) = listetemp(i + ((UBound(listetemp) + 1) / 2))
                Next
                'Copie les katakana
                For i = 0 To (nbcar / 2) - 1
                    lig = lig + 1
                    'Romaji
                    tableau(0, lig) = listetemp2(i)
                    'Hiragana
                    tableau(1, lig) = listetemp2(i + ((UBound(listetemp2) + 1) / 2))
                Next
     
            End If
     
     
        End Sub
     
        Sub creationliste()
            'Création de la liste des caractères à traiter
     
            listetemp = New String() {}
            listetemp2 = New String() {}
     
            'Récupère le N° de checkbox pour déterminer le N° de label
            'substring remplace la fonction right
            'Démarre au 8ème caractère, soit après checkbox et prend les chiffres restants
            Select Case nom.Substring(8)
                Case 1 'checkbox1/label1
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"A", "I", "U", "E", "O", "あ", "い", "う", "え", "お"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"A", "I", "U", "E", "O", "ア", "イ", "ウ", "エ", "オ"}
                    End If
                Case 2 'checkbox2/label2
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"KA", "KI", "KU", "KE", "KO", "か", "き", "く", "け", "こ"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"KA", "KI", "KU", "KE", "KO", "カ", "キ", "ク", "ケ", "コ"}
                    End If
                Case 3 'checkbox/label3
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"SA", "SHI", "SU", "SE", "SO", "さ", "し", "す", "せ", "そ"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"SA", "SHI", "SU", "SE", "SO", "サ", "シ", "ス", "セ", "ソ"}
                    End If
                Case 4 'checkbox/label4
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"TA", "CHI", "TSU", "TE", "TO", "た", "ち", "つ", "て", "と"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"TA", "CHI", "TSU", "TE", "TO", "タ", "チ", "ツ", "テ", "ト"}
                    End If
                Case 5 'checkbox/label5
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"NA", "NI", "NU", "NE", "NO", "な", "に", "ぬ", "ね", "の"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"NA", "NI", "NU", "NE", "NO", "ナ", "ニ", "ヌ", "ネ", "ノ"}
                    End If
                Case 6 'checkbox/label6
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"HA", "HI", "FU", "HE", "HO", "は", "ひ", "ふ", "へ", "ほ"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"HA", "HI", "FU", "HE", "HO", "ハ", "ヒ", "フ", "ヘ", "ホ"}
                    End If
                Case 7 'checkbox/label7
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"MA", "MI", "MU", "ME", "MO", "ま", "み", "む", "め", "も"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"MA", "MI", "MU", "ME", "MO", "マ", "ミ", "ム", "メ", "モ"}
                    End If
                Case 8 'checkbox/label8
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"YA", "YU", "YO", "や", "ゆ", "よ"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"YA", "YU", "YO", "ヤ", "ユ", "ヨ"}
                    End If
                Case 9 'checkbox/label9
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"RA", "RI", "RU", "RE", "RO", "ら", "り", "る", "れ", "ろ"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"RA", "RI", "RU", "RE", "RO", "ラ", "リ", "ル", "レ", "ロ"}
                    End If
                Case 10 'checkbox/label10
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"WA", "WO", "わ", "を"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"WA", "WO", "ワ", "ヲ"}
                    End If
                Case 11 'checkbox/label11
                    If series <> 2 Then 'hiragana
                        listetemp = New String() {"N", "ん"}
                    End If
                    If series <> 1 Then 'Katakana
                        listetemp2 = New String() {"N", "ン"}
                    End If
            End Select
     
            'transfère dans le tableau
            transfert()
     
        End Sub
     
        Sub melangeliste()
     
            Dim num As Integer
            Dim ligne As Integer
            Dim doublon As Boolean
     
     
            ligne = -1
     
            If nbcaracteres = 1 Then 'Si un seul caractère dans la liste
                '--> pas besoin de tirage au sort
                tableaumelange(0, 0) = 1
     
            Else 'Sinon tirage au sort
                'Tant que la liste mélangée est inférieure au nombre de caractères
                Do While (tableaumelange.Length / 3) < nbcaracteres
                    'Si doublon, n'incrémente pas de ligne et refait un tirage
                    If doublon = True Then
                        doublon = False
                    Else
                        ligne = ligne + 1
                    End If
     
                    'Tirage au sort
                    Randomize()
                    num = Int((nbcaracteres * Rnd()) + 1)
     
                    'Vérifie que le nombre n'est pas présent dans tableaumelange
                    For j = 1 To tableaumelange.Length / 3
                        If tableaumelange(0, j - 1) = num Then
                            doublon = True
                        End If
                    Next
     
                    'Ajoute le nombre à tableaumelange si ce n'est pas un doublon
                    If doublon = False Then
                        ReDim Preserve tableaumelange(2, ligne)
                        tableaumelange(0, ligne) = num
                    End If
     
                Loop
     
            End If
     
     
            'Copie les caractères de tableau vers tableaumelange en fonction du tirage au sort
     
            For i = 1 To tableaumelange.Length / 3
                ligne = tableaumelange(0, (i - 1)) - 1
                tableaumelange(1, i - 1) = tableau(0, ligne) 'Romaji
                tableaumelange(2, i - 1) = tableau(1, ligne) 'Hiragana ou Katakana
            Next
     
        End Sub
     
        Private Sub CheckBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label1"
            valeur = CheckBox1.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox2.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label2"
            valeur = CheckBox2.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox3.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label3"
            valeur = CheckBox3.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox4.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label4"
            valeur = CheckBox4.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox5_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox5.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label5"
            valeur = CheckBox5.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox6_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox6.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label6"
            valeur = CheckBox6.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox7_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox7.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label7"
            valeur = CheckBox7.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox8_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox8.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label8"
            valeur = CheckBox8.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox9_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox9.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label9"
            valeur = CheckBox9.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox10_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox10.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label10"
            valeur = CheckBox10.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub CheckBox11_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox11.Click
            'lance la macro veriftous pour cocher ou décocher la case tous
            veriftous()
     
            'Déclare le nom du textbox à colorer
            nom = "Label11"
            valeur = CheckBox11.Checked
            couleurunitaire()
     
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            'Réinitialise les tableaux car ils gardent en mémoire l'ancien tirage
            ReDim tableau(0 To 1, 0 To 0)
            ReDim tableaumelange(0 To 2, 0 To 0)
     
            'Détermine les séries sélectionnées
            '1=Hiragana, 2=katakana, 3=Hiragana+Katakana
            series = 0
            If CheckBoxhiragana.Checked = True Then
                series = series + 1
            End If
            If CheckBoxkatakana.Checked = True Then
                series = series + 2
            End If
     
            'Lance la macro pour vérifier qu'une case au minimum est cochée
            verifcasecochee()
            If casecochee = False Then
                'Affiche le message d'erreur
                Form3.Show()
                'Attend tant que le message d'erreur est affiché
                Do
                    Application.DoEvents()
                Loop Until Form3.Visible = False
                'Sort de la macro
                Exit Sub
            End If
     
            'compte nombre de caractères à traiter
            nbcaracteres = tableau.Length / 2
     
            'Création de la liste mélangée
            melangeliste()
     
            'initialise form1 pour qu'il soir clean lors du retour sur la page
            initform1()
     
            'Masque form1
            'Me.Hide()
            'Affiche form2. 
            Form2.Show()
            Form2.initform2()
     
     
        End Sub
     
     
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            'Quitte l'application
            Application.Exit()
        End Sub
     
        Private Sub CheckBoxtous_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxtous.CheckedChanged
     
        End Sub
     
        Private Sub CheckBoxtous_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBoxtous.Click
            'Lance la macro pour mettre en couleur les labels des listes
            couleurlistes()
            'Lance la macro pour cocher toutes les checkbox
            cliccheckbox()
        End Sub
     
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
        End Sub
    End Class
    Form2:
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    Public Class Form2
     
        'Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '    initform2()
        'End Sub
     
        Sub initform2()
     
     
            'Masque les controles
            Labelresultat.Visible = False
            Labelresultat1.Visible = False
            Buttonsuivant.Visible = False
            'Affiche les controles
            Label3.Visible = True
            TextBox1.Visible = True
            Buttonverifier.Visible = True
            'Positionne les boutons de commande
            Buttonsuivant.Left = 225
            Buttonsuivant.Top = 311
            Buttonverifier.Left = 225
            Buttonverifier.Top = 311
            'Positionne les textbox
            TextBox1.Left = 225
            TextBox1.Top = 269
            'Positionne les labels
            Label3.Left = 178
            Label3.Top = 240
            Labelresultat.Left = 225
            Labelresultat.Top = 269
            Labelresultat1.Left = 225
            Labelresultat1.Top = 240
            'Affiche caractère en cours
            Labelencours.Text = "1/" & nbcaracteres
            'Affiche le premier caractère dans la textbox
            Label1.Text = tableaumelange(2, 0)
            'Déclare le nb en cours dans la liste
            nbencours = 1
            'Remet à 0 le nb d'erreurs
            Labelerreurs.Text = "0"
            'Remet à 0 le nb d'erreurs
            nberreurs = 0
            'Efface la textbox
            TextBox1.Text = ""
            'Met le curseur dans la textbox
            TextBox1.Focus() 'ou bien avec TextBox1.Select()
            'Initialise la variable serieterminee
            terminee = False
     
        End Sub
     
        Private Sub Buttonverifier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonverifier.Click
     
            'Vérification du nom de caractère saisi
            verifier()
     
        End Sub
     
        Sub verifier()
            'Vérification du nom de caractère saisi
     
            'Affiche les controles
            Labelresultat.Visible = True
            Labelresultat1.Visible = True
            Buttonsuivant.Visible = True
            'Masque les controles
            Label3.Visible = False
            TextBox1.Visible = False
            Buttonverifier.Visible = False
     
            'Met en majuscule les caractères saisis
            TextBox1.Text = UCase(TextBox1.Text)
     
            'Affiche le bon résultat dans le labelresultat
            Labelresultat.Text = tableaumelange(1, nbencours - 1)
     
            If TextBox1.Text = tableaumelange(1, nbencours - 1) Then 'Résultat Juste
                Labelresultat.BackColor = Color.Green
                'Affiche correct dans la liste pour suppression à la fin pour traiter les erreurs
                tableaumelange(0, nbencours - 1) = "correct"
     
            Else 'Résultat faux
                Labelresultat.BackColor = Color.Red
                'Incrémente le nombre d'erreurs
                nberreurs = nberreurs + 1
                'Affiche le nb d'erreurs dans le labelerreurs
                Labelerreurs.Text = nberreurs
            End If
     
            'Vérifie si la série est terminée
            If nbencours = nbcaracteres Then
                terminee = True
                'serieterminee()
                'Ré-initialise le form2 pour redémarrage de la série d'erreurs
                'initform2()
                'Exit Sub
            End If
     
            'Efface la textbox1
            TextBox1.Text = ""
            'Affiche le bouton suivant
            Buttonsuivant.Visible = True
            'Masque le bouton vérifier
            Buttonverifier.Visible = False
     
        End Sub
     
        Sub serieterminee()
            Dim positionx As Integer 'position du label pour le centrer sur la form
            Dim positionform4x As Integer 'pour centrer form4 sur form2 en x
            Dim positionform4y As Integer 'pour centrer form4 sur form2 en y
     
            If nberreurs > 0 Then
     
                If nberreurs = 1 Then
                    form4.Label1.AutoSize = True
                    form4.Label1.Text = "Vous avez fait " & nberreurs & " erreur!" & _
                               Chr(10) & "Voulez-vous refaire le caractère non trouvé?"
                    'Détermine la position du label
                    positionx = ((form4.Width - form4.Label1.Width) / 2) - 4
                    form4.Label1.Location = New Point(positionx, 25)
     
     
                Else
                    form4.Label1.AutoSize = True
                    form4.Label1.Text = "Vous avez fait " & nberreurs & " erreurs!" & _
                                   Chr(10) & "Voulez-vous refaire les caractères non trouvés?"
                    'Détermine la position du label
                    positionx = ((form4.Width - form4.Label1.Width) / 2) - 4
                    form4.Label1.Location = New Point(positionx, 25)
     
                End If
     
     
                'Détermine la position de form4 centré sur form2
                positionform4x = (Form3.Width - form4.Width) / 2
                positionform4y = (Form3.Height - form4.Height) / 2
                form4.Location = New Point(positionform4x, positionform4y)
     
                'Affiche le message de confirmation
                form4.ShowDialog()
                'Attend tant que le message de confirmation est affiché
                Do
                    Application.DoEvents()
                Loop Until form4.Visible = False
     
                If reponse = "Oui" Then
     
                    'Incrémente le nombre d'erreurs totales
                    nberreurstotal = nberreurstotal + nberreurs
                    nberreurs = 0
                    'Création d'une liste temporaire
                    Dim listeerreurstemporaire(2, 0)
                    Dim r As Integer
                    r = -1
     
                    'Vérifie si le caractère est <> correct
                    For i = 1 To nbcaracteres
                        If tableaumelange(0, i - 1) <> "correct" Then
                            r = r + 1
                            'copie dans liste temporaire
                            ReDim Preserve listeerreurstemporaire(2, r)
                            listeerreurstemporaire(0, r) = tableaumelange(0, i - 1)
                            listeerreurstemporaire(1, r) = tableaumelange(1, i - 1)
                            listeerreurstemporaire(2, r) = tableaumelange(2, i - 1)
                        End If
                    Next
     
                    'Redéclare le nombre de caractères à traiter
                    nbcaracteres = listeerreurstemporaire.Length / 3
                    'remet à 0 la liste mélangée
                    ReDim tableaumelange(2, 0)
                    'Recopie le tableau temporaire dans tableaumelange
                    For i = 1 To nbcaracteres
                        ReDim Preserve tableaumelange(2, i - 1)
                        tableaumelange(0, i - 1) = listeerreurstemporaire(0, i - 1)
                        tableaumelange(1, i - 1) = listeerreurstemporaire(1, i - 1)
                        tableaumelange(2, i - 1) = listeerreurstemporaire(2, i - 1)
                    Next
     
                ElseIf reponse = "Non" Then
                    'Retour à la page d'accueil
                    Form1.Show()
                    'ferme la form2
                    Me.Hide()
     
                End If
     
     
            ElseIf nberreurs = 0 Then
     
                'Si aucune erreur sur toute la série
                If nberreurstotal = 0 Then
                    MsgBox("La série est terminée" & _
                               Chr(10) & "Vous n'avez fait aucune erreur!")
                ElseIf nberreurstotal > 0 Then
                    MsgBox("La série est terminée" & _
                               Chr(10) & "Vous avez fait " & nberreurstotal & " erreur(s)!")
                End If
     
                'Retour à la page d'accueil
                Form1.Show()
                'ferme la form2
                Me.Close()
            End If
        End Sub
     
     
        Private Sub Buttonsuivant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonsuivant.Click
            'Affiche caractère suivant
            suivant()
        End Sub
     
        Sub suivant()
            'Affiche caractère suivant
     
            If terminee = True Then
                serieterminee()
                'Ré-initialise le form2 pour redémarrage de la série d'erreurs
                initform2()
                Exit Sub
            End If
     
     
            'Masque les controles
            Labelresultat.Visible = False
            Labelresultat1.Visible = False
            Buttonsuivant.Visible = False
            'Affiche les controles
            Label3.Visible = True
            TextBox1.Visible = True
            Buttonverifier.Visible = True
     
            'Déclare le nb en cours dans la liste
            nbencours = nbencours + 1
            'Affiche caractère en cours
            Labelencours.Text = nbencours & "/" & nbcaracteres
            'Affiche le caractère suivant dans la textbox
            Label1.Text = tableaumelange(2, nbencours - 1)
            'Masque le bouton "Suivant"
            Buttonsuivant.Visible = False
            'Affiche le bouton vérifier
            Buttonverifier.Visible = True
            'Met le curseur sur la textbox
            TextBox1.Focus() 'ou bien avec TextBox1.Select()
     
     
        End Sub
     
        Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
            'Si touche entrée au clavier
            If e.KeyChar = ChrW(13) Then
                Buttonverifier_Click(Buttonverifier, Nothing)
            End If
        End Sub
     
     
        'Private Sub Form2_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
        '    initform2()
     
        'End Sub
     
        Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
        End Sub
    End Class
    Form3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Class Form3
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Close()
        End Sub
     
        Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
        End Sub
    End Class
    Form4:
    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
    Public Class form4
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            reponse = "Oui"
            Me.Close()
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            reponse = "Non"
            Me.Close()
        End Sub
     
     
        Private Sub form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
        End Sub
    End Class
    Form5:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Class Form5
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Hide()
            Form1.Show()
        End Sub
     
        Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
        End Sub
    End Class
    Module1:
    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
    Module Module1
     
        Public tableau(0 To 1, 0 To 0) 'Listes avant mélange
        Public tableaumelange(0 To 2, 0 To 0) As String 'comprend tirage au sort et liste à traiter
        Public nom As String 'nom du checkbox à mettre en couleur unitairement
        Public valeur As Boolean 'checkbox coché ou non
        Public listetemp 'liste temporaire hiragana
        Public listetemp2 'liste temporaire katakana
        Public lig As Integer 'ligne dans le tableau
        Public col As Integer 'colonne dans tableau
        Public series As String '1=Hiragana, 2=katakana, 3=Hiragana+Katakana
        Public nbcaracteres As Integer 'nb total de caractères à traiter
        Public nbencours As Integer 'Nb en cours dans la liste
        Public nberreurs As Integer 'Nb d'erreurs
        Public nberreurstotal As Integer 'Nb d'erreurs pour refaire les caractères non trouvés
        Public casecochee As Boolean 'si aucune case cochée dans form1
        Public police As String 'Pour modification de la police des caractères
        Public reponse As String
        Public terminee As Boolean 'Série terminée
    End Module

  11. #11
    Membre chevronné Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 688
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 688
    Points : 1 960
    Points
    1 960
    Par défaut
    C'etait pas la peine de poster TOUT le code, mais la partie qui fait tes appels.
    Execute ton code au pas a pas et la ca sera interessant et productif.

  12. #12
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    Le problème arrive que quand j'exécute le programme complié, mais pas en pas à pas dans visual studio.

    Est-ce qu'il y a moyen de suivre ce qui déclenche le message du firewall à partir du point exe?

  13. #13
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Pur hasard, si tu enlèves l'utilisation des caractères spéciaux (dans "creationliste" ou autre, les hiragana et katakana) ça le fait toujours ?

  14. #14
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    J'aurai accès à mon pc sur lequel j'ai VB2008 dans une semaine. J'essayerai de remplacer les caractères exotiques et je te dirai si ça a une incidence.

    Merci

Discussions similaires

  1. Inclure un programme d'écoute de port dans une Applet
    Par Baltha83 dans le forum Applets
    Réponses: 0
    Dernier message: 12/04/2012, 09h29
  2. Réponses: 4
    Dernier message: 21/11/2011, 22h54
  3. Écoute de ports
    Par thomasg44 dans le forum Général Java
    Réponses: 10
    Dernier message: 17/02/2009, 22h52
  4. [Sécurité] PHP et l'écoute de port
    Par Qamalito dans le forum Langage
    Réponses: 9
    Dernier message: 25/06/2007, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo