2015-10-17 3 views
1

Я пытаюсь создать базовую программу vbscript, которая действует в списке дел. Он будет иметь функции для добавления элемента to-do к массиву, изменения элемента, удаления элемента и создания элементов. У меня возникла проблема с тем, чтобы программа правильно выполнила ввод вставки. он показывает ошибку в моей инструкции if для выбора = «1»Функция vbscript не выполняется правильно

Кроме того, любые другие предложения о моем коде будут очень оценены!

Option Explicit 
dim choice 
dim fn 
dim fh  
dim num_items 
dim new_item 
Dim to_do_list_array, objSHL 
to_do_list_array = Array() 


fn = InputBox("enter text file to open: ", "open text file") 
set fh =CreateObject("Scripting.FileSystemObject").OpenTextFile(fn,8,true) 


Do 
choice=InputBox("Administrator To-do List " & chr(13) & "'1' - Insert new   
to-to item, " & chr(13) & "'2'- Modify existing to-do item, " & chr(13) &  
"'3'- Remove existing to-do item," & chr(13) & "'4' - Generate list of to-do 
items," & chr(13) & "'5' - quit", "Administrator To-do List") 

If choice= "" Then MsgBox "You must enter a numeric value.", 48, "Invalid   
Entry"  
If choice= "1" Then AddtoArray(CurrentArray) 
If choice= "2" Then document.write("test") 
If choice= "3" Then document.write("test") 
If choice= "4" Then document.write("test") 
If choice= "5" Then WScript.quit() 
Loop 

Function AddtoArray(CurrentArray) 
to_do_list_array = AddtoArray(to_do_list_array) 
Dim Value 
If IsArray(CurrentArray) Then 
Do 
Value = InputBox(Join(CurrentArray,vbLf),"Add to your array.") 
ReDim Preserve CurrentArray(UBound(CurrentArray) + 1) 
CurrentArray(UBound(CurrentArray)) = Value 
Loop Until Value = "" 
End If 
AddtoArray = CurrentArray 
End Function 

fh.close 

ответ

1

Для меня, в этом коде

to_do_list_array = AddtoArray(to_do_list_array) 

fn = InputBox("enter text file to open: ", "open text file") 

первая линия выполнена первая, и то, что функция AddtoArray делает

Function AddtoArray(CurrentArray) 
Dim Value 
    If IsArray(CurrentArray) Then 
     Do 
      Value = InputBox(Join(CurrentArray,vbLf),"Add to your array.") 
.... 

Возможно, что первая строка не должна быть там, где это is

+0

спасибо, я переместил эту строку, и программа выполняется в порядке. Однако теперь, когда я пытаюсь вызвать функцию choice = "1" insert, она не выполняется правильно, она запускается в ошибку – matthewarnold

+0

@matthewarnold, без дополнительной информации о том, что это за ошибка, я укажу на то, что первая строка в функции 'AddtoArray' является вызовом для себя. Попробуйте удалить эту строку. –

Смежные вопросы