1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. $var

Beiträge von $var

  • Kompiliert will mein script nicht

    • $var
    • 2. Juli 2012 um 20:38

    Gleich nach _FileListToArray...

    [autoit]

    If Not IsArray ($dir) Then Exit MsgBox (0, "", "Random Message.")

    [/autoit]
  • _GUICtrlEdit_GetLineCount Problem

    • $var
    • 2. Juli 2012 um 18:54

    Probier doch mal diese Funktion aus:

    Spoiler anzeigen
    [autoit]

    Func _StringCountFilledLines ($s_String)
    Local $a_String = StringSplit ($s_String, @CRLF, 1)
    Local $i_Ret = 0
    For $i = 1 To $a_String[0]
    If $a_String[$i] <> '' Then $i_Ret += 1
    Next
    Return $i_Ret
    EndFunc ;==> _StringCountFilledLines

    [/autoit]

    Als $s_String übergibst du den Inhalt deines Edit-Controls.
    Der Rückgabewert ist dann immer die Anzahl der gefüllten Zeilen. ;)

  • Netzwerkadresse übersetzen

    • $var
    • 2. Juli 2012 um 18:05
    [autoit]

    #include <Inet.au3>
    $PublicIP = _GetIP()
    MsgBox(0, "IP Address", "Your IP Address is: " & $PublicIP)

    [/autoit][autoit]

    TCPStartup() ; <!-- wichtig
    msgbox(0,"IP???",TCPNameToIP("localhost"))
    TCPShutdown()

    [/autoit]
  • Variablen mit funktion übergeben

    • $var
    • 2. Juli 2012 um 16:32

    Du könntest doch einfach in beiden Exe'n den gleichen Pfad angeben... :P

    Ne, also allgemein könntest du eine Textdatei oder eine Ini anlegen, in der du dann den derzeit verwendeten Pfad speicherst.

    Spoiler anzeigen
    [autoit]

    IniWrite
    IniRead

    [/autoit]


    Alternativ kannst du dafür auch die Registry nutzen (würde ich nur in ganz wichtigen Fällen machen).

    Spoiler anzeigen
    [autoit]

    RegWrite
    RegRead

    [/autoit]


    Falls die eine Exe von der anderen Exe gestartet wird, kannst du mit der Parameterübergabe den Pfad übergeben.

    Spoiler anzeigen
    [autoit]

    ; ...
    Global $sPath = @TempDir & '\logfile.txt'
    ShellExecute ('deine_exe.exe', $sPath)
    ; ...

    [/autoit]

    Der bzw. die übergebene(n) Parameter befindet/n sich dann in dem Array $CmdLine
    Auf Wunsch später mehr dazu. :P Komm darauf an, für welche Methode du dich entscheidest.

  • Funktionen klappen nicht

    • $var
    • 2. Juli 2012 um 16:14

    Hier, mit AdlibRegister...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("IPR", 548, 340, 185, 132)
    $Button1 = GUICtrlCreateButton("Let me read a your IP and Computer Name :)", 0, 8, 545, 73, 0)
    GUICtrlSetFont(-1, 16, 400, 2, "Lithos Pro Regular")
    $Input1 = GUICtrlCreateInput("", -8, 144, 481, 21)
    $Progress1 = GUICtrlCreateProgress(0, 224, 478, 17)
    $Label1 = GUICtrlCreateLabel("IP Adress", 0, 120, 49, 17)
    $Label2 = GUICtrlCreateLabel("Computer Name", 0, 168, 80, 17)
    $Input2 = GUICtrlCreateInput("", 0, 184, 473, 21)
    $Button2 = GUICtrlCreateButton("Close", 0, 280, 539, 57, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    AdlibRegister ("_Progress", 500)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    MsgBox ( 0," Register at our Forum", "You get connected to our site")
    ShellExecute (" http://teamsuicide.de.tl")

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

    Case $Form1
    Case $Button2
    MsgBox ( 0," Register at our Forum", "You get connected to our site")
    ShellExecute (" http://teamsuicide.de.tl")
    EndSwitch
    $mac = @ComputerName
    $ip = @IPAddress1
    #cs
    GUICtrlSetData ($Progress1, 10)
    Sleep (500)
    GUICtrlSetData ($Progress1, 20)
    Sleep (500)
    GUICtrlSetData ($Progress1, 30)
    Sleep (500)
    GUICtrlSetData ($Progress1, 40)
    Sleep (500)
    GUICtrlSetData ($Progress1, 50)
    Sleep (500)
    GUICtrlSetData ($Progress1, 60)
    Sleep (500)
    GUICtrlSetData ($Progress1, 70)
    Sleep (500)
    GUICtrlSetData ($Progress1, 80)
    Sleep (500)
    GUICtrlSetData ($Progress1, 90)
    Sleep (500)
    GUICtrlSetData ($Progress1, 100)
    Sleep (500)
    GUICtrlSetData ($input1, $ip)
    GUICtrlSetData ($input2, $mac)
    #ce
    WEnd

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

    Func _Progress ()
    Local Static $i_Percent = 0
    GUICtrlSetData ($Progress1, $i_Percent)
    If $i_Percent > 100 Then
    GUICtrlSetData ($input1, $ip)
    GUICtrlSetData ($input2, $mac)
    $i_Percent = 0
    Else
    $i_Percent += 10
    EndIf
    EndFunc

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

    Func ShowMessage()
    MsgBox(4096, "", "Thank you for using the program. Please register at our page.")
    EndFunc ;==>ShowMessage
    If $Form1 Then
    ShellExecute ("http://www.teamsuicide.de.tl")
    EndIf

    [/autoit]

    Du solltest lernen, Leerzeilen zu setzen und den Tabulator zu benutzen... Dein Code ist ein Graus.

  • If-Else Problem

    • $var
    • 2. Juli 2012 um 01:30
    [autoit]

    $zahl = InputBox("Hi!", "Was ergibt 13 * 7?")

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

    If $zahl = 91 Then
    MsgBox(6, $zahl, "Richtig!")
    Else
    MsgBox(0, $zahl, "Die Antwort ist leider falsch.")
    EndIf

    [/autoit]

    Wenn du ElseIf bzw Else benutzt (also mehr, als nur einen Einzeiler machst), musst du die Anweisungen in einer neuen Zeile schreiben. ;)

  • If-Else Problem

    • $var
    • 2. Juli 2012 um 01:07

    Der Fehler ist in Zeile 7.

    Eine If-Abfrage besteht immer aus dem Anführenden "If" und endet meistens mit einem "EndIf".
    Es geht auch ohne "EndIf", wenn es ein Einzeiler ist (wie in Zeile 3).
    Dazwischen kannst du "ElseIf" oder "Else" benutzen. Deren Funktionalität scheinst du ja zu kennen... :P
    In Zeile 7 fragst du aber wieder mit "If" ab, was eben der Fehler ist. Dort gehört ein "ElseIf" rein.

  • Buchstabe in Variable hinzufügen

    • $var
    • 27. Juni 2012 um 16:10

    Das, was in die Konsole geschrieben wird, kannst du dir in Scite ansehen, wenn du dein Script von dort aus startest.
    Mit dem Hotkey F5 oder Tools -> Go.

    Alternativ kannst du die Zeile aber auch mit folgender ersetzen:

    [autoit]

    ToolTip ($s_String)

    [/autoit]
  • Buchstabe in Variable hinzufügen

    • $var
    • 27. Juni 2012 um 15:28
    Spoiler anzeigen
    [autoit]

    Global $s_String ; Definierst einen leeren String

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

    While True
    For $i = 48 To 90 ; Fragst in einer Schleife nach allen alphanumerischen Zeichen ab
    If _IsPressed (Hex ($i, 2)) Then
    While _IsPressed (Hex ($i, 2))
    Sleep (1)
    WEnd
    $s_String &= Chr ($i) ; Hängst die gedrückte Taste an den bestehenden String an
    ConsoleWrite ($s_String &@CRLF) ; Schreibst diesen in die Konsole
    EndIf
    Next
    WEnd

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

    Func _IsPressed($sHexKey, $vDLL = 'user32.dll')
    ; $hexKey must be the value of one of the keys.
    ; _Is_Key_Pressed will return 0 if the key is not pressed, 1 if it is.
    Local $a_R = DllCall($vDLL, "short", "GetAsyncKeyState", "int", '0x' & $sHexKey)
    If @error Then Return SetError(@error, @extended, False)
    Return BitAND($a_R[0], 0x8000) <> 0
    EndFunc ;==>_IsPressed

    [/autoit]
  • Auf Restore reagieren

    • $var
    • 26. Juni 2012 um 14:26

    Hm, ich habe irgendwie bei GUIRegisterMsg gesucht... :pinch:
    Lag im Endeffekt doch nur an mir.

    Vielen Dank! :thumbup:

  • Auf Restore reagieren

    • $var
    • 26. Juni 2012 um 13:39

    Eine kurze und knappe Frage, auf die es sicher auch eine kurze Antwort gibt...

    Wie kann ich (im OnEvent-Mode) auf die Wiederherstellung meiner GUI reagieren?
    Wenn sie also minimiert war und wieder eingeblendet wird.

  • GUICtrlSetData aus einer anderen exe?

    • $var
    • 25. Juni 2012 um 14:16
    [autoit]

    ControlSetText

    [/autoit]

    Die dafür benötigte ControlID findest du am einfachsten mit dem "AutoIt Window Info"-Tool heraus.

  • Einen Timmer in ein label einbauen

    • $var
    • 24. Juni 2012 um 21:40

    Ich habe jetzt nicht wirklich Lust, den kompletten Code anzuschauen... So in etwa sollte es aber passen:

    Spoiler anzeigen
    [autoit]

    Func timer()
    Local Static $i = 10
    $i -= 1
    GUICtrlSetData($Label30, $i)
    If $i = 10 Then
    $randomzahl1 = randomzahl1() ;Zahl generieren
    GUICtrlSetData($Label3, $randomzahl1)
    $randomzahl1 = randomzahl1()
    GUICtrlSetData($Label5, $randomzahl1)
    ElseIf $i = 0 Then
    $i = randomzahl1()
    EndIf
    EndFunc ;==>timer

    [/autoit]
  • Einen Timmer in ein label einbauen

    • $var
    • 24. Juni 2012 um 15:40

    Etwa so sollte es funktionieren:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Timer", 214, 74, 192, 124)
    GUISetFont(24, 800, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Timer", 0, 0, 210, 68)
    GUICtrlSetFont(-1, 30, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    AdlibRegister ("timer", 1000)

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

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

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

    Func timer()
    Local Static $i = 10
    $i -= 1
    GUICtrlSetData ($Label1, $i)
    If $i = 0 Then
    AdlibUnRegister ("timer")
    MsgBox (0, "title", "text")
    EndIf
    EndFunc

    [/autoit]
  • Float Varible deklarieren

    • $var
    • 23. Juni 2012 um 20:00

    Bei AutoIt gibt es nur Variants.

  • Offlinelogger --Probleme mit timer / while-Schleife

    • $var
    • 22. Juni 2012 um 21:10

    Was genau heißt "doch nix passiert"?
    Ich persönlich verstehe bloß den Vergleich mit Ping < 6 nicht... Was genau soll das bezwecken? Warum gerade 6?

    So könnte ich es mir jedenfalls vorstellen (nicht getestet):

    [autoit]

    #region Funktionen für den Nicht-Online-Checker
    Func onlinecheck()
    If Ping("http://www.google.de/") Then
    $timer = 0
    Sleep(2000)
    Else
    $timer = TimerInit()
    Do
    Sleep (1000)
    Until Ping("http://www.google.de/")
    $timestring = TimerDiff($timer)
    MsgBox(0,"",$timestring)
    EndIf
    EndFunc
    #endregion

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

    While 1
    onlinecheck()
    Sleep(200)
    WEnd

    [/autoit]
  • *.txt Datei auslesen & "auswerten"

    • $var
    • 22. Juni 2012 um 21:01
    [autoit]

    $MsgBox = MsgBox(4+32, "", "In Textdatei schreiben?")
    If $MsgBox = 6 Then
    $sPath = @ScriptDir & "\coord.txt"
    For $i = 0 To UBound ($aRet) - 1
    FileWrite ($sPath, $aRet[$i][0] &", "& $aRet[$i][1] &", "& $aRet[$i][2])
    Next
    EndIf

    [/autoit]
  • Auslesen von Quelltext

    • $var
    • 22. Juni 2012 um 20:17

    An _FFStart übergibst du keine URL und deshalb bekommst du den Quellcode einer leeren Seite zurück (about:blank).
    Du müsstest also mit den FF-Funktionen zu dem Punkt navigieren, von dem du den Code haben willst - oder du übergibst gleich eine Adresse.

    Allgemein bessere Varianten wären InetRead bzw. _InetGetSource (aus der Inet.au3).

  • Verknüpfung erstellen mit rechter Maustaste und Script

    • $var
    • 22. Juni 2012 um 12:00

    $CMDLine[n] enthält die Parameter, die an die Exe übergeben werden. In diesem Fall ist es der Pfad zur Quelldatei.

  • *.txt Datei auslesen & "auswerten"

    • $var
    • 21. Juni 2012 um 17:45
    Zitat von chip

    Dir ist aber schon bewusst, das _StringBetween intern auch einfach ein RegExp macht und daher in diesem Fall ein manuelle RegExp komplett unnötig ist ;).

    Ja, ist mir klar. Doch damit sieht es schöner aus und ist auch etwas kürzer.
    Ein StringRegExp ist auch etwa 67% schneller...

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™