Declare Function Sleep Library "kernel32" (long value as number); Function IEPrompt(&sTitle As string, &sLabel As string, &arrPromptValues As array of string, &nSelected As number) Returns number Local object &IE = CreateObject("InternetExplorer.Application"); &IE.Visible = True; &IE.Top = 200; &IE.Left = 200; &IE.Width = 400; &IE.Height = 200; &IE.Navigate("About:Blank"); &IE.menubar = 0; &IE.toolbar = 0; &IE.statusBar = 0; Local string &sSelected = ""; Local object &Doc = &IE.document; &Doc.Open(); &Doc.WriteLn("" | &sTitle | ""); &Doc.WriteLn(&sLabel | "
"); &Doc.WriteLn(""); &Doc.WriteLn(""); &Doc.WriteLn("
"); &Doc.WriteLn(""); &Doc.Close(); Local number &nActualSelected = 0; Local boolean &bDone = False; While ( Not &bDone) Sleep(50); REM First should check if IE is still there; If &Doc.promptform.watchme.value <> "here" Then &nActualSelected = &Doc.promptform.promptname.value; Break; End-If; End-While; &IE.Quit(); Return &nActualSelected; End-Function; Function GetProjectsList() Returns array of string Local array of string &arrProjects = CreateArrayRept("", 0); Local string &sProject; Local SQL &projectsSQL = CreateSQL("SELECT PROJECTNAME FROM PSPROJECTDEFN ORDER BY PROJECTNAME"); While &projectsSQL.Fetch(&sProject) &arrProjects.Push(&sProject); End-While; &projectsSQL.Close(); Return &arrProjects; End-Function; Function GetProjectName() Returns string Local string &sTitle = "Grey Sparling Version Control Project Splitter"; Local string &sLabel = "Select the project that you want to split"; Local array of string &arrProjects = GetProjectsList(); Local number &nProjectNumber = IEPrompt(&sTitle, &sLabel, &arrProjects, 0); If &nProjectNumber > 0 Then Return &arrProjects [&nProjectNumber]; Else Return ""; End-If; End-Function;