| 12
 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
 
 |             Hashtable htUd = null;
            Hashtable htCpm = null;
            Hashtable htItem = null;
            Hashtable htSpm = null;
            Hashtable htSol = null;
            Hashtable htEIPC = null;
            Hashtable htSbA = null;
            Hashtable htSbB = null;
            Parallel.Invoke(
                () => { htUd = GetListe(txtFicXlsUd.Text, txtXlsFllUd.Text, txtXlsRefUD.Text, txtXlsLibUD.Text, txtXlsLn1UD.Text, "Lecture de la liste 1"); },
                () => { htCpm = GetListe(txtFicXlsCPM.Text, txtXlsFllCPM.Text, txtXlsRefCPM.Text, txtXlsLibCPM.Text, txtXlsLn1CPM.Text, "Lecture de la liste 2"); },
                () => { htItem = GetListe(txtFicXlsITEM.Text, txtXlsFllITEM.Text, txtXlsRefITEM.Text, txtXlsLibITEM.Text, txtXlsLn1ITEM.Text, "Lecture de la liste 3"); },
                () => { htSpm = GetListe(txtFicXlsSPM.Text, txtXlsFllSPM.Text, txtXlsRefSPM.Text, txtXlsLibSPM.Text, txtXlsLn1SPM.Text, "Lecture de la liste des 4"); },
                () => { htSol = GetListe(txtFicXlsSOL.Text, txtXlsFllSOL.Text, txtXlsRefSOL.Text, txtXlsLibSOL.Text, txtXlsLn1SOL.Text, "Lecture de la liste des 5"); },
                () => { htEIPC = GetListe(txtFicXlsEIPCA.Text, txtXlsFllEIPCA.Text, txtXlsRefEIPCA.Text, txtXlsLibEIPCA.Text, txtXlsLn1EIPCA.Text, "Lecture de la liste 6"); },
                () => { htSbA = GetListe(txtFicXlsSBA.Text, txtXlsFllSBA.Text, txtXlsRefSBA.Text, txtXlsLibSBA.Text, txtXlsLn1SBA.Text, "Lecture de la liste des 7"); },
                () => { htSbB = GetListe(txtFicXlsSBB.Text, txtXlsFllSBB.Text, txtXlsRefSBB.Text, txtXlsLibSBB.Text, txtXlsLn1SBB.Text, "Lecture de la liste des 8"); }
            ); // */
 
        private Hashtable GetListe(string ficXls, string xlsFeuille, string xlsColId, string xlsColLib, string xlsLigne1, string texte, string regexId="") {
            Hashtable ret = new Hashtable();
            int tmp = 0;
            if (!string.IsNullOrEmpty(ficXls.Trim()) && (File.Exists(ficXls)) && (int.TryParse(xlsLigne1, out tmp))) {
                UtilsExcel ue = new UtilsExcel();
                tssLabel.Text = texte;
                ProgressBar pb = new ProgressBar();
                pb.Name = Guid.NewGuid().ToString();
                if (txtInfos.InvokeRequired) { // Gérer les accès concurentiels.
                    txtInfos.Invoke(new AddControl(CtlAddControl), txtInfos, pb);
                } else
                    pb.Parent = txtInfos;
                Application.DoEvents();
                pb.Dock = DockStyle.Top;
                pb.BringToFront(); // */
                ret = ue.GetListe(ficXls, xlsFeuille, xlsColId, xlsColLib, tmp, ref pb, regexId); //tssPbMain
                pb.Dispose();
                if (string.IsNullOrEmpty(ue.msgErr)) {
                    txtInfos.Text += "OK. " + tssLabel.Text + ". " + ret.Count + " éléments intégrés." + Environment.NewLine + ue.msgInfo;
                } else
                    txtInfos.Text += "KO. " + tssLabel.Text + ". " + ue.msgErr + Environment.NewLine;
            } // */
            return ret;
        }
 
        private delegate void AddControl(Control ctlParent, Control ctlEnfant); // Modèle de fonction (prototype) pour l'instanciation.
        private static void CtlAddControl(Control ctlParent, Control ctlEnfant) {
            Application.DoEvents();
            ctlEnfant.Parent = ctlParent;
        } | 
Partager