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

Beiträge von chip

  • Java-Link => Markierung in Firefox anklicken.

    • chip
    • 13. November 2012 um 11:27

    Mach doch das was auf der Webseite steht einfach als Autoit-GUI dann hast das Problem nicht.

  • {Update] Teamspeak3 ATHP Control

    • chip
    • 13. November 2012 um 08:15

    Schau mal hier: https://autoit.de/index.php?page…4494#post154494

  • Bilder vergleich

    • chip
    • 12. November 2012 um 11:25

    Falsche Forenbereich bitte verschieben nach: https://www.autoit.de/index.php?page=Board&boardID=51

  • AutoIt auf Win8?

    • chip
    • 12. November 2012 um 08:57
    Zitat von General Kaboom


    Ich warte eg. nur darauf, bis ich mit meinem Tablet AutoIt-Skripte schreiben kann. Bin z.Z. viel unterwegs und ein Notebook ist im Zug oder Bus einfach zu sperrig, da wirds einem bei 2 h Fahrzeit mal schnell langweilig.

    Schreiben kannst in jedem Texteditor, nur ausführen/compilieren halt nicht.

  • Happy Birthday chesstiger (15) und Xenobiologist (33)

    • chip
    • 12. November 2012 um 08:13

    Alles gute zum Geburtstag Schachmietze.

    [Blockierte Grafik: http://2.bp.blogspot.com/_UvvfSuRm1vA/Swk8PqfUhlI/AAAAAAAAAYQ/sS_YZvtMjxw/s1600/hp.jpg]

    Alles gute zum Geburtstag Xenobiologist.

    [Blockierte Grafik: http://rlv.zcache.com/happy_birthday_space_alien_card-p137699080599434249tdtq_400.jpg]

  • AutoIt auf Win8?

    • chip
    • 12. November 2012 um 08:11
    Zitat von veronesi


    (Musste bereits 140 PCs mit Windows 8 bestücken und ausliefern)

    Mein Beileid.

  • AutoIt auf Win8?

    • chip
    • 11. November 2012 um 15:45
    Zitat von Blume


    Und zum Thema: AutoIt funktioniert wie auf Windows 7 auch auf Windows 8 zu 100%

    Stimmt nicht, im offiziellen Forum gibt es einige Thread in denen Sachen unter Win 8 ebene NICHT mehr gehen.

  • AutoIt auf Win8?

    • chip
    • 11. November 2012 um 13:01

    Seit der aktuellen Verison 3.3.8.1 wird Win 8 zumindestens größtenteils unterstützt. Aber wer hat schon freiwillig Win 8 :D.

  • Update-Funktion

    • chip
    • 9. November 2012 um 12:34

    Schreib doch einfach online in eine Ini-Datei die Version die Online ist. Im Forum gibts dazu schon einige Themen und fertige Scripte.

  • Update-Funktion

    • chip
    • 9. November 2012 um 10:40

    Rechtsklick auf au3 -> Compile with Options ->Ressource Update -> FileVersion


    Dateiversion als solche kannst nicht so einfach ändern da hier die Version der Autoitinterpreters genommen wird.

  • maximierte GUI überlappt Taskleiste

    • chip
    • 8. November 2012 um 10:31

    Weil @DesktopHight und @DesktopWidht die komplette Desktopgröße ist.

  • Threads mit 3 Monaten Inaktivität sperren

    • chip
    • 4. November 2012 um 22:24
    Zitat von minx


    Der Nutzer ist noch voll aktiv, und hat einen Avatar und ein Profil, welches eindeutig auf diesen Thread hinweist. Er ist sich dessen also bewusst. Das Projekt muss überhaupt nicht tot sein.

    Und geau deshalb verweißt sein Link im Profil auf den eben nichtmehr existierenden Startpost ;).

  • Threads mit 3 Monaten Inaktivität sperren

    • chip
    • 4. November 2012 um 17:41

    Thread von Januar, letzte post von Juli. Das ist inaktiv. Des weiteren wurde der Startpost vom Threadersteller gelöscht was wohl eindeutig auf ein nichtmehr existieren des Projektes hindeutet ;).

    Ich würde sagen sinnloser einen alten Thread ausgraben geht fast garnichtmehr.

  • Threads mit 3 Monaten Inaktivität sperren

    • chip
    • 4. November 2012 um 17:28

    Wundervolles Beispiel grade wieder für einen alten Thread der komplett sinnlos wieder nach oben geholt wurde: https://autoit.de/index.php?page=Thread&threadID=30399

  • TCP-Verbindung zwischen Java und Autoit

    • chip
    • 1. November 2012 um 09:31

    Cool danke das wars.

  • TCP-Verbindung zwischen Java und Autoit

    • chip
    • 1. November 2012 um 00:20

    Hi,

    ich möchte eine TCP-Verbindung zwischen zwischen einen Javaclient und einem Autoitserver herstellen. Man muss dazu sagen das ich noch ziemlicher anfänger in Sachen Java bin. Hier mal die Javaclass für den Java-Client:

    Spoiler anzeigen
    Java
    package com.example.tcpclienttest;
    
    
    import android.util.Log;
    import java.io.*;
    import java.net.InetAddress;
    import java.net.Socket;
    
    
    
    
    public class TCPClient {
    
    
        private String serverMessage;
        public static final String SERVERIP = "192.168.0.102"; //your computer IP address
        public static final int SERVERPORT = 4444;
        private OnMessageReceived mMessageListener = null;
        private boolean mRun = false;
    
    
        PrintWriter out;
        BufferedReader in;
    
    
        /**
         *  Constructor of the class. OnMessagedReceived listens for the messages received from server
         */
        public TCPClient(OnMessageReceived listener) {
            mMessageListener = listener;
        }
    
    
        /**
         * Sends the message entered by client to the server
         * @param message text entered by client
         */
        public void sendMessage(String message){
            if (out != null && !out.checkError()) {
                out.println(message);
                out.flush();
            }
        }
    
    
        public void stopClient(){
            mRun = false;
        }
    
    
        public void run() {
    
    
            mRun = true;
    
    
            try {
                //here you must put your computer's IP address.
                InetAddress serverAddr = InetAddress.getByName(SERVERIP);
    
    
                Log.e("TCP Client", "C: Connecting...");
    
    
                //create a socket to make the connection with the server
                Socket socket = new Socket(serverAddr, SERVERPORT);
    
    
                Log.e("TCP Client", "C: Socket");
    
                try {
    
    
                    //send the message to the server
                    out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
    
    
                    Log.e("TCP Client", "C: Sent.");
    
    
                    Log.e("TCP Client", "C: Done.");
    
    
                    //receive the message which the server sends back
                    in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    
    
                    //in this while the client listens for the messages sent by the server
                    while (mRun) {
                        serverMessage = in.readLine();
    
    
                        if (serverMessage != null && mMessageListener != null) {
                            //call the method messageReceived from MyActivity class
                            mMessageListener.messageReceived(serverMessage);
                        }
                        serverMessage = null;
    
    
                    }
    
    
    
    
                    Log.e("RESPONSE FROM SERVER", "S: Received Message: '" + serverMessage + "'");
    
    
    
    
                } catch (Exception e) {
    
    
                    Log.e("TCP", "S: Error", e);
    
    
                } finally {
                    //the socket must be closed. It is not possible to reconnect to this socket
                    // after it is closed, which means a new socket instance has to be created.
                    socket.close();
                }
    
    
            } catch (Exception e) {
    
    
                Log.e("TCP", "C: Error", e);
    
    
            }
    
    
        }
    
    
        //Declare the interface. The method messageReceived(String message) will must be implemented in the MyActivity
        //class at on asynckTask doInBackground
        public interface OnMessageReceived {
            public void messageReceived(String message);
        }
    Alles anzeigen

    Und hier mal noch die Javaclass für einen Java-Server:

    Spoiler anzeigen
    Java
    import javax.swing.*;
    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    
    /**
     * The class extends the Thread class so we can receive and send messages at the same time
     */
    public class TCPServer extends Thread {
    
    
        public static final int SERVERPORT = 4444;
        private boolean running = false;
        private PrintWriter mOut;
        private OnMessageReceived messageListener;
    
    
        public static void main(String[] args) {
    
    
            //opens the window where the messages will be received and sent
            ServerBoard frame = new ServerBoard();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.pack();
            frame.setVisible(true);
    
    
        }
    
    
        /**
         * Constructor of the class
         * @param messageListener listens for the messages
         */
        public TCPServer(OnMessageReceived messageListener) {
            this.messageListener = messageListener;
        }
    
    
    
    
        /**
         * Method to send the messages from server to client
         * @param message the message sent by the server
         */
        public void sendMessage(String message){
            if (mOut != null && !mOut.checkError()) {
                mOut.println(message);
                mOut.flush();
            }
        }
    
    
        @Override
        public void run() {
            super.run();
    
    
            running = true;
    
    
            try {
                System.out.println("S: Connecting...");
    
    
                //create a server socket. A server socket waits for requests to come in over the network.
                ServerSocket serverSocket = new ServerSocket(SERVERPORT);
    
    
                //create client socket... the method accept() listens for a connection to be made to this socket and accepts it.
                Socket client = serverSocket.accept();
                System.out.println("S: Receiving...");
    
    
                try {
    
    
                    //sends the message to the client
                    mOut = new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream())), true);
    
    
                    //read the message received from client
                    BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
    
    
                    //in this while we wait to receive messages from client (it's an infinite loop)
                    //this while it's like a listener for messages
                    while (running) {
                        String message = in.readLine();
    
    
                        if (message != null && messageListener != null) {
                            //call the method messageReceived from ServerBoard class
                            messageListener.messageReceived(message);
                        }
                    }
    
    
                } catch (Exception e) {
                    System.out.println("S: Error");
                    e.printStackTrace();
                } finally {
                    client.close();
                    System.out.println("S: Done.");
                }
    
    
            } catch (Exception e) {
                System.out.println("S: Error");
                e.printStackTrace();
            }
    
    
        }
    
    
    
    
        //Declare the interface. The method messageReceived(String message) will must be implemented in the ServerBoard
        //class at on startServer button click
        public interface OnMessageReceived {
            public void messageReceived(String message);
        }
    
    
    }
    Alles anzeigen

    Wenn beide gestartet sind Verbindet sich der Client mit dem Server, kann an diesen Daten senden und empfängt auch Daten von dem Server.

    So nun habe ich die Serverseite in Autoit gemacht:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Example()

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

    Func Example()
    Local $szIPADDRESS = @IPAddress1
    Local $nPORT = 4444
    Local $MainSocket, $GOOEY, $edit, $ConnectedSocket, $szIP_Accepted
    Local $msg, $recv

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

    TCPStartup()

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

    $MainSocket = TCPListen($szIPADDRESS, $nPORT)

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

    If $MainSocket = -1 Then Exit

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

    #region ### START Koda GUI section ### Form=
    $GOOEY = GUICreate("Mein", 301, 201, 192, 125)
    $edit = GUICtrlCreateEdit("", 10, 10, 280, 124)
    GUICtrlSetData(-1, "")
    $Button1 = GUICtrlCreateButton("Button1", 16, 152, 75, 25)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    $ConnectedSocket = -1

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

    Do
    $ConnectedSocket = TCPAccept($MainSocket)
    Until $ConnectedSocket <> -1
    ConsoleWrite("verbunden" & @CRLF)

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

    $szIP_Accepted = SocketToIP($ConnectedSocket)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $Button1
    TCPSend($ConnectedSocket, "antwort")
    EndSwitch

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

    $recv = TCPRecv($ConnectedSocket, 2048)

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

    If @error Then ExitLoop

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

    If $recv <> "" Then
    GUICtrlSetData($edit, $szIP_Accepted & " > " & $recv & @CRLF & GUICtrlRead($edit))
    EndIf
    WEnd

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

    If $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket)

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

    TCPShutdown()
    EndFunc ;==>Example

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

    Func SocketToIP($SHOCKET)
    Local $sockaddr, $aRet

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

    $sockaddr = DllStructCreate("short;ushort;uint;char[8]")

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

    $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
    "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
    If Not @error And $aRet[0] = 0 Then
    $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
    If Not @error Then $aRet = $aRet[0]
    Else
    $aRet = 0
    EndIf

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

    $sockaddr = 0

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

    Return $aRet
    EndFunc ;==>SocketToIP

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

    Die JavaClient baut nun auch brav eine Verbindung zum Autoitserver auf und der Autoitserver empfängt auch alles vom Client gesendeten Daten. Allerdings wenn ich nun den Button drücke um via TCPSend etwas an den Javaclient zu senden kommt bei diesem einfach nichts an.

    Jemand eine Idee zur Lösung?

  • Netzwerkordner prüfen

    • chip
    • 30. Oktober 2012 um 21:43
    Zitat von AnnaM


    Ich weiß nicht, wie hier überhaupt Multithreading eingesetzt werden kann?!

    Garnicht. Autoit ist nicht dafür ausgelegt. Ich zitiere da einfach mal progandy:

    Zitat

    Diese Möglichkeit des Multithreadings ist aus gutem Grund in der Versenkung verschwunden. Der AutoIt-Interpreter ist nicht threadsicher. Das bedeutet, dass er nicht mehrere Codeblöcke gleichzeitig ausführen kann, da interene Variablen und Speicherbereiche nicht für gleichzeitige Zugriffe ausgelegt sind. Dadurch gibt es unvorhersehbare Interferenzen der Threads, die meist aufgrund von Speicherfehlern oder öhnlichem zum Absurz führen. Weiterhin beendet der AutoIt-Compiler das Programm sobald der erste Thread beendet wird.

    Siehe dazu auch die AutoitNotOnToDoList: http://www.autoitscript.com/trac/autoit/wi…ItNotOnToDoList

    Das was du willst lässt sich nur lösen in dem das Prüfen des Pfades in ein externes Script auslagerst.

  • Netzwerkordner prüfen

    • chip
    • 30. Oktober 2012 um 14:51

    Autoit != schnell

  • Threads mit 3 Monaten Inaktivität sperren

    • chip
    • 30. Oktober 2012 um 09:15
    Zitat von autoBert


    Glaub mir ich kann erkennen ob ein Thema gelöst ist und da ich > 95% der H&U Themen lese dürfte die Quote auch stimmen.

    Ich merke dir schein nicht klar zu sein um was es sich um diesen Thread dreht und zwar nicht um DICH. So und damit bin ich hier raus.

  • Threads mit 3 Monaten Inaktivität sperren

    • chip
    • 29. Oktober 2012 um 22:34
    Zitat von autoBert


    werden max. 1/3 der gelösten Themen auch auf gelöst gestellt

    Solche Themen sind dann meist schlicht ohne Antwort des Threaderstellers und damit ist es nicht sicher ob das überhaupt gelöst ist


    Zitat von autoBert


    sind es meist gelöste Themen an die sich Frischlinge anhängen

    Lies was ich geschrieben habe

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™