Joo, tein tässä omiin tarpeiseeni tällaisen pienen komentotulkin ja ajattelin jakaa sen kaikkien ohjelmointiputkalaisten kesken.
Tähän ohjelmaan tarvitsen:
Textbox = txtComm
Textbox = txtParametri
Textbox = txtKomento
CommandButton = cmdAja
Eli tuohon lootaan txtComm syötetään komentojono ja sitten ne komento ja parametri tulevat eroteltuina noihin toisiin lootiin, kun painaa tuota AJA-nappulaa.
Jos koodissa ilmenee ongelmia niin ilmoittakaa niistä joko noihin kommentteihin tai ihan minulle sähköpostiin.
Tuo listaus pitää vain läntätä sinne Visual Basicin koodiosaan.
Visual Basicin koodiosaan
Function CommandInterpreter(object As String) ' Määritellään muutamat muuttujat, joita tarvitaan tunnistamaan parametri ' ja komento toisistaan Dim Line As String ' Muuttuja kentässä object olevalle tekstille Dim CommandMark As String ' Muuttuja merkille, joka aloittaa komennon Dim Space As String ' Muuttuja välimerkille, jolla eroitetaan parametri komennosta Dim Command As String ' Muuttuja komennolle Dim Parameter As String 'Muuttuja parametrille Dim SpacePlace As Integer 'Muuttuja välin paikan tallentamiseen Dim CommandLen As Integer 'Muuttuja komennon pituudelle Dim ParameterLen As Integer 'Muuttuja parametrin pituudelle Dim LineLen As Integer ' Muuttuja koko lauseen pituudelle ' Annetaan arvoja muuttujille joitatarvitaan virheen estoon CommandMark = "%" ' annettaan muuttujaan merkki, jolla aloitetaan kaikki komennot ohjelmassasi Space = " " ' annetaan muuttujaan merkki, joka toimii parametrin ja komennon erottimena Line = object ' määrätään Line -muuttujaan teksti, joka määritellään funktion parametrissä If Left(Line, 1) = CommandMark Then ' Tunnistetaan komento ' Annetaan muuttujille arvoja LineLen = Len(Line) ' Lasketaan lauseen pituus muuttujaan LineLen SpacePlace = InStr(Line, Space) ' Etsitään erottimen paikka muuttujaan SpacePlace CommandLen = SpacePlace - 2 ' Mitataan komennon pituus ParameterLen = LineLen - (SpacePlace) ' Mitataan parametrin pituus ' Ratkaistaan komento ja parametri Command = Mid(Line, 2, CommandLen) ' otetaan komento Line:stä muuttujaan Command Parameter = Mid(Line, (SpacePlace + 1), ParameterLen) ' otetaan parametri Line:stä ' muuttujaan Parameter txtParametri.Text = Parameter ' Syötetään parametri tekstikenttään ' voidaan myös laittaa toiseen muuttujaan ( taikuutta ) txtKomento.Text = Command ' Syötetään komento tekstikenttään ' voidaan laittaa myös muuttujaan GoTo DONE: ' hypätään virheilmoituksen yli DONE -kohtaan Else ' jos lauseessa ei ole komennon alku niin mennään tänne GoTo NoCommand: ' hypätään NoCommand -kohtaan End If NoCommand: Print "There's no command in the field" ' tulostetaan virheilmoitus formin vasempaan ylänurkkaan DONE: End Function Private Sub cmdAja_Click() CommandInterpreter (txtComm.Text) ' kutsutaan CommandInterpreter aliohjelmaa End Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.