Dim lignes As String() = (My.Resources._VAR_PAYS_PL).Split(vbCrLf) Dim idLigne As Integer = 0 For Each ligne As String In lignes Mot = "" For i = 1 To ligne.Length Ch = Mid(ligne, i, 1) If Ch = "*" Then If Mot1 = "" Then TabPaysLang(idLigne, 0) = Mot Mot = "" ElseIf Mot2 = "" Then TabPaysLang(idLigne, 1) = Mot Mot = "" End If Else Mot = Mot & Ch End If TabPaysLang(idLigne, 2) = Mot Next MessageBox.Show(Mot1 & " " & Mot2 & " " & Mot3) idLigne += 1 Next
For Each Word In Words 'bugue ici : If X 1 Then TabPaysLang(i, 1) Word If X 2 Then TabPaysLang(i, 2) Word If X 3 Then TabPaysLang(i, 3) Word next
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionFor Each Word As String In Words If X 1 Then TabPaysLang(i, 1) Word If X 2 Then TabPaysLang(i, 2) Word If X 3 Then TabPaysLang(i, 3) Word X = X + 1 Next Word
For Each Word As String In Words TabPaysLang(i, X) = Word Next Word
For Each Word As String In Words TabPaysLang(i, X) = Word X = X + 1 Next Word
'J'ai changé Words en dWords et Word en dWord pour voir Dim dWords() As String 'tableau déclaré dans la sub pour que ce soit + clair Dim TabLangPays(137, 3) As Object Dim FileString As String = String.Empty Dim f As String = My.Application.Info.DirectoryPath & "\_VAR_PAYS_PL.txt" If File.Exists(f) Then System.IO.File.WriteAllText(f, My.Resources._VAR_PAYS_PL) Else MessageBox.Show("Fichier des Pays -> Langues impossible à trouver..." & vbCrLf & "Désolé...") Exit Sub End If Dim fr As New System.IO.StreamReader(CStr(f)) Dim i% For i = 1 To 137 FileString = fr.ReadLine If FileString = "" Then Exit For dWords = Split(FileString, "*") X = 1 For Each dWord In dWords ' 'toujours l'erreur ici : If X 1 Then TabPaysLang(i, 1) dWord If X 2 Then TabPaysLang(i, 2) dWord If X 3 Then TabPaysLang(i, 3) dWord X = X + 1 Next dWord Next
'Je charge toutes les lignes du fichier texte qui est en ressource (_VAR_PAYS_PL.txt) Dim lignes As String() = (My.Resources._VAR_PAYS_PL).Split(vbCrLf) Dim idLigne As Integer = 1 For Each ligne As String In lignes 'Pour chaque ligne, je sépare les mots Dim X As Integer = 1 Dim words As String() = ligne.Split("*") For Each word As String In words 'Les mots sont placés dans le tableau TabPaysLang(idLigne, X) = word 'Mot suivant X += 1 Next 'Ligne suivante idLigne += 1 Next
Words = Split(FileString, "*")
dim words() as string dim machaine as string machaine = "comment allez vous" words = machaine.split(" ")
Dim TabPaysLang(137,3) as string Dim dWords() As String Dim dWord As String Dim FileString As String = String.Empty Dim f As String = My.Application.Info.DirectoryPath & "\_VAR_PAYS_PL.txt" If File.Exists(f) Then System.IO.File.WriteAllText(f, My.Resources._VAR_PAYS_PL) Else MessageBox.Show("Fichier des Pays -> Langues impossible à trouver..." & vbCrLf & "Désolé...") Exit Sub End If Dim fr As New System.IO.StreamReader(CStr(f)) Dim i% For i = 1 To 137 FileString = fr.ReadLine If FileString = "" Then Exit For dWords = FileString.Split("*") X = 1 For Each dWord In dWords TabPaysLang(i, X) = dWord X = X + 1 Next dWord Next i
Dim TabPaysLang(137,3) as string
Dim TabPaysLang(0 to 136,0 to 2) as string Dim dWords() As String Dim dWord As String Dim FileString As String = String.Empty Dim f As String = My.Application.Info.DirectoryPath & "\_VAR_PAYS_PL.txt" If File.Exists(f) Then System.IO.File.WriteAllText(f, My.Resources._VAR_PAYS_PL) Else MessageBox.Show("Fichier des Pays -> Langues impossible à trouver..." & vbCrLf & "Désolé...") Exit Sub End If Dim fr As New System.IO.StreamReader(CStr(f)) Dim i% For i = 0 To 136 FileString = fr.ReadLine If FileString = "" Then Exit For dWords = FileString.Split("*") X = 0 For Each dWord In dWords TabPaysLang(i, X) = dWord X = X + 1 Next dWord Next i
For Each dWord In dWords TabPaysLang(i, X) = dWord X = X + 1 Next dWord
'Je charge toutes les lignes du fichier texte qui est en ressource (_VAR_PAYS_PL.txt) Dim lignes As String() = (My.Resources._VAR_PAYS_PL).Split(vbCrLf) Dim idLigne As Integer = 1 '0 serait plus judicieux , mais bon ... For Each ligne As String In lignes 'Pour chaque ligne, je sépare les mots Dim X As Integer = 1 '0 serait plus judicieux , mais bon ... Dim words As String() = ligne.Split("*") For Each word As String In words 'Les mots sont placés dans le tableau TabPaysLang(idLigne, X) = word 'Mot suivant X += 1 Next 'Ligne suivante idLigne += 1 Next
L'exception System.NullReferenceException n'a pas été gérée
Message=La référence d'objet n'est pas définie à une instance d'un objet.
Source=ASE
StackTrace:
à ASE.Options.ChargeTabPaysLang() dans D:\--- PROJETS\VB10\ASE\ASE\Options.vb:ligne 114
à ASE.Options.ChargeListLang(Int32 Sens) dans D:\--- PROJETS\VB10\ASE\ASE\Options.vb:ligne 211
à ASE.Options.Options_Load(Object sender, EventArgs e) dans D:\--- PROJETS\VB10\ASE\ASE\Options.vb:ligne 99
à System.Windows.Forms.Form.OnLoad(EventArgs e)
à System.Windows.Forms.Form.OnCreateControl()
à System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
à System.Windows.Forms.Control.CreateControl()
à System.Windows.Forms.Control.WmShowWindow(Message& m)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
à System.Windows.Forms.Form.WmShowWindow(Message& m)
à System.Windows.Forms.Form.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
à System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
à System.Windows.Forms.Control.SetVisibleCore(Boolean value)
à System.Windows.Forms.Form.SetVisibleCore(Boolean value)
à System.Windows.Forms.Control.Show()
à ASE.Main.Main_Load(Object sender, EventArgs e) dans D:\--- PROJETS\VB10\ASE\ASE\Main.vb:ligne 82
à System.EventHandler.Invoke(Object sender, EventArgs e)
à System.Windows.Forms.Form.OnLoad(EventArgs e)
à System.Windows.Forms.Form.OnCreateControl()
à System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
à System.Windows.Forms.Control.CreateControl()
à System.Windows.Forms.Control.WmShowWindow(Message& m)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
à System.Windows.Forms.Form.WmShowWindow(Message& m)
à System.Windows.Forms.Form.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
à System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
à System.Windows.Forms.Control.SetVisibleCore(Boolean value)
à System.Windows.Forms.Form.SetVisibleCore(Boolean value)
à System.Windows.Forms.Control.set_Visible(Boolean value)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
à ASE.My.MyApplication.Main(String[] Args) dans 17d14f5c-a337-4978-8281-53493378c1071.vb:ligne 81
à System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
à System.Threading.ThreadHelper.ThreadStart()
InnerException: