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. Derpy Hooves

Beiträge von Derpy Hooves

  • *verzweifel* .gif transparent

    • Derpy Hooves
    • 28. Dezember 2009 um 23:56

    1. es wäre sehr hilfreich, wenn wir das script dazu sehen würden
    2. thread-titel wie *verzweifelt* helfen einem nicht gerade weiter das Problem einzugrenzen bevor man in den Thread geht... mit vielsagenden Threadtiteln werden die Profis des entsprechenden Themas eher angesprochen

    //EDIT:
    freut mich dass es sich gelöst hat :thumbup:

  • Edit scrollt nicht mit

    • Derpy Hooves
    • 28. Dezember 2009 um 23:24

    tankepööön^^

    funzt 1a :thumbup:

  • Edit scrollt nicht mit

    • Derpy Hooves
    • 28. Dezember 2009 um 23:04

    ich habe da ne Edit Box

    [autoit]

    $Edit1 = GUICtrlCreateEdit("", 0, 575, 1024, 150, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$WS_VSCROLL))

    [/autoit]

    und füge durch meinen code je nach aktion etwas in diese Edit Box dazu

    [autoit]


    $oldEdit = GUICtrlRead($Edit1)
    GUICtrlSetData($Edit1, $oldEdit & "Du musst dich zuerst mit dem Server verbinden" & @CRLF)

    [/autoit]

    wenn die edit box voll ist wird an der seite der scrollbalken benutzbar, aber die editbox bleibt hängen und scrollt nicht nach unten mit...
    ist es möglich dass sie automatisch mitscrollt?

  • Delimiter auslesen statt ausführen?

    • Derpy Hooves
    • 26. Dezember 2009 um 23:42

    ah danke dir vielmals^^ auf sowas muss man auch ersma kommen xD
    großes Lob Raupi, :thumbup:

  • Delimiter auslesen statt ausführen?

    • Derpy Hooves
    • 26. Dezember 2009 um 23:30

    moep, das client script kann ich dir schicken... für das vom server musst du C++ können und ma die entwickler von TeamSpeak3 fragen X(

    Ausgabe der Console
    84
    83
    51
    10
    13

    //EDIT
    ok, an sich sendet er demnach TS3LFCR
    (Ja, ANSI Tabellen sind was feines)
    nur dass LF und CR als jeweils ein Zeichen ausgelesen werden... und warum auch immer sie interpretiert werden...

  • Delimiter auslesen statt ausführen?

    • Derpy Hooves
    • 26. Dezember 2009 um 23:02

    das muss ich nicht extra nochma überprüfen sie blieb immer gleich (5)

  • Delimiter auslesen statt ausführen?

    • Derpy Hooves
    • 26. Dezember 2009 um 22:56
    Zitat von Raupi

    View EndOfLine einschalten. Da kannst du die CR un LF sehen.

    hammena?
    auf gut deutsch: Was, wie und wo genau bitte?

  • Delimiter auslesen statt ausführen?

    • Derpy Hooves
    • 26. Dezember 2009 um 22:49

    auch dieses funktioniert nicht...

    Gibt es denn keine Möglichkeit den Rückgabestring in rohform auszulesen?

  • Delimiter auslesen statt ausführen?

    • Derpy Hooves
    • 26. Dezember 2009 um 22:42

    Ich hoffe dir reicht meine Aussage und ich muss kein beweisscreenshot machen aber der Zeilenumbruch bleibt

    getestet mit

    [autoit]

    MsgBox(0, "", StringReplace($get,@CRLF,"") & "TEST")

    [/autoit]

    des weiteren versuche ich nicht nur den Zeilenumbruch dort zu killen in der Ausgabe... an sich würde das ja nix machen... jedoch will ich ja bestimmte antworten die mehr Informationen enthalten als "TS3" komplett auswerten können^^ und dafür müssen diese Zeilenumbrüche verschwinden^^

  • Delimiter auslesen statt ausführen?

    • Derpy Hooves
    • 26. Dezember 2009 um 22:32

    ok ich werde mal etwas konkreter:

    ich weiss der Server sendet mir etwas zurück... dieses nehme ich folgendermassen an

    [autoit]


    $get = TCPRecv($socket, 1024)
    If $get <> "" Then
    MsgBox(0, "", $get & " - " & StringLen($get))
    EndIf

    [/autoit]

    nun gibt mir die messagebox folgendes aus:
    [Blockierte Grafik: http://rootz-network.de/MsgBox_zeilenumbruch.jpg]

    also ich sehe dort folgendes:
    Der String den ich vom Server bekomme ist 5 Zeichen lang...
    die ersten 3 Zeichen sind meiner meinung nach das TS3... die anderen 2 Zeichen müssen ergo den Zeilenumbruch herbeifühern?!

  • Delimiter auslesen statt ausführen?

    • Derpy Hooves
    • 26. Dezember 2009 um 22:15

    was wird denn in einer MsgBox als Zeilenumbruch interpretiert?
    weil den Zeilenumbruch sehe ich mehr als deutlich in meiner MsgBox!

  • Delimiter auslesen statt ausführen?

    • Derpy Hooves
    • 26. Dezember 2009 um 22:03

    Gibt es eine Möglichkeit bestimmte Delimiter mit auszulesen statt auszuführen?

    Bsp:
    Vom Server wird an den Client eine Nachricht gesendet mit dem Inhalt:
    Text\r

    dieser wird vom Client in einer MsgBox ausgegeben als Text mit Zeilenumbruch...
    ich würde es jedoch gerne haben wenn in der Messagebox steht
    Server sendete: > Text\r <
    also ist es möglich dass das \r ebenfalls in den String mit einbezogen wird?

  • TCP Problem - Serverreaktion & Serverantwort

    • Derpy Hooves
    • 26. Dezember 2009 um 20:27

    heureka es funktioniert^^
    ich danke euch leute, thx very much^^

  • TCP Problem - Serverreaktion & Serverantwort

    • Derpy Hooves
    • 26. Dezember 2009 um 20:19

    Um nicht irgendwas falsch zu verstehen:
    bevor ich TCPRecv benutzen kann muss ich doch erstmal TCPListen und TCPAccept benutzen, oder?

    //EDIT
    ok hat sich erledigt ich hab nochma in der Function Referenz nachgeguckt xD

  • TCP Problem - Serverreaktion & Serverantwort

    • Derpy Hooves
    • 26. Dezember 2009 um 20:10

    Ich danke dir, so klappt es^^...
    fehlt nur noch das Problem dass der Server nach jeden Befehl ja eine Antwort vom Server gesendet wird... und ich diese Antwort gerne empfangen und auslesen würde, weil sie manchmal wichtige Informationen enthält

  • Geo-Koordinaten umrechnen

    • Derpy Hooves
    • 26. Dezember 2009 um 16:51
    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    GUICreate("GeoCreator")

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

    $font = "Arial"
    GUICtrlCreateLabel("Breitengrad", 150, 5, 150)
    GUICtrlSetFont(-1, 12, 400, 2, $font)

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

    GUICtrlCreateLabel("Nord-Süd", 190, 50, 70)
    $ns_combo = GUICtrlCreateCombo("N", 250, 45)
    GUICtrlSetData(-1, "S", "N")

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

    GUICtrlCreateLabel("Grad", 10, 40, 70)
    $ns_gg_combo = GUICtrlCreateCombo("1", 85, 45)
    GUICtrlSetData(-1, "2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85", "53")

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

    GUICtrlCreateLabel("Minuten", 10, 70, 70)
    $ns_mm_combo = GUICtrlCreateCombo("1", 85, 70)
    GUICtrlSetData(-1, "2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85", "30")

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

    GUICtrlCreateLabel("Sekunden", 10, 100, 70)
    $ns_ss_combo = GUICtrlCreateCombo("1", 85, 100)
    GUICtrlSetData(-1, "2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60", "1")

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

    $font = "Arial"
    GUICtrlCreateLabel("Längengrad", 150, 130, 150)
    GUICtrlSetFont(-1, 12, 400, 2, $font)

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

    GUICtrlCreateLabel("Ost-West", 190, 175, 70)
    $ew_combo = GUICtrlCreateCombo("O", 250, 170)
    GUICtrlSetData(-1, "W", "O")

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

    GUICtrlCreateLabel("Grad", 10, 170, 70)
    $ew_gg_combo = GUICtrlCreateCombo("1", 85, 170)
    GUICtrlSetData(-1, "2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85", "10")

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

    GUICtrlCreateLabel("Minuten", 10, 200, 70)
    $ew_mm_combo = GUICtrlCreateCombo("1", 85, 200)
    GUICtrlSetData(-1, "2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85", "6")

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

    GUICtrlCreateLabel("Sekunden", 10, 230, 70)
    $ew_ss_combo = GUICtrlCreateCombo("1", 85, 230)
    GUICtrlSetData(-1, "2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60", "1")

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

    $font = "Arial"
    $umrechnen_button = GUICtrlCreateButton ("UMRECHNUNG!", 200, 220, 130)
    GUICtrlSetFont(-1, 10, 400, 2, $font)
    GUICtrlSetBkColor(-1,0x00ff00)

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

    GUICtrlCreateLabel("Geo-Daten für die Control-Software", 120, 280, 300)
    $output_input = GUICtrlCreateInput("", 50,300,300)

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

    GUISetState (@SW_SHOW) ; will display an empty dialog box

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

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

    If $msg = $umrechnen_button Then
    ;Ost-West Koordinaten
    $ew_gg = GUICtrlRead($ew_gg_combo)
    $ew_mm = GUICtrlRead($ew_mm_combo)
    $ew_ss = GUICtrlRead($ew_ss_combo)
    $ew = GUICtrlRead($ew_combo)
    If $ew = "O" Then
    $ew = "E"
    EndIf

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

    ;Nord-Süd Koordinaten
    $ns_gg = GUICtrlRead($ns_gg_combo)
    $ns_mm = GUICtrlRead($ns_mm_combo)
    $ns_ss = GUICtrlRead($ns_ss_combo)
    $ns = GUICtrlRead($ns_combo)

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

    $output = StringFormat("%03d%02d.%04d,%s,%02d%02d.%04d,%s", $ns_gg, $ns_mm, $ns_ss/6*1000, $ns, $ew_gg, $ew_mm, $ew_ss/6*1000, $ew)
    GUICtrlSetData($output_input, $output)
    EndIf

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

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit]

    bittetön
    an sich recht einfach die daten der combo boxen mit GUICtrlRead auszulesen, in variablen abzuspeichern und dank der Hilfe von AspirinJunkie in den String zu konvertieren und diesen dann in der if funktion unten mit GUICtrlSetData in deinen input einzufügen
    natürlich mussten ein paar variablen gesetzt werden^^
    Noch eine If-Abfrage wenn $ew = "O" dann soll $ew = "E" gesetzt werden
    getestet auf mögliche Fehler... solten trotzdem welche auftreten mir bitte in den Hintern treten xD

    //EDIT
    Da war wohl einer schneller...
    verdammte DC's die ich in letzter Zeit immer hab xD

    //EDIT2

    Zitat

    Bitte nutze das nächste mal die Forumsformatierungen für den Quellcode.
    Ist echt unübersichtlich sonst.


    Dem kann ich nur zustimmen... und nen Spoiler hilft auch bei der Übersichtlichkeit des Threads allgemein...

  • Geo-Koordinaten umrechnen

    • Derpy Hooves
    • 26. Dezember 2009 um 15:45

    An die Werte aus den Dropdowns zu kommen sollte an sich ja nicht schwer sein...

    klar wird es für uns erst klarer wenn er sein script reinstellt aber geht man davon aus dass die werte so:

    [autoit]

    ;Ost-West Koordinaten
    $ew_gg = 53
    $ew_mm = 17
    $ew_ss = 25
    $ew = "E"

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

    ;Nord-Süd Koordinaten
    $ns_gg = 010
    $ns_mm = 34
    $ns_ss = 45
    $ns = "N"

    [/autoit]

    oder so ähnlich zurückgibt ist es kein Problem diese zu seinem gewünschten string umzuformen...
    wobei ich zugeben muss dass ich schlichtweg keine Ahnung habe wie man den wert der variablem $ns_gg = 010 weitergeben soll, da er die führende Null abschneidet! Der Rückgabewert der Variablen ist also nur 10 und nicht 010

  • TCP Problem - Serverreaktion & Serverantwort

    • Derpy Hooves
    • 26. Dezember 2009 um 14:47
    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.2.0
    Author: Karill Endusa

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

    Script Function:
    rootz-network.de TeamSpeak3 Admin Console.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiIPAddress.au3>
    #Region ### START Koda GUI section ### Form=
    $window = GUICreate("rootz-network.de TeamSpeak3 Admin Console", 502, 402, 695, 213)
    $MenuItem1 = GUICtrlCreateMenu("&Datei")
    $MenuItem3 = GUICtrlCreateMenuItem("Schliessen", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenu("&Hilfe")
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("In Development", 144, 192, 225, 41)
    GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif")
    $TCPConnectButton = GUICtrlCreateButton("Connect", 305, 27, 60, 25, $WS_GROUP)
    $TCPDisconnectButton = GUICtrlCreateButton("Disconnect", 370, 27, 75, 25, $WS_GROUP)
    $LoginButton = GUICtrlCreateButton("Login", 305, 57, 60, 25, $WS_GROUP)
    $WhoAmIButton = GUICtrlCreateButton("Send whoami", 370, 57, 75, 25, $WS_GROUP)
    $IPAddress1 = _GUICtrlIpAddress_Create($window, 147, 5, 153, 21)
    _GUICtrlIpAddress_Set($IPAddress1, "*.*.*.*")
    $InputSAPass = GUICtrlCreateInput("********", 147, 31, 153, 21)
    $Label1 = GUICtrlCreateLabel("Server-IP", 5, 5, 60, 21, -1, $WS_EX_STATICEDGE)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("serveradmin-passwort", 5, 31, 137, 21, -1, $WS_EX_STATICEDGE)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    Dim $window_AccelTable[1][2] = [["^+4", $MenuItem3]]
    GUISetAccelerators($window_AccelTable)
    #EndRegion ### END Koda GUI section ###

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

    TCPStartup()
    AutoItSetOption("ExpandVarStrings", 1)

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

    Global $socket
    Global $listenState = 0
    Global $connected = 0

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

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

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

    Case $MenuItem3
    beenden()

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

    Case $TCPConnectButton
    Global $IPRead = _GUICtrlIpAddress_Get($IPAddress1)
    $socket = TCPConnect($IPRead, 10011)
    If $socket = -1 Then
    MsgBox(16, "Connect", "Verbindungsversuch fehlgeschlagen")
    Else
    MsgBox(0, "Connect", "Verbindung wurde hergestellt")
    $connected = 1
    EndIf

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

    Case $TCPDisconnectButton
    closeSocket()

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

    Case $LoginButton
    If $connected = 1 Then
    $sapasswort = GUICtrlRead($InputSAPass)
    ;~ MsgBox(0, "Test", "login serveradmin " & $sapasswort)
    $send = TCPSend($socket, "login serveradmin " & $sapasswort)
    If $send = 0 Then
    MsgBox(0, "Error", @error)
    EndIf
    $send = TCPSend($socket, "gm msg=test")
    If $send = 0 Then
    MsgBox(0, "Error", @error)
    EndIf
    Else
    MsgBox(16, "Login", "Du musst dich zuerst zum Server verbinden")
    EndIf

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

    Case $WhoAmIButton
    If $connected = 1 Then
    TCPSend($socket, "gm msg=test")
    Else
    MsgBox(16, "Login", "Du musst dich zuerst zum Server verbinden")
    EndIf
    EndSwitch

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

    WEnd

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

    Func beenden()
    closeSocket()
    TCPShutdown()
    Exit
    EndFunc

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

    Func closeSocket()
    If $connected = 1 Then
    Local $closeSocket = TCPCloseSocket($socket)
    If $closeSocket = 0 Then
    MsgBox(16, "Disconnect", "TCP Socket konnte nicht getrennt werden!")
    ElseIf $closeSocket = 1 Then
    MsgBox(0, "Disconnect", "TCP Socket wurde getrennt!")
    $connected = 0
    EndIf
    Else
    MsgBox(16, "Socket", "Es besteht keine Verbindung die getrennt werden müsste.")
    EndIf
    EndFunc

    [/autoit]

    Wie gesagt: Wie ich die Antwort des Server empfangen soll habe ich gerade gar keine Ahnung...
    Der Part mit dem TCPListen und TCPAccept ist in dieser Version schon wieder entfernt worden... ich dachte mir ich packe den erst wieder rein wenn überhaupt ma was vom Server aus passiert.

    //EDIT
    Code in nen Spoiler gepackt

  • TCP Problem - Serverreaktion & Serverantwort

    • Derpy Hooves
    • 25. Dezember 2009 um 22:24

    Jo, ich hätt da ma nen Problem... TCP treibt mich zum wahnsinn und ich weiss nich wie ich das lösen soll x3

    Zum einen muss gesagt sein dass ich den Server nicht Programmiert habe, er existiert schon... und funktioniert auch... zumindest kann ich Befehle mit PuTTY an den Server senden und bekomme auch entsprechende Antwort...

    Also, nun zu meinem Problem:
    Mein Script basiert auf einer GUI mit entsprechenden Eingabefeldern und Buttons(IP-Eingabefeld, Connect-Button etc.)
    Ich verbinde via TCPConnect zur gleichen IP und auf den gleichen Port die ich auch bei PuTTY eingegeben habe.
    Via If Anweisung überprüfe ich dann ob eine Verbindung hergestellt werden konnte (klappt auch immer)
    Als nächstes sende ich via TCPSend (gestartet von einem Button) ein Kommando an den Server... auch dies teste ich mittels einer If Anweisung und angeblich wurden die Daten immer erfolgreich gesendet
    Jedoch: Mein Server reagiert nicht, so als seien nie meine gesendeten Befehle bei ihm angekommen.

    Hinzu kommt noch dass der Server normalerweise nach jedem Befehl eine Antwort sendet ob dieser Befehl ausgeführt werden konnte oder nicht und wenn nicht dann warum nicht.
    Ich habe es bis jetz nicht hinbekommen und rätsel da schon mehrere Stunden dran rum, wie ich mit AutoIt diese Antwort empfangen kann um sie dann in einer MsgBox ausgeben zu lassen... vllt. kann mir da ja mal jemand ne Idee geben (Bei PuTTY kommen diese Antworten jedenfalls immer an).
    Ich habe schon versucht über TCPListen und TCPAccept die Antwort zu empfangen, jedoch mit geringem Erfolg:
    TCPListen klappt
    TCPAccept gibt dann aber -1 zurück, @error jedoch 0

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™