La conversion de la chaine "" en type 'Boolean' n'est pas valide.

boss69200 Messages postés 9 Date d'inscription mercredi 17 novembre 2010 Statut Membre Dernière intervention 7 juin 2011 - 7 juin 2011 à 16:08
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 20 juin 2011 à 15:13
Bonjour, j'ai un problème, j'ai un programme codé en VB.net qui m'affiche une erreur.

Voici mon code:

Dim Options(), var as string

var = Space(LOF(1))
FileGet(1, var)

If Options(1) = False then
msgbox("test")
Else
msgbox("test 2")
End if

et la commande var est envoyer par un autre programme comme suis:

Dim var As String

If var.Checked = True Then
var = True
Else : var = False
End If

Je ne comprend donc pas le problème, si l'un de vous aurais la sympathie de m'aider a régler ce problème, ce serais super car la j'ai aucune idée de ce qui cause cette erreur.

J'ai tester en mettant Dim var as Boolean dans les deux programmes et j'ai la même erreur.

13 réponses

SebSemos Messages postés 57 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 13 juin 2011 1
7 juin 2011 à 16:15
Une string ne peut pas être Checked, ce sont des optionbutton ou radiobutton qui peuvent avoir la propriété Checked.

Explique un peut plus ce que tu veux faire ;)


_______________________
Imports System.Thinking
'La vie Roxxx un max à qui s'en donne la peine
0
SebSemos Messages postés 57 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 13 juin 2011 1
7 juin 2011 à 16:17
Pardon, primo : "Bonjour"
secondo, edit :
plus généralement, une variable ne peut pas être Checked, qu'elle soit déclarer en string, boolean ou autre


_______________________
Imports System.Thinking
'La vie Roxxx un max à qui s'en donne la peine
0
boss69200 Messages postés 9 Date d'inscription mercredi 17 novembre 2010 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 16:20
Comment dois-je la déclarer? Comme suis?

Dim var, varX as string

var.checked = varX

If varX = True Then
var = True
Else : var = False
End If

Merci de ton aide.
0
boss69200 Messages postés 9 Date d'inscription mercredi 17 novembre 2010 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 16:21
Edit, a l'origine var est une checkbox.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SebSemos Messages postés 57 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 13 juin 2011 1
7 juin 2011 à 16:24
si c'est une checkbox alors il faut passer directement par une instruction du genre :
If nomdelachechbox.checked = true then

pas besoin de variable intermédiaire, et pas besoin de déclarer la checbox, le fait qu'elle soit sur une form suffit

_______________________
Imports System.Thinking
'La vie Roxxx un max à qui s'en donne la peine
0
boss69200 Messages postés 9 Date d'inscription mercredi 17 novembre 2010 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 16:28
Donc dans le programme A qui envois l'instruction au programme B, le code doit ressembler a ceci?:


If nomdelachechbox.checked = true then
var = true
End if

dans le programme B je ne touche a rien, je laisse comme ça:

Dim Options(), var as string

var = Space(LOF(1))
FileGet(1, var)

If Options(1) = False then
msgbox("test")
Else
msgbox("test 2")
End if
0
SebSemos Messages postés 57 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 13 juin 2011 1
7 juin 2011 à 16:33
Pourquoi mettre var = true dans le prog A?

tu peut tout condenser en un seul programme

If nomdelachechbox.checked = true then
     'instruction du programme B
end if


je ne comprend pas le : "var = Space(LOF(1))", sa fait quoi ?
et aussi : "If Options(1) = False" a quoi sa sert ?

_______________________
Imports System.Thinking
'La vie Roxxx un max à qui s'en donne la peine
0
boss69200 Messages postés 9 Date d'inscription mercredi 17 novembre 2010 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 16:53
On m'a dit qu'il fallait mettre ses instructions la: "var = Space(LOF(1))" et "If Options(1) = False" pour exécuter une commande a partir d'un programme A dans un programme B.

Je vais t'expliquer la configuration du problème:

Je suis en réseau et selon les machines je voudrais leurs faire exécuter ou non certaine fonction et leurs données certain droit ou non (aux utilisateurs) j'ai donc eu dans l'idée de créer un programme qui regroupe tout et qui me permet de générer un programme que j'envoie a l'utilisateur, l'utilisateur exécute le programme et fini.

voici le code source que j'ai de A à Z en gros:

Imports System.IO

Public Class Form1
Dim UAC As String
Dim install As String
Const var = "Informatique_Mairie"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If UAC_desactive.Checked = True Then
UAC = True
Else : UAC = False
End If


        Dim saveit As New SaveFileDialog
        If saveit.ShowDialog = Windows.Forms.DialogResult.OK Then
            FileOpen(1, Application.StartupPath & "\install.exe", OpenMode.Binary, OpenAccess.Read, OpenShare.Default)
            install = Space(LOF(1))
            FileGet(1, stub)
            FileClose(1)
            FileOpen(1, saveit.FileName, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)
            FilePut(1, install & var & UAC & var)
            FileClose(1)
        Else
            Exit Sub
        End If
End Sub



Dans le programme install.exe:

Imports System.IO

Public Class Form1
Dim UAC As String
Const var = "Informatique_Mairie"

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        FileOpen(1, Application.ExecutablePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Shared)
UAC = Space(LOF(1))
FileGet(1, UAC)

Options = Split(UAC, var)

        If Options(1) = False Then
        Else
            Dim blaze As RegistryKey
             Try
            blaze = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", True)
            Dim blak As String = blaze.GetValue("EnableLUA").ToString()
            If blak = "1" Then
            blaze.SetValue("EnableLUA", "0")
            End If
                Catch
            End Try
        End If
Me.Close()
End Sub


Je te laisse m'expliquer comment je peut faire un programme a partir de ses deux la car j'en ai vraiment aucune idée. Je débute en VB.net et je voudrais pouvoir l'utilisé pour le parc informatique.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 16:58
Bonjour,
Dim Options(), var as string 

ne type de manière définie que var
2)
si tu écris plus loin :
If Options(1) = False then 

c'est que Options est un tableau dynamique de type boléen, à déclarer donc ainsi :
Dim Options() as Boolean
Et on ne voit pas :
- ni quelles dimensions tu as données à ton tableau,
- ni cpar quoi tu l'as rempli !
Comment pourrait-il alors exister un élément 1 dans ce tableau ?
etc ...
etc ...
=>> code non analysable !


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
boss69200 Messages postés 9 Date d'inscription mercredi 17 novembre 2010 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 17:08
Je ne comprend pas ce que je doit vous donner de plus, je vient de vous donner le code. "UAC_desactive.Checked" est une checkbox.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 17:43
Je ne comprend pas ce que je doit vous donner de plus

Ce que tu dois donner de plus ? ===>> un code cohérent. Ce que n'est pas celui que tu nous montres ! (relis moi)
Et ne sachant même pas ce que tu cherches à faire, nous ne pouvons même pas de suggérer quoi que ce soit !
Que veux-tu que l'on te réponde d'autre ?


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Utilisateur anonyme
20 juin 2011 à 14:11
dim op1 as string

If nomdelachechbox.checked = true then
     op1 = true
end if
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 juin 2011 à 15:13
Bonjour, marc950,

une intervention tardive pour écrire :
dim op1 as string

If nomdelachechbox.checked = true then
op1 = true
end if



Tu aurais pu t'en passer


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Rejoignez-nous