Qt インターフェイスを使用して Gambas で記述された小さなアプリケーションを開発しています。最初の学習テストとして、、、などapache2
のいくつかのサービスを開始/停止するための非常に単純なコントロール パネルを作成したいと考えていました。mysql
webmin
アプリケーションは次のようになります。
私の問題は、サービスの状態に応じて Apache ボタンの初期位置をオンまたはオフに設定する方法がわからないことです。sudo service apache2 status
システムから変数へのtr/cut/grepマジックを使用して値を抽出できます。しかし、インターフェイスは、値を True または False に設定するオプションしか提供しません。そのコードをどこに配置すればよいかわかりません。私が成功した唯一のセグメントは開始/停止OnClick
イベントですが、最初の位置はクリックの前に設定する必要があります。このコードは、サービスのステータスがパネル開始時のボタンのステータスと一致する場合にのみ機能します。
役立つ場合は、コードの一部を次に示します。
Public Sub SwitchButton1_Click()
Dim apachestatus As String
Shell "sudo service apache2 status | grep Active | tr -s ' ' | cut -d ' ' -f 3" To apachestatus
If apachestatus = "active\n" Then
SwitchButton1.Value = False
Shell "sudo service apache2 stop"
Else If apachestatus = "inactive\n" Then
SwitchButton1.Value = True
Shell "sudo service apache2 start"
Endif
Message.Info("apache : " & apachestatus)
End
どんな助けでも大歓迎です。