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. qon

Beiträge von qon

  • InetGet & Background = 1

    • qon
    • 29. Januar 2008 um 19:09

    yo

    geht immernoch nicht, wenn ich die sleep(50) mal auf 200ms mache sehe ich, dass ganz kurz 0% erscheinen, allerdings danach kommt garnichts mehr von %.
    Dann zeigt er praktisch wieder den Splash von davor ohne irgendetwas.
    Er läds zwar richtig runter und führts aus, aber die anzeige kommt einfach nicht.
    ich hab ka was ich falsch mache
    edit: er zeigt doch die splash aus der loop, aber er lässt net nur zahl% weg sondern auch das fertig dahinter.. also irgendwie alles was nach der Variable in der Inputbox kommt

  • InetGet & Background = 1

    • qon
    • 29. Januar 2008 um 18:09

    na dann hjab ich ne internet seite gefunden wo crap stand ^^ egal danke

  • InetGet & Background = 1

    • qon
    • 29. Januar 2008 um 14:41

    Moin moin Leutz,

    ich hab n seltsammes Problem, nämlich das er mir als Ausgabe des Splahs mit dem Prozent immer 0% zeigt.
    Hier mal ein Codeausschnitt den ich isoliert habe:

    Spoiler anzeigen
    [autoit]


    Global Const $InetUpdateVersionPath = "http://home.arcor.de/doppelmoppelmord/calc++/version.txt"
    Global Const $InetUpdateVersionName = "version.txt"
    Global Const $InetUpdatePath = "http://home.arcor.de/doppelmoppelmord/calc++/CalcUpdate.exe"
    Global Const $InetUpdateName = "CalcUpdate.exe"
    Global Const $Version = "1.2 Beta"

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

    _Menu_Updates()

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

    Func _Menu_Updates()
    Filedelete(@tempdir & "\" & $InetUpdateVersionName)
    Filedelete(@tempdir & "\" & $InetUpdateName)
    If Msgbox(65,"Updates","Calc++ wird nun im Internet nach Updates suchen, fortfahren?") <> 1 Then
    Return 0
    EndIf
    $InternetGet = InetGet($InetUpdateVersionPath,@tempdir & "\version.txt",1)
    IF @error Then
    Msgbox(48,"Fehler","Es ist ein Fehler aufgetreten, entweder besteht keine Internetverbindung oder" & @CRLF & "die Versionsinformationen sind zur Zeit nicht verfügbar.")
    Return 0
    EndIf
    $InternetVersion = FileRead(@tempdir & "\version.txt")
    IF $InternetVersion <> $Version Then
    If Msgbox(52,"Neue Version","Es ist eine Neue Version verfügbar, soll diese nun heruntergeladen und installiert werden?") <> 6 Then
    Return 0
    EndIf
    Else
    Msgbox(64,"Aktuell","Calc++ ist auf dem aktuellsten Stand.")
    Return 0
    EndIf
    $InetSize = InetGetSize($InetUpdatePath)
    msgbox(0,"inetsize",$InetSize) ;########WEG
    If @error Then
    Msgbox(48,"Fehler","Es ist ein Fehler aufgetreten, möglicherweise ist der FTP Server zur Zeit nicht erreichbar.")
    Return 0
    EndIf
    SplashTextOn("","Lade herunter...",250,20,Default,Default,1)
    InetGet($InetUpdatePath,@tempdir & "\" & $InetUpdateName,1,1)
    If @error Then
    Splashoff()
    Msgbox(48,"Fehler","Es ist ein Fehler aufgetreten, möglicherweise ist der FTP Server zur Zeit nicht erreichbar.")
    Return 0
    EndIf
    While @InetGetActive
    SplashOff()
    $InetUpdateProzent = $InetSize/@InetGetBytesRead/100
    SplashTextOn("","Lade herunter... " & $InetUpdateProzent & "% fertig",250,20,Default,Default,1)
    sleep(50)
    WEnd
    SplashOff()
    Run(@Tempdir & "\CalcUpdate.exe")
    Exit
    EndFunc

    [/autoit]

    greeeeeeeeeeeeeeetz

  • Von Handle auf Pfad????

    • qon
    • 24. Januar 2008 um 14:44

    Hi,

    Neue Prozess-Funktionen
    vll. hilfts ja

    Greetz

  • Was coded ihr noch?

    • qon
    • 23. Januar 2008 um 22:57

    Hi Leute,
    es interessiert mich an diesem Punkt mal, ob und was ihr noch so außer Autoit3 scripted/programmiert.
    Bin zur Zeit sowieso auf Suche nach einer anderen Sprache ( nichts gegen au3! :) ).
    Wenn ihr wollt könnt ihr ja kurz dabei schreiben warum ihr gerade diese Sprache ausübt und keine andere ;)
    Ich hab sicher ne wichtige Sprache vergessen, könnt mich ja dran erinnern ;)

    Greetz qon

  • Dos Programm mit drei Parametern automatisieren

    • qon
    • 23. Januar 2008 um 21:02

    OT:
    @Post#13
    Seehr viele Befehle sind in der deutschen Hilfe ja logischerweise noch garnicht drin, drum konnte er sich da dumm und dusselig suchen,
    hätte nichts gefunden ;) Das musste ich jetzt einfach mal sagen weil ich das am Anfang auch nicht sofort geschnallt hatte.
    Also immer ganz gechillt 8)

    greetz

  • nach eingabe in einer GUICtrlCreateInput () , nach Enter drücken soll ein button fokusiert und ausgeführt werden

    • qon
    • 23. Januar 2008 um 18:41

    Ich habe zur Zeit das gleiche Problem,
    vielleicht werd ichs mit _IsPressed lösen, mal schaun :) :)

  • Rechtwinklig? Spitzwinklig? Stumpfwinklig?

    • qon
    • 22. Januar 2008 um 22:36

    Hi,

    das mit $ES_NUMBER war doch nicht so eine tolle Idee ;)
    Man kann jetzt keine Kommazahlen angeben :(
    Ich habs jetzt so gelöst:

    Spoiler anzeigen
    [autoit]


    #notrayicon
    #include <guiconstants.au3>
    #include <Array.au3>

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

    $Gui = GUICreate("©qon", 200, 150)
    $Labela = GUICtrlCreateLabel("Seite a", 20, 22, 80)
    $a = GUICtrlCreateInput(3, 100, 20)
    $Labelb = GUICtrlCreateLabel("Seite b", 20, 52, 80)
    $b = GUICtrlCreateInput(4, 100, 50)
    $Labelc = GUICtrlCreateLabel("Seite c", 20, 82, 80)
    $c = GUICtrlCreateInput(5, 100, 80)
    $Calc = GUICtrlCreateButton("Überprüfe!", 70, 115)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Calc
    _Calc()
    EndSwitch
    WEnd

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

    Func _Calc()
    Local $S[3] = [GUICtrlRead($a), GUICtrlRead($b), GUICtrlRead($c)]

    For $i = 0 to 2
    $S[$i] = StringReplace($S[$i],",",".")
    If (StringIsFloat($S[$i]) = 0 and StringIsDigit($S[$i]) = 0) Then
    MsgBox(16,"Zahlen","Du hast Buchstaben, ungültige Zeichen oder nichts eingegeben")
    Return 0
    EndIf
    Next


    _ArraySort($S)

    If ($S[0] + $S[1]) < $S[2] Then Return SetError(0, 1, MsgBox(16, "", "Unmögliche Seitenlängen angegeben"))

    Select
    Case ($S[0]^2)+($S[1]^2) = $S[2]^2
    MsgBox(64, "Recht", "Das Dreieck ist rechtwinklig")
    Case ($S[0]^2)+($S[1]^2) < $S[2]^2
    MsgBox(64, "Stumpf", "Das Dreieck ist stumpfwinklig")
    Case ($S[0]^2)+($S[1]^2) > $S[2]^2
    MsgBox(64, "Spitz", "Das Dreieck ist spitzwinklig")
    EndSelect

    Return 1
    EndFunc

    [/autoit]

    mfg ;)

  • Rechtwinklig? Spitzwinklig? Stumpfwinklig?

    • qon
    • 22. Januar 2008 um 00:09

    Hi, danke für deine Tipps!

    Also ich verstehe alles bis auf die Switch Abfrage,
    aber vielleicht hängts da an meinen mathematischen Kenntnissen.
    Vor der Switchabfrage sind wir ja im Prinzip soweit wie bei meinem Script bei der Select ( natürlich wurde noch auf Gültigkeit des Dreiecks geprüft ),
    aber wie schaust du dann, obs nun recht stumpf oder spitzwinklig ist?
    So verstehe ichs:

    Spoiler anzeigen
    [autoit]


    #notrayicon
    #include <guiconstants.au3>
    #include <Array.au3>

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

    $Gui = GUICreate("©qon", 200, 150)
    $Labela = GUICtrlCreateLabel("Seite a", 20, 22, 80)
    $a = GUICtrlCreateInput(3, 100, 20, Default, Default, $ES_NUMBER)
    $Labelb = GUICtrlCreateLabel("Seite b", 20, 52, 80)
    $b = GUICtrlCreateInput(4, 100, 50, Default, Default, $ES_NUMBER)
    $Labelc = GUICtrlCreateLabel("Seite c", 20, 82, 80)
    $c = GUICtrlCreateInput(5, 100, 80, Default, Default, $ES_NUMBER)
    $Calc = GUICtrlCreateButton("Überprüfe!", 70, 115)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Calc
    _Calc()
    EndSwitch
    WEnd

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

    Func _Calc()
    Local $S[3] = [Number(GUICtrlRead($a)), Number(GUICtrlRead($b)), Number(GUICtrlRead($c)) ]

    _ArraySort($S)

    If ($S[0] + $S[1]) < $S[2] Then Return SetError(0, 1, MsgBox(16, "", "Unmögliche Seitenlängen angegeben!"))

    Select
    Case ($S[0]^2)+($S[1]^2) = $S[2]^2
    MsgBox(64, "Recht", "Das Dreieck ist rechtwinklig")
    Case ($S[0]^2)+($S[1]^2) < $S[2]^2
    MsgBox(64, "Stumpf", "Das Dreieck ist stumpfwinklig")
    Case ($S[0]^2)+($S[1]^2) > $S[2]^2
    MsgBox(64, "Spitz", "Das Dreieck ist spitzwinklig")
    EndSelect

    Return 1
    EndFunc

    [/autoit]

    so quadriere ich und schaue ob c² am ende größer oder kleiner als a² und b² zusammen ist.
    Größer bedeutet Spitz,
    kleiner bedeutet Stumpf und gleich bedeutet Rechtwinklig.
    Wäre cool, wenn du mir deine Variante erklärst ;)
    edit: Ich hab sie glaube verstanden, ist genau die gleiche nur anders hingeschrieben ;)
    erste Case: wenn das Argument ( das quadrat von a + das quadrat von b ) gleich dem quadrat von c (s[2]) ist,
    ists rechtwinklig.
    zweite: wenn das Argument zwischen 0 und dem quadrat von c liegt ists stumpf,
    dritte: wenn ein anderer fall eintritt ( kanns nurnoch größer sein ) ists spitz.
    wenn was falsch is bitte korrigiern ;)

    lg qon

  • Rechtwinklig? Spitzwinklig? Stumpfwinklig?

    • qon
    • 21. Januar 2008 um 22:26

    Yop, es geht um ein Dreieck.
    Mit diesem Tool solltet ihr ganz bequem rauskriegen obs rechtwinklig, stumpfwinklig oder spitzwinklig ist!
    Einfach die Seiten der Länge nach angeben, also kürzeste Seite zuerst, danach die mitlerste dann die längste Seite.
    Wäre nett wenn ihrs kontrolliert obs immer klappt :) :)

    Code:

    Spoiler anzeigen
    [autoit]


    #notrayicon
    #include <guiconstants.au3>
    #include <Array.au3>

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

    $Gui = GUICreate("©qon", 200, 150)
    $Labela = GUICtrlCreateLabel("Seite a", 20, 22, 80)
    $a = GUICtrlCreateInput(3, 100, 20)
    $Labelb = GUICtrlCreateLabel("Seite b", 20, 52, 80)
    $b = GUICtrlCreateInput(4, 100, 50)
    $Labelc = GUICtrlCreateLabel("Seite c", 20, 82, 80)
    $c = GUICtrlCreateInput(5, 100, 80)
    $Calc = GUICtrlCreateButton("Überprüfe!", 70, 115)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Calc
    _Calc()
    EndSwitch
    WEnd

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

    Func _Calc()
    Local $S[3] = [GUICtrlRead($a), GUICtrlRead($b), GUICtrlRead($c)]

    For $i = 0 to 2
    $S[$i] = StringReplace($S[$i],",",".")
    If (StringIsFloat($S[$i]) = 0 and StringIsDigit($S[$i]) = 0) Then
    MsgBox(16,"Zahlen","Du hast Buchstaben, ungültige Zeichen oder nichts eingegeben")
    Return 0
    EndIf
    Next

    _ArraySort($S)

    If ($S[0] + $S[1]) < $S[2] Then Return SetError(0, 1, MsgBox(16, "", "Unmögliche Seitenlängen angegeben"))

    Select
    Case ($S[0]^2)+($S[1]^2) = $S[2]^2
    MsgBox(64, "Recht", "Das Dreieck ist rechtwinklig")
    Case ($S[0]^2)+($S[1]^2) < $S[2]^2
    MsgBox(64, "Stumpf", "Das Dreieck ist stumpfwinklig")
    Case ($S[0]^2)+($S[1]^2) > $S[2]^2
    MsgBox(64, "Spitz", "Das Dreieck ist spitzwinklig")
    EndSelect

    Return 1
    EndFunc

    [/autoit]

    Viel Spass!^^

    Edit: Ergänzung zur Prüfung der richtigen Reihenfolge
    Edit: Aspirins Verbesserung eingebaut!
    Edit: Weitere Änderungen, das Kommazahlen wieder möglich sind

  • Abbruch einer Verbindung feststellen

    • qon
    • 19. Januar 2008 um 00:48

    Hi,

    das ist mit meiner Variante leider nicht möglich,
    aber hab meine Variante mal zu ner Funktion zusammengefasst:

    Spoiler anzeigen
    [autoit]


    #include <Constants.au3>
    #include <string.au3>

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

    ;===============================================================================
    ;
    ; Description: Checks if a connection to a specific ip adress exists.
    ; Syntax: _connectioncheck($ip)
    ; Parameter(s): $ip - The IP Adress to look for
    ; Requirement(s): None
    ; Return Value(s): On Success - Returns 1
    ; On Failure - Returns 0 and sets @error
    ; 1 = No connection exists
    ; Author(s): qon
    ; Note(s): None
    ;
    ;===============================================================================

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

    func _checkipconnect($ip)
    Local $istring
    $foo = Run(@ComSpec & " /c netstat -n", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    $istring = $istring & $line
    Wend

    IF (Stringinstr($istring,$ip) <> 0) Then
    Return 1
    Else
    Seterror(1)
    Return 0
    EndIf
    EndFunc

    [/autoit]

    Beispiel:

    Spoiler anzeigen
    [autoit]


    IF _checkipconnect("192.168.0.200") = 1 then
    msgbox(0,"","besteht")
    else
    msgbox(0,"","besteht nicht")
    endif

    [/autoit]

    mfg qon

  • Bildschirm per TCP senden

    • qon
    • 18. Januar 2008 um 14:31

    Hmm, also GuiCtrlCreatePic geht jedenfalls auch bei JPG's ;)
    Und auch bei einer niedrigen Qualität.
    Bei meinem script würde es ja funktionieren wenn ers per TCP versenden würde, ich weiss allerdings nicht, warum ers nich versendet.
    Wenn ichs in einem kleineren Script teste funzt es mit TCPsend.

  • Gui Laggt?

    • qon
    • 17. Januar 2008 um 15:15

    beliebter spruch: "glaskugel" :)
    Code!?

  • Bildschirm per TCP senden

    • qon
    • 16. Januar 2008 um 18:25

    Hmm habe mal die Namen verändert also 2 verschiedene Namen, und den Fehler von $File zu $Text korrigiert, funzt aber immernoch nicht :(

  • Bildschirm per TCP senden

    • qon
    • 16. Januar 2008 um 16:18

    Hi,
    hab mal unabhängig von dem hier was gebastelt,
    vllt ists ja hilfreich, is in ner zip angehängt.
    mfg

    Dateien

    livedesktop.zip 1,05 kB – 308 Downloads
  • Mehrere MsgBoxen gleichzeitig

    • qon
    • 13. Januar 2008 um 21:46

    Hi,

    also gleichzeitig geht nicht, aber nacheinander. Falls du was willst gibt's doch kein Problem, oder hängst du irgendwo?
    Wenn ja --> Code

    mfg

  • Funktion _RegReadBinary()

    • qon
    • 13. Januar 2008 um 00:58

    Hi Bugfix ;)

    den Errorteil könnte man doch nett verkürzen:

    Spoiler anzeigen
    [autoit]


    ;===============================================================================
    ;
    ; Function Name: _RegReadBinary($KEY, $VALUE)
    ; Description:: Liest einen Registryschlüssel vom Typ REG_BINARY ein und
    ; gibt diesen als String zurück.
    ; Ist der Schlüssel nicht vom Typ REG_BINARY, wird der Wert
    ; normal gelesen und zurückgegeben.
    ; Parameter(s): $KEY Registryschlüssel
    ; $VALUE Registrywert
    ; Requirement(s): #include <string.au3>
    ; Return Value(s): Erfolg: String des Registrywertes
    ; Fehler: @error
    ; @error = 0 Key oder Value nicht übergeben
    ; @error = 1 Schlüssel kann nicht geöffnet werden
    ; @error = 2 Hauptschlüssel kann nicht geöffnet werden
    ; @error = 3 Fernzugriff auf die Registry nicht möglich
    ; @error = -1 Wert kann nicht geöffnet werden
    ; @error = -2 Typ des Wertes wird nicht unterstützt
    ; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
    ;
    ;===============================================================================
    #include <string.au3>
    Func _RegReadBinary($KEY, $VALUE)
    If $KEY = '' Or $VALUE = '' Then Return SetError(0)
    $reg = RegRead($KEY, $VALUE)
    If @error Then Seterror(@error)
    If @extended <> 'REG_BINARY' Then Return $reg
    $val = ''
    For $i = 1 To StringLen($reg) - 2 Step 2
    $tmp = _HexToString(StringMid($reg, $i, 2))
    If $tmp <> "" Then
    $val = $val & $tmp
    EndIf
    Next
    Return $val
    EndFunc ;==>_RegReadBinary

    [/autoit]

    vielleicht hatte es auch einen Sinn, es anders zu machen ;) Aber finde es so schön kurz :P

    mfg qon

  • Lesen auf txt dokument?

    • qon
    • 13. Januar 2008 um 00:54

    Also das beste wäre, du ließt die Hilfe genauer!!! Ich bin mir sicher es wird auf IniWrite verlinkt!

    mfg ;)

  • Chat Clienten bauen

    • qon
    • 13. Januar 2008 um 00:40

    Altes thread...
    aber ich schließe mich dir an, das Problem zerstört mein ganzes Projekt :(

  • Lesen auf txt dokument?

    • qon
    • 13. Januar 2008 um 00:27

    wie, wie kopiert das script das wort und geht zum nächsten? ;)
    Defaultwert heisst ganz einfach Standardwert,
    sowas kann man zur Not aber auch auf https://autoit.de/www.leo.org nachschauen!
    Genaueres müsste in der Hilfe stehn.

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™