Avatar billede slapstick Nybegynder
24. juni 2003 - 15:19 Der er 2 kommentarer og
1 løsning

problemer med array

jeg sender en dir kommando til cmd.exe
piper outputtet fra cmd.exe til en txtfil
den txtfil åbner jeg så og kører igennem så jeg får samlet alt indholdet i en streng
den streng splitter jeg så op i et array så jeg kan bruge en linie ad gangen i min timer funktion

men det er lidt underligt
for det første får jeg kun sidste linie fra txtfilen med i min streng
og for det andet siger den "sub or function not defined" ved mit array
koden kommer her:

Sub docmd(cmd As String)
CmdTarget = "#lortekanal"
Shell "cmd /c " & cmd & " >> skod.txt"
strLine = ""
Open App.Path & "\skod.txt" For Input As #1
  Do
    Line Input #1, strLine
    strLine = strLine & vbCrLf
  Loop Until EOF(1)
Close #1
'strLine <-- indeholder kun sidste linie af skod.txt ??
CmdOutPutArray = Split(strLine, vbCrLf) 'det er det array den går kold ved senere
CmdLineNo = 1
sub368 ("PRIVMSG #lortekanal :" & strLine)

cmdTimer.Enabled = True
CmdinProgress = "yes"
End Sub


'CmdOutPutArray(CmdLineNo) er det array hvorved den siger sub or function not defined

Sub cmdTimer_Timer()
sub368 ("PRIVMSG " & CmdTarget & " :" & CmdOutPutArray(CmdLineNo))
CmdLineNo = CmdLineNo + 1
If CmdLineNo = UBound(CmdOutPut) Then
CmdinProgress = "no"
cmdTimer.Enabled = False
sub368 ("PRIVMSG " & CmdTarget & " :done")
End If
CmdLineNo = CmdLineNo + 1
End Sub
Avatar billede slapstick Nybegynder
24. juni 2003 - 16:03 #1
der var lidt ged i koden så jeg har rettet det til :


Public Sub cmdTimer_Timer()

MsgBox (CmdOutPutArray(CmdLineNo))
sub368 ("PRIVMSG " & CmdTarget & " :" & CmdOutPutArray(CmdLineNo))

If CmdLineNo = UBound(CmdOutPutArray) Then

    CmdinProgress = "no"
    cmdTimer.Enabled = False
    sub368 ("PRIVMSG " & CmdTarget & " :done")

End If

CmdLineNo = CmdLineNo + 1

End Sub
Sub docmd(cmd As String)

CmdTarget = "#lortekanal"
Shell "cmd /c " & cmd & " >> skod.txt"
strLine = ""

Open App.Path & "\skod.txt" For Input As #1
   
    strLine = Input(FileLen(App.Path & "\skod.txt"), 1)

Close #1

CmdOutPutArray = Split(strLine, vbCrLf)
CmdLineNo = 1
MsgBox (UBound(CmdOutPutArray))
cmdTimer.Enabled = True
CmdinProgress = "yes"

End Sub

det er som om jeg ikke kan hive mit array CmdOutPutArray() med over i min timer sub fra min docmd sub

nogen der har nogle ideer?
Avatar billede slapstick Nybegynder
24. juni 2003 - 16:05 #2
jeg kan se på msgbox'en at i docmd sub'en der har den intet problem med at få UBound(CmdOutPutArray) men i cmdTimer sub'en der siger den "sub or function not defined"
Avatar billede slapstick Nybegynder
24. juni 2003 - 16:11 #3
nå jeg fik sgu løst det selv
godt nok ikke på den smarteste måde men hvad fanden
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging