• Ich habe mal eine Art scriptsprache gebaut. Naja eher ist es eine Anregung, dass ihr es macht es sind nämlich nur 2 dähmliche Befehle da.

    Hauptdatei:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <_stringgetstr.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $befs='cout:"text",anzahl (Befehl gibt etwas aus)'&'|msg:"titel","text" (Befehl gibt etwas in einem Fenster aus)'
    hotkeyset("{enter}","funk")
    ;~ hotkeyset("{enter}")

    [/autoit] [autoit][/autoit] [autoit]

    Global $title="Scriptlanguage"
    #Region ### START Koda GUI section ### Form=D:\Progen\AutoIt\Meine\Forms\scriptlang.kxf
    $Form1 = GUICreate($title, 438, 392, 196, 125, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    $List1 = GUICtrlCreateList("", 16, 8, 385, 110)
    guictrlsetdata($List1,$befs)
    GUICtrlSetTip(-1,"Hier sind alle Befehle")
    $List1 = GUICtrlCreateList("", 16, 144, 385, 201)
    GUICtrlSetBkColor($List1,"0xEEEEEE")
    GUICtrlSetTip(-1,"Konsole")
    $Input1 = GUICtrlCreateInput("", 16, 360, 385, 21)
    GUICtrlSetTip(-1,"Geben sie einen der obigen Befehle ein.")
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    if $cmdline[0]>0 Then
    guictrlsetdata($Input1,$cmdline[1])
    funk()
    exit
    EndIf
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    if WinActive($title)=0 Then
    hotkeyset("{enter}")
    WinWaitActive($title)
    hotkeyset("{enter}","funk")
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    func links($str)
    Return stringmid($str,1,stringinstr($str,":",0,1)-1)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    func rechts($str)
    Return stringmid($str,stringinstr($str,":",0,1)+1)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    func trim($str,$txtx=" ")
    return stringreplace($str,$txtx,"")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    func funk()
    hotkeyset("{enter}")
    if guictrlread($Input1)<>"" Then
    $txt=guictrlread($Input1)
    if trim($txt)<>"" Then
    $li=links(trim($txt))
    $re=rechts($txt)
    Switch $li
    case "cout"
    if trim($re)="" then
    msgbox(0,"ERROR","Befehlserror: Falsche Anzahl an Parametern")
    elseif _Stringgetnum($re,",")=1 then
    $t=trim($re,'"')
    GUICtrlSetData($List1,$t&"|")
    Else
    $t=trim(_stringgetStr($re,",",1),'"')
    $z=int(trim(_StringgetStr($re,",",2),'"'))
    if $z<1 then $z=1
    for $x=1 to $z
    GUICtrlSetData($List1,$t&"|")
    Next
    EndIf
    case "msg"
    if _stringgetnum($re,",")<>2 then
    msgbox(0,"ERROR","Befehlserror: Falsche Anzahl an Parametern")
    Else
    $au=trim(_stringgetStr($re,",",2),'"')
    $ti=trim(_StringgetStr($re,",",1),'"')
    msgbox(0,$ti,$au)
    EndIf
    EndSwitch
    EndIf
    GUICtrlSetData($Input1,"")
    EndIf
    hotkeyset("{enter}","funk")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    func msg($txt="")
    msgbox(0,"",$txt)
    EndFunc

    [/autoit]


    Include:

    Spoiler anzeigen
    [autoit]

    Func _StringgetStr($String,$Search,$index)
    $old=0
    $mom=0
    $isindex=0
    For $x=0 To $index
    $isindex=$isindex+1
    $old=$mom
    $mom=StringInStr($String,$Search,0,1,$old+1)
    If $mom=0 Or $isindex=$index Then ExitLoop
    Next
    If $mom=0 And $isindex<>$index Then
    Return ""
    ElseIf $mom=0 And $isindex=$index Then
    $restring=StringMid($String,$old+1)
    Return $restring
    Else
    $restring=StringMid($String,$old+1,$mom-$old-1)
    Return $restring
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Stringgetnum($String,$Search)
    $old=0
    $mom=1
    $zahl=0
    While $mom<>0
    $mom=StringInStr($String,$Search,0,1,$old+1)
    If $mom>0 Then
    $old=$mom
    $zahl=$zahl+1
    EndIf
    WEnd
    Return $zahl+1
    EndFunc

    [/autoit]

    2 Mal editiert, zuletzt von TheShadowAE (13. Februar 2010 um 22:04)

  • Naja für eine Scriptsprache ist es sehr wenig.
    Und wenn du es Scriptsprache nennen willst, bau es weiter aus (min 30 Befehle).

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

  • Nichts gegen dich , aber soetwas bekommt jeder in 2 Minuten hin .. ;( und ich finde es unnötig soetwas zu posten als "Anregung für andere".
    Aber wenn du die Posts so nötig hast ...