This program is similar to the program which is found here: http://www.theeasygambasdoku.de/misc/processes/exec/index.html It has been changed to run without errors in newer gambas versions.
You need 2 command buttons, 2 textareas and 1 combobox to get the program going. Rename the command buttons according to the code.
EXEC offers the possibility to execute a command via the shell. It creates an object of the class Process.
The Program
Choose or enter a program which is to be executed in the combobox and click the fire-button. The first textarea shows errors, the second feedbacks from the process.
The Code:
Gambas class file PRIVATE myProcess AS Process '------------------------------------------------ STATIC PUBLIC SUB Main() DIM hForm AS Form hForm = NEW FMain hForm.Show() END '------------------------------------------------ PUBLIC SUB _new() ME.Title = "Working with the command EXEC" ComboBox1.add("kate") ComboBox1.add("") ComboBox1.add("kiconedit") ComboBox1.add("gimp") ' the programs must be installed! END '------------------------------------------------ ' start it PUBLIC SUB btnFire_Click() IF Trim(ComboBox1.Text) <> "" THEN 'Trim strips the whitespaces from a string TextArea1.Text = "" TextArea2.Text = "" ' call it EXEC [ComboBox1.Text] FOR READ WRITE AS myProcess ELSE TextArea1.Text = "Choose or enter a program !" ENDIF END '------------------------------------------------------------- PUBLIC SUB btnClose_Click() ME.Close() END '------------------------------------------------ ' if something is coming back ' the event 'Process.Write' of the class process calls this function PUBLIC SUB Process_Write(sData AS String) TextArea2.Text = " Process '" & myProcess.command & "' " & sData END '------------------------------------------------ ' if an error occurrs ' the event 'Process.Error' of the class process calls this function PUBLIC SUB Process_Error(sData AS String) TextArea1.Text = " Process '" & myProcess.command & "' " & sData END '------------------------------------------------ ' if the process is killed ' the event 'Process.Kill' of the class process calls this function PUBLIC SUB Process_Kill() myProcess = NULL END
-- ReinerHoffmann - 10 Sep 2004