|
| Autor |
Nachricht |
Razor___ Newbie

Anmeldedatum: 10.05.2008 Beiträge: 9
|
Select Case -Variable-Shell-
Verfasst am: 31.05.2008, 23:14 |
|
|
also ich hab bei dem irc bot (thx@ReED ) unten die commands mithilfe von select case abfragen .......
darunter diese hier : Visual Basic: [code] Case "rechner" Shell ("calc.exe") [/code]
Wie schaffe ich es das ich einen befehl habe wie z.B.
Visual Basic: [code] Case "open " & PathToExe Shell (PathToExE) [/code]
also das ich ein beliebiges programm öffnenkann von dem ich den pfad weiß !
pls help
mfg and goodn8 Razor___ |
|
| |
|
 |
dcm Poster

Anmeldedatum: 04.05.2008 Beiträge: 101
|
Verfasst am: 01.06.2008, 00:12 |
|
|
ääh... vorher splitten nach " "? ^^ oder if left(variable, 5) = "open " then aber des wäre ja ein if oder instr aber des wäre auch if^^
zeig mal ein bisschen mehr code... |
|
| |
|
 |
sollniss Überflieger

Anmeldedatum: 01.05.2008 Beiträge: 699
|
Verfasst am: 01.06.2008, 00:12 |
|
|
!?!??!??
PathToExe = Pfad zur Datei |
|
| |
|
 |
^^kev#### Überflieger

Anmeldedatum: 01.05.2008 Beiträge: 476 Wohnort: Haan
|
Verfasst am: 01.06.2008, 09:32 |
|
|
Visual Basic: [code]Select Case PathToExE Case "Rechner" Shell ("calc.exe") Case "open" bla = Split(PathToExE, " ") Shell (bla(1)) End Select[/code]
|
|
| |
|
 |
Razor___ Newbie

Anmeldedatum: 10.05.2008 Beiträge: 9
|
Verfasst am: 01.06.2008, 11:39 |
|
|
Danke habt mir schon sehr geholfen, ABER :
Ich hab ka was ich dem bot dann senden muss das er z.B notepad ausführt.
also ihr wollt code ? hier habt ihr code xD
Visual Basic: [code]
Sub Assemble(Incoming As String)
Dim Data() As String
Data = Split(Incoming, " ")
Select Case LCase(Data(0))
Case "ping"
ws.SendData "PONG " & Data(1) & vbCrLf
End Select
If UBound(Data) < 1 Then Exit Sub
Select Case LCase(Data(1))
Case "376", "422"
ws.SendData "JOIN " & txtChannel & vbCrLf
MsgBox "Sie sind dem Channel " & txtChannel & " beigetreten."
Case "433"
MsgBox "Nickname schon benutzt!", vbExclamation, "Fehler"
Case "privmsg"
Select Case LCase(Mid(Data(3), 2))
Case "!info"
ws.SendData "PRIVMSG " & Data(2) & " :Der Bot besitzt zur zeit folgende Funktionen: !info, !hi, !quit" & vbCrLf
Case "!hi"
ws.SendData "PRIVMSG " & Data(2) & " :Hallo, " & Mid(Split(Data(0), "!")(0), 2) & vbCrLf
Case "!quit"
ws.SendData "QUIT " & Data(2) & " :cYa" & vbCrLf
'Case "!best"
'ws.SendData "PRIVMSG " & Data(2) & " :" & Mid(Split(Data(0), "!")(0), 2) & " you are simply the BEST!" & vbCrLf
'Case "rofl"
'ws.SendData "PRIVMSG " & Data(2) & " :Ja den Witz fand ich auch gut!" & vbCrLf
'Case "re"
'ws.SendData "PRIVMSG " & Data(2) & " :Willkommen zurück, " & Mid(Split(Data(0), "!")(0), 2) & vbCrLf
'Case "rechner"
'Shell ("calc.exe")
End Select
Select Case PathToExE
Case "Rechner"
Shell ("calc.exe")
Case "open"
bla = Split(PathToExE, " ")
Shell (bla(1))
End Select
End Select
End Sub
[/code]
Kev es wäre nett wenn du mir sagen könntest was ich schreiben/ändern muss ...
Ich hätte das so gelöst :
Visual Basic: [code]
Case "!call" & callPath
callPath = Mid(callPath, 5, 50)
Shell (callPath)
[/code]
Jedoch musste ich der Variable CallPath erst mal den Wert von meinem Befehl zuteilen und ich hab keine Ahnung wie das geht ..... Also callPath musste z.B. !call "calc.exe" sein !
mfg Razor__ <3 |
|
| |
|
 |
dcm Poster

Anmeldedatum: 04.05.2008 Beiträge: 101
|
Verfasst am: 01.06.2008, 20:28 |
|
|
am einfachsten wäre es, sich auf eine bestimmte länge festzulegen. zum beispiel 3
Select Case LCase($Mid(Data(3), 2, 3)) Case "!in" ws.SendData "PRIVMSG " & Data(2) & " :Der Bot besitzt zur zeit folgende Funktionen: !info, !hi, !quit" & vbCrLf Case "!hi" ws.SendData "PRIVMSG " & Data(2) & " :Hallo, " & Mid(Split(Data(0), "!")(0), 2) & vbCrLf Case "!qu" ws.SendData "QUIT " & Data(2) & " :cYa" & vbCrLf
Case "!ca" Shell(mid$(Data(3),4) 'oder 3, bin mir grad nich ganz sicher^^ 'Case "!be" 'ws.SendData "PRIVMSG " & Data(2) & " :" & Mid(Split(Data(0), "!")(0), 2) & " you are simply the BEST!" & vbCrLf 'Case "rof" 'ws.SendData "PRIVMSG " & Data(2) & " :Ja den Witz fand ich auch gut!" & vbCrLf 'Case "re " 'ws.SendData "PRIVMSG " & Data(2) & " :Willkommen zurück, " & Mid(Split(Data(0), "!")(0), 2) & vbCrLf 'Case "rechner" 'Shell ("calc.exe") |
|
| |
|
 |
Razor___ Newbie

Anmeldedatum: 10.05.2008 Beiträge: 9
|
Verfasst am: 01.06.2008, 21:47 |
|
|
So habe ich mir das auch vorgestellt aber der shell befehl funktionier nicht !!!!!!
Bitte helfet mir [img]/sleep.gif[/img]
mfg Razor___ |
|
| |
|
 |
dcm Poster

Anmeldedatum: 04.05.2008 Beiträge: 101
|
Verfasst am: 03.06.2008, 16:41 |
|
|
ich kapiere deinen code nicht, ich würde vorschlagen, du schreibst es von grund auf neu. (oder debuggst es mit msgboxen) diese funktion ruft explorer.exe auf.
Visual Basic: [code]Private Sub Command1_Click() BeispielSub ("X!caExplorer.exe") 'der string wird übergeben. in deinem fall müsste data(3) so ähnlihc aussehen. End Sub
Sub Beispielsub(Beispiel As String)
Select Case LCase(Mid$(Beispiel, 2, 3))
Case "!in" 'ws.SendData "PRIVMSG " & Data(2) & " er Bot besitzt zur zeit folgende Funktionen: !info, !hi, !quit" & vbCrLf
Case "!hi" 'ws.SendData "PRIVMSG " & Data(2) & " :Hallo, " & Mid(Split(Data(0), "!")(0), 2) & vbCrLf
Case "!qu" 'ws.SendData "QUIT " & Data(2) & " :cYa" & vbCrLf
Case "!ca" MsgBox Mid$(Beispiel, 5) Shell (Mid$(Beispiel, 5))
End Select 'Case "!be" 'ws.SendData "PRIVMSG " & Data(2) & " :" & Mid(Split(Data(0), "!")(0), 2) & " you are simply the BEST!" & vbCrLf
'Case "rof" 'ws.SendData "PRIVMSG " & Data(2) & " :Ja den Witz fand ich auch gut!" & vbCrLf
'Case "re " 'ws.SendData "PRIVMSG " & Data(2) & " :Willkommen zurück, " & Mid(Split(Data(0), "!")(0), 2) & vbCrLf 'Case "rechner" 'Shell ("calc.exe") End Sub[/code] |
|
| |
|
 |
Razor___ Newbie

Anmeldedatum: 10.05.2008 Beiträge: 9
|
Problem Gelöst !!!!
Verfasst am: 03.06.2008, 17:11 |
|
|
So nach langem suchen is das rausgekommen und funzt ^^ :
Visual Basic: [code]
shell(data(4))
[/code]
weil er splittet nach jedem " " ^^
mfg Razor___ |
|
| |
|
 |
dcm Poster

Anmeldedatum: 04.05.2008 Beiträge: 101
|
Verfasst am: 03.06.2008, 17:51 |
|
|
...
lol...
naja^^ |
|
| |
|
 |
|
|