From: <cod...@go...> - 2008-07-28 16:19:48
|
Author: M0...@gm... Date: Mon Jul 28 09:19:04 2008 New Revision: 87 Modified: branches/iVL/.lang/#project.pot branches/iVL/.lang/ClsGlobal.pot branches/iVL/.lang/ClsPartSel.pot branches/iVL/.lang/ClsWinDrives.pot branches/iVL/.lang/FMain.pot branches/iVL/.lang/FrmDiskPart.pot branches/iVL/.lang/FrmLicense.pot branches/iVL/.lang/FrmPartScheme.pot branches/iVL/.lang/FrmPartSel.pot branches/iVL/.lang/FrmPkgSel.pot branches/iVL/.lang/FrmSelISO.pot branches/iVL/.lang/FrmSummary.pot branches/iVL/.lang/FrmWinDrives.pot branches/iVL/.lang/MdlCore.pot branches/iVL/.lang/MdlDiskPart.pot branches/iVL/.lang/MdlObjSizer.pot branches/iVL/.lang/MdlPartSel.pot branches/iVL/.lang/MdlPkgSel.pot branches/iVL/.lang/MdlSetup.pot branches/iVL/.lang/MdlSummarize.pot branches/iVL/.lang/MdlWinDrives.pot branches/iVL/MdlInstallSys.module branches/iVL/MdlPartSel.module Log: - Fixed bug in partition selector window - Broke down the full isntall function to make it into separate sections This will allow error checking and modularity. Modified: branches/iVL/.lang/#project.pot ============================================================================== --- branches/iVL/.lang/#project.pot (original) +++ branches/iVL/.lang/#project.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/.project +# /home/moises/area-51/projects/installer/.project # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/ClsGlobal.pot ============================================================================== --- branches/iVL/.lang/ClsGlobal.pot (original) +++ branches/iVL/.lang/ClsGlobal.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/ClsGlobal.class +# /home/moises/area-51/projects/installer/ClsGlobal.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/ClsPartSel.pot ============================================================================== --- branches/iVL/.lang/ClsPartSel.pot (original) +++ branches/iVL/.lang/ClsPartSel.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/ClsPartSel.class +# /home/moises/area-51/projects/installer/ClsPartSel.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/ClsWinDrives.pot ============================================================================== --- branches/iVL/.lang/ClsWinDrives.pot (original) +++ branches/iVL/.lang/ClsWinDrives.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/ClsWinDrives.class +# /home/moises/area-51/projects/installer/ClsWinDrives.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/FMain.pot ============================================================================== --- branches/iVL/.lang/FMain.pot (original) +++ branches/iVL/.lang/FMain.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/FMain.class +# /home/moises/area-51/projects/installer/FMain.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/FrmDiskPart.pot ============================================================================== --- branches/iVL/.lang/FrmDiskPart.pot (original) +++ branches/iVL/.lang/FrmDiskPart.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/FrmDiskPart.class +# /home/moises/area-51/projects/installer/FrmDiskPart.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/FrmLicense.pot ============================================================================== --- branches/iVL/.lang/FrmLicense.pot (original) +++ branches/iVL/.lang/FrmLicense.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/FrmLicense.class +# /home/moises/area-51/projects/installer/FrmLicense.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/FrmPartScheme.pot ============================================================================== --- branches/iVL/.lang/FrmPartScheme.pot (original) +++ branches/iVL/.lang/FrmPartScheme.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/FrmPartScheme.class +# /home/moises/area-51/projects/installer/FrmPartScheme.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/FrmPartSel.pot ============================================================================== --- branches/iVL/.lang/FrmPartSel.pot (original) +++ branches/iVL/.lang/FrmPartSel.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/FrmPartSel.class +# /home/moises/area-51/projects/installer/FrmPartSel.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/FrmPkgSel.pot ============================================================================== --- branches/iVL/.lang/FrmPkgSel.pot (original) +++ branches/iVL/.lang/FrmPkgSel.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/FrmPkgSel.class +# /home/moises/area-51/projects/installer/FrmPkgSel.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/FrmSelISO.pot ============================================================================== --- branches/iVL/.lang/FrmSelISO.pot (original) +++ branches/iVL/.lang/FrmSelISO.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/FrmSelISO.class +# /home/moises/area-51/projects/installer/FrmSelISO.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/FrmSummary.pot ============================================================================== --- branches/iVL/.lang/FrmSummary.pot (original) +++ branches/iVL/.lang/FrmSummary.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/FrmSummary.class +# /home/moises/area-51/projects/installer/FrmSummary.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/FrmWinDrives.pot ============================================================================== --- branches/iVL/.lang/FrmWinDrives.pot (original) +++ branches/iVL/.lang/FrmWinDrives.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/FrmWinDrives.class +# /home/moises/area-51/projects/installer/FrmWinDrives.class # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/MdlCore.pot ============================================================================== --- branches/iVL/.lang/MdlCore.pot (original) +++ branches/iVL/.lang/MdlCore.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/MdlCore.module +# /home/moises/area-51/projects/installer/MdlCore.module # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/MdlDiskPart.pot ============================================================================== --- branches/iVL/.lang/MdlDiskPart.pot (original) +++ branches/iVL/.lang/MdlDiskPart.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/MdlDiskPart.module +# /home/moises/area-51/projects/installer/MdlDiskPart.module # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/MdlObjSizer.pot ============================================================================== --- branches/iVL/.lang/MdlObjSizer.pot (original) +++ branches/iVL/.lang/MdlObjSizer.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/MdlObjSizer.module +# /home/moises/area-51/projects/installer/MdlObjSizer.module # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/MdlPartSel.pot ============================================================================== --- branches/iVL/.lang/MdlPartSel.pot (original) +++ branches/iVL/.lang/MdlPartSel.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/MdlPartSel.module +# /home/moises/area-51/projects/installer/MdlPartSel.module # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/MdlPkgSel.pot ============================================================================== --- branches/iVL/.lang/MdlPkgSel.pot (original) +++ branches/iVL/.lang/MdlPkgSel.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/MdlPkgSel.module +# /home/moises/area-51/projects/installer/MdlPkgSel.module # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/MdlSetup.pot ============================================================================== --- branches/iVL/.lang/MdlSetup.pot (original) +++ branches/iVL/.lang/MdlSetup.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/MdlSetup.module +# /home/moises/area-51/projects/installer/MdlSetup.module # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/MdlSummarize.pot ============================================================================== --- branches/iVL/.lang/MdlSummarize.pot (original) +++ branches/iVL/.lang/MdlSummarize.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/MdlSummarize.module +# /home/moises/area-51/projects/installer/MdlSummarize.module # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/.lang/MdlWinDrives.pot ============================================================================== --- branches/iVL/.lang/MdlWinDrives.pot (original) +++ branches/iVL/.lang/MdlWinDrives.pot Mon Jul 28 09:19:04 2008 @@ -1,4 +1,4 @@ -# /root/gui-installer/MdlWinDrives.module +# /home/moises/area-51/projects/installer/MdlWinDrives.module # Generated by Gambas compiler # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. Modified: branches/iVL/MdlInstallSys.module ============================================================================== --- branches/iVL/MdlInstallSys.module (original) +++ branches/iVL/MdlInstallSys.module Mon Jul 28 09:19:04 2008 @@ -97,6 +97,7 @@ .tvPlan["Inst1"].Picture = MdlCore.sDonePic END WITH + ClsGlobal.sTargetMnt = "/home/moises/mnt/target" FrmInstallSys.tlCurrPkg.Text = "Writing new /etc/fstab to system" @@ -185,9 +186,9 @@ 'Message(sFstab) - IF NOT ClsGlobal.sTargetMnt OR ClsGlobal.sTargetMnt = "" THEN - ClsGlobal.sTargetMnt = "/mnt/target" - END IF + ' IF NOT ClsGlobal.sTargetMnt OR ClsGlobal.sTargetMnt = "" THEN + ' ClsGlobal.sTargetMnt = "/mnt/target" + ' END IF ';Message(ClsGlobal.sTargetMnt &/ "etc") ' now save the file to /etc/fstab @@ -210,6 +211,7 @@ 'FrmInstallSys.tlCurrPkg.Text = "Installing Additional software... Please wait" 'ME.INSTALL_REQUIRED_PACKAGES() 'ME.INSTALL_PACKAGES() + END IF END @@ -235,8 +237,162 @@ END +PUBLIC SUB PERFORM_FULL_INSTALL() + + DIM iret AS Integer + iret = ME.INSTALL_BULK_PACKAGES() + IF iret <> 0 THEN + PRINT "Error installing bulks ... exit" + RETURN + END IF + iret = ME.INSTALL_PACKAGES_NEW() + IF iret <> 0 THEN + PRINT "error installing packages ... exit" + RETURN + END IF + iret = ME.INSTALL_REQUIRED_PACKAGES() + IF iret <> 0 THEN + PRINT "Error installing packages/required ... exit" + RETURN + END IF + iret = ME.INSTALL_CONFIG_PACKAGES() + IF iret <> 0 THEN + PRINT "Error installing config packages ... exit" + RETURN + END IF + iret = MdlInstallCustom.INSTALL_KERNELS() + IF iret <> 0 THEN + PRINT "Error installing kernels ... exit " + RETURN + END IF + Message.Info("Vectorlinux is now installed in your system. REboot may be necessary") + + + + +END + + + + -PUBLIC SUB PERFORM_FULL_INSTALL() AS Integer +PUBLIC FUNCTION INSTALL_PACKAGES_NEW() AS Integer + + DIM sFile AS String = File.Load(ClsGlobal.sSourceMnt &/ "packages" &/ "PACKAGES.TXT") + DIM arrFile AS String[] + DIM i AS Integer + DIM sLine AS String + DIM vPgsSize AS Variant + DIM sPkgPath AS String + DIM sPkgName AS String + DIM vTargetSize AS Variant + + + arrFile = Split(sFile, "\n") + FOR i = 0 TO arrFile.Count - 1 + sLine = Trim(arrFile[i]) + IF Left(sLine, Len("PACKAGE_NAME")) = "PACKAGE_NAME" THEN + sPkgName = Trim(Right(sLine, Len(sLine) - InStr(sLine, ":"))) + 'sPkgPath = Right(arrFile[ + sPkgPath = Right(arrFile[i + 1], Len(arrFile[i + 1]) - InStr(arrFile[i + 1], ":")) + vPgsSize = Trim(Right(arrFile[i + 3], Len(arrFile[i + 3]) - InStr(arrFile[i + 3], ":")) - 1) + ' now install the package + SHELL "export gsize=$(df| grep " & ClsPartSel.sRoot & " ) && echo $gsize | cut -f3 -d \' \'" TO vTargetSize + ME.PACKAGE_INSTALL(ClsGlobal.sSourceMnt &/ "packages" &/ sPkgPath &/ sPkgName) + WAIT + IF hproc.State = Process.Running THEN + REPEAT + WAIT 3 + ' update progree here + ME.UPDATE_STEP_PROGRESS(CFloat(vTargetSize), CFloat(vPgsSize)) + UNTIL + hproc.State = Process.Stopped + END IF + + END IF + NEXT + ' error check + IF InStr(sDump, "FAILED") > 0 THEN + PRINT sPkgName & " failed to install " + RETURN 1 + ELSE + RETURN 0 + END IF +END + + + + + + +PUBLIC FUNCTION INSTALL_BULK_PACKAGES() AS Integer + DIM sRawList AS String + DIM sList AS String[] + DIM sTrimmed AS String + DIM sLineArr AS String[] + DIM sBulkPath AS String + DIM vBulkSize AS Variant + DIM sBulkDesc AS String + DIM vTargetSize AS Variant + DIM i AS Integer + + + SHELL "cat " & ClsGlobal.sSourceMnt &/ "veclinux" &/ "SETUP.CONF | grep ^BULK" TO sRawList + sList = Split(sRawList, "\n") + FOR i = 0 TO sList.count - 1 + sTrimmed = Right(sList[i], Len(sList[i]) - InStr(sList[i], "\'")) + sTrimmed = Left(sTrimmed, InStr(sTrimmed, "\'") - 1) + sLineArr = Split(sTrimmed, ":") + sBulkPath = sLineArr[0] + vBulkSize = sLineArr[1] + sBulkDesc = sLineArr[2] + SHELL "export gsize=$(df| grep " & ClsPartSel.sRoot & " ) && echo $gsize | cut -f3 -d \' \'" TO vTargetSize + + ME.BULK_INSTALL(ClsGlobal.sSourceMnt &/ "veclinux" &/ sBulkPath) + WAIT 1 + IF hproc.State = Process.Running THEN + REPEAT + WAIT 3 + ME.UPDATE_STEP_PROGRESS(CFloat(vTargetSize), CFloat(vBulkSize)) + UNTIL + hproc.State = Process.Stopped + 'error check + END IF + + NEXT + + IF InStr(sDump, "FAILED") > 0 THEN + RETURN 1 + ELSE + RETURN 0 + END IF + +END + + +PUBLIC SUB BULK_INSTALL(sPath_to_bulk AS String) + sDump = "" + sErr = "" + + hproc = SHELL "lzmadec <" & sPath_to_bulk & " | tar -xp -C " & ClsGlobal.sTargetMnt & " || echo \'FAILED\'" FOR READ + + + +END + +PUBLIC SUB PACKAGE_INSTALL(sPath_To_Package AS String) + + sDump = "" + sErr = "" + hproc = SHELL "install-pkg " & sPath_To_Package & Space(1) & ClsGlobal.sTargetMnt & " || echo \'FAILED\'" FOR READ + + +END + + + + +PUBLIC SUB PERFORM_FULL_INSTALL_OLD() AS Integer 'Will need to read SETUP.CONF to determine what to do here @@ -476,8 +632,8 @@ ' now install the package with the information we already have PRINT sTlzName & sTlzPath - sDump = "" - sErr = "" + 'sDump = "" + 'sErr = "" FrmInstallSys.tlCurrPkg.Text = "Installing " & File.Name(sTlzPath) & " ..." 'FrmInstallSys.pbInstallProg.Value = 0.0 @@ -485,24 +641,32 @@ ' for this one we will need to count the packages, and base our progress on the number of packages ' installed vs the total number of packags iCurrTlz = i - FrmInstallSys.pbInstallProg.Value = MdlSetup.UPDATE_OVERALL_PROGRESS(iTlzTotal, iCurrTlz) - FrmInstallSys.pbInstallProg2.Value = MdlSetup.UPDATE_OVERALL_PROGRESS(iPkgCnt, iPkgNum) - hproc = SHELL "install-pkg " & sTlzPath & Space(1) & ClsGlobal.sTargetMnt & " || echo \'FAILED\'" FOR READ + + 'hproc = SHELL "install-pkg " & sTlzPath & Space(1) & ClsGlobal.sTargetMnt & " || echo \'FAILED\'" FOR READ + ME.PACKAGE_INSTALL(sTlzBasePath &/ sTlzPath) WAIT 1 IF hproc.State = Process.Running THEN REPEAT WAIT 2 + + FrmInstallSys.pbInstallProg.Value = MdlSetup.UPDATE_OVERALL_PROGRESS(iTlzTotal, iCurrTlz) + FrmInstallSys.pbInstallProg2.Value = MdlSetup.UPDATE_OVERALL_PROGRESS(iPkgCnt, iPkgNum) UNTIL hproc.State = Process.Stopped ' INC iPkgNum END IF NEXT - ME.INSTALL_CONFIG_PACKAGES() + IF InStr(sDump, "FAILED") > 0 THEN + PRINT "Error installing packages/required" + RETURN 1 + ELSE + RETURN 0 + END IF END -PUBLIC SUB INSTALL_CONFIG_PACKAGES() +PUBLIC FUNCTION INSTALL_CONFIG_PACKAGES() AS Integer DIM sList AS String[] DIM sLinarr AS String[] DIM sRawList AS String @@ -530,7 +694,9 @@ 'PRINT sPkgPath ' now install the packages INC iPkgNum - hproc = SHELL "install-pkg " & ClsGlobal.sSourceMnt &/ "veclinux" &/ sPkgPath & Space(1) & ClsGlobal.sTargetMnt & " || echo \'FAILED\'" FOR READ + ' This may need to be installed as a bulk rather than a package + 'hproc = SHELL "install-pkg " & ClsGlobal.sSourceMnt &/ "veclinux" &/ sPkgPath & Space(1) & ClsGlobal.sTargetMnt & " || echo \'FAILED\'" FOR READ + ME.BULK_INSTALL(ClsGlobal.sSourceMnt &/ "veclinux" &/ sPkgPath) FrmInstallSys.pbInstallProg2.Value = MdlSetup.UPDATE_OVERALL_PROGRESS(iPkgCnt, iPkgNum) WAIT 1 IF hproc.State = Process.Running THEN @@ -549,7 +715,8 @@ sPkgPath = Right(sLinarr[0], Len(sLinarr[0]) - InStr(sLinarr[0], "\'")) ' now install the package INC iPkgNum - hproc = SHELL "install-pkg " & sPkgPath & Space(1) & ClsGlobal.sTargetMnt & " || echo \'FAILED\'" FOR READ + 'hproc = SHELL "install-pkg " & sPkgPath & Space(1) & ClsGlobal.sTargetMnt & " || echo \'FAILED\'" FOR READ + ME.BULK_INSTALL(sPkgPath) FrmInstallSys.pbInstallProg2.Value = MdlSetup.UPDATE_OVERALL_PROGRESS(iPkgCnt, iPkgNum) WAIT 1 IF hproc.State = Process.Running THEN @@ -560,6 +727,11 @@ ' INC iPkgNum END IF END IF + IF InStr(sDump, "FAILED") > 0 THEN + RETURN 1 + ELSE + RETURN 0 + END IF END Modified: branches/iVL/MdlPartSel.module ============================================================================== --- branches/iVL/MdlPartSel.module (original) +++ branches/iVL/MdlPartSel.module Mon Jul 28 09:19:04 2008 @@ -203,10 +203,10 @@ spart = Trim(sSwapList) 'SHELL "export " & sSwapList & "=$(df -h | grep -i swap) | cut -f 2 -d \' \'" TO vSwapSize SHELL " export sw=$(probepart | grep -i \" *swap$\") && echo $sw | cut -f 4 -d \' \'" TO vSwapSize - Message(CStr(vSwapSize)) + 'Message(CStr(vSwapSize)) IF vSwapSize <> "" THEN 'vSwapSize = Trim(CStr(vSwapSize)) - Message.Info(vSwapSize) + 'Message.Info(vSwapSize) iswapsize = CInt(vSwapSize) iswapsize = Round(iswapsize / 1024 / 1024, -2) @@ -268,21 +268,34 @@ 'DIM sTag AS String = LAST.tag 'DIM sText AS String = Trim(LAST.text) - + FOR EACH sdropdwn IN oFsTypes + IF sdropdwn.tag = LAST.tag THEN + sdropdwn.Enabled = TRUE + IF sdropdwn.Find("Swap") <> -1 THEN + sdropdwn.Remove(sdropdwn.Find("Swap")) + END IF + sdropdwn.Text = "Do not format" + END IF + NEXT SELECT CASE LAST.text CASE "/" ClsPartSel.sRoot = LCase(LAST.tag) - CASE "/home" + ClsPartSel.sHome = LCase(LAST.tag) + CASE "/usr" ClsPartSel.sUsr = LCase(LAST.tag) + CASE "/opt" ClsPartSel.sOpt = LCase(LAST.tag) + CASE "/tmp" ClsPartSel.sTmp = LCase(LAST.tag) + CASE "/var" ClsPartSel.sVar = LCase(LAST.tag) + CASE "Swap" ClsPartSel.sSwap = LCase(LAST.tag) 'Message("Swap Flag") @@ -292,12 +305,16 @@ sdropdwn.Text = "Swap" sdropdwn.Enabled = FALSE ELSE - sdropdwn.Enabled = TRUE - IF sdropdwn.Find("Swap") <> -1 THEN + IF sdropdwn.Text <> "Do not format" AND sdropdwn.Enabled = TRUE THEN + sdropdwn.Enabled = TRUE + END IF + IF sdropdwn.Find("Swap") <> -1 THEN sdropdwn.Remove(sdropdwn.Find("Swap")) END IF + END IF NEXT + END SELECT |