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

Beiträge von GtaSpider

  • Zufallskopierer für MP3

    • GtaSpider
    • 10. März 2014 um 19:38

    Hey

    Die Version funktioniert mit der aktuellsten Version, die du hier bekommst:
    http://www.autoitscript.com/forum/files/fi…-autoit-v33102/

    Spoiler anzeigen
    [autoit]

    ; =============================================================
    ;
    ; Zufallskopierer für Musiktracks in MP3
    ;
    ; Idee: Chicago
    ;
    ; Author: GtaSpider
    ;
    ; =============================================================

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

    #include <file.au3>
    #include <array.au3>
    #include <GUIConstants.au3>
    Opt("GuiOnEventMode", 1)

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

    Global $hwndSpl, $SplNext = 1, $SplText, $FileList, $size = 0
    Global $ListTxt = @ScriptDir & "\List.txt"
    Global $ListTxtOp = FileOpen($ListTxt, 1)
    Global $FilesToCopy[1]

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

    $maingui = GUICreate("MP3-Zufallskopierer", 200, 200, 193, 125)
    ;GUISetOnEvent($GUI_EVENT_CLOSE, "_exit";) ;Da GuigetMsg() nicht mehr funktinoiert, da OnEventMode 1 ist
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    $MusicInp = GUICtrlCreateInput("", 8, 24, 121, 21)
    GUICtrlCreateLabel("Musik Ordner:", 8, 8, 68, 15)
    $TargetInp = GUICtrlCreateInput("", 8, 64, 121, 21)
    GUICtrlCreateLabel("Ziel Ordner:", 8, 48, 68, 15)
    $ChooseBut1 = GUICtrlCreateButton("..", 129, 24, 27, 21, 0)
    GUICtrlSetOnEvent(-1, "_search_path")
    $ChooseBut2 = GUICtrlCreateButton("..", 129, 64, 27, 21, 0)
    GUICtrlSetOnEvent(-1, "_search_path")
    GUICtrlCreateLabel("Größe in mb:", 8, 90, 68, 15)
    $GroesseInp = GUICtrlCreateInput("", 8, 105, 121, 21)
    $StartBut = GUICtrlCreateButton("&Start", 8, 150, 148, 25, 0)
    GUICtrlSetOnEvent(-1, "_Start")
    $Progress = GUICtrlCreateProgress(8, 138, 148, 9)
    GUISetState()

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

    While 1;Damit das Script nicht beendet
    Sleep(100)
    WEnd

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

    Func _search_path()
    $path = FileSelectFolder("", 3, 1, "::{450D8FBA-AD25-11D0-98A8-0800361B1103}")
    If @error Then Return
    If @GUI_CtrlId = $ChooseBut1 Then; wenn als letzes ChosseBut1 gedrückt wurde (der button für den Musik Ordner)...
    If $path <> "" Then GUICtrlSetData($MusicInp, $path);...setze das control $MusicInp (Musik Ordner) mit dem Pfad
    Else; ansonsten (also wenn der button für den Ziel ordner gedrückt wurde) ...
    If $path <> "" Then GUICtrlSetData($TargetInp, $path);...setze das control $TargetInp (Ziel Ordner) mit dem Pfad
    EndIf

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

    EndFunc ;==>_search_path

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

    If FileGetSize($ListTxt) Then _ReadFromList()

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

    Func CLOSEClicked()
    Exit
    EndFunc ;==>CLOSEClicked

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

    Func _Start()
    ;DIESE DATEN MUSST DU NACH DEINEN WÜNSCHEN BEARBEITEN <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    Global $MusicDir = GUICtrlRead($MusicInp) ; Laufwerk auf dem Musik ist >> soll in Gui ausgewählt werden können
    Global $SizeInByte = GUICtrlRead($GroesseInp) * 1048576 ; Berechnet die Größe der zu kopierenden Dateimengen 3750 * 1048576 = ca. 4 GB
    Global $DestDir = GUICtrlRead($TargetInp) ; Laufwerk MP3-Player >> Zielort Auswahl in Gui Ordner oder MP3-Player
    Global $MusicDirName = StringTrimLeft($MusicDir, StringInStr($MusicDir, "", 0, -1))

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

    If Not IsArray($FileList) Then _ReadMusicDir()

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

    $SplText = "Kopiere Daten"
    $hwndSpl = SplashTextOn("", $SplText & @LF & "|", 250, 65, -1, -1, 1, "Courier New")
    AdlibRegister("_SetSpl", 100)

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

    If Not FileExists($DestDir) Then DirCreate($DestDir)

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

    $mb = 0
    $rand = 0
    $InUseRead = FileRead("InUse_do_not_delete.txt")
    $InUse = $InUseRead
    While 1
    $SplText = "Kopiere Daten" & @CRLF & StringTrimLeft($FileList[$rand], StringInStr($FileList[$rand], "", -1, -1))
    $aInUse = StringSplit($InUse, ",")
    $RandInUse = True
    While $RandInUse
    $rand = Random(1, $FileList[0], 1)
    $RandInUse = False
    For $i = 1 To $aInUse[0]
    ConsoleWrite($rand & "," & $aInUse[$i] & @CRLF)
    If $rand = $aInUse[$i] Then
    $RandInUse = True
    ExitLoop
    EndIf
    Next
    WEnd
    $mb += FileGetSize($FileList[$rand])
    If $mb > $SizeInByte Then ExitLoop
    FileCopy($FileList[$rand], $DestDir & "\*.*")
    $InUse &= $rand & ","
    WEnd

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

    FileWrite("InUse_do_not_delete.txt", StringTrimLeft($InUse, StringLen($InUseRead)))

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

    SplashOff()
    EndFunc ;==>_Start

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

    Func OnAutoItExit()
    FileClose($ListTxtOp)
    EndFunc ;==>OnAutoItExit

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

    Func _ReadMusicDir()
    $SplText = "Lese den Musikordner ein" & @LF & $MusicDirName
    $hwndSpl = SplashTextOn("", $SplText & @LF & "|", 250, 40, -1, -1, 1, "Courier New")
    AdlibRegister("_SetSpl", 100) ; <<<<< Hier kommt die Fehlermeldung
    FileDelete("InUse_do not delete.txt")
    $FileList = _FileListToArrayEx($MusicDir, "*.*", 1, '', True)
    SplashOff()
    AdlibUnRegister("_SetSpl")
    FileWriteLine($ListTxtOp, $MusicDir)
    For $i = 1 To $FileList[0]
    FileWriteLine($ListTxtOp, StringTrimLeft($FileList[$i], StringLen($MusicDir) + 1))
    Next
    EndFunc ;==>_ReadMusicDir

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

    Func _ReadFromList()
    $SplText = "Lese daten von Datei" & @LF & StringTrimLeft($ListTxt, StringInStr($ListTxt, "", 0, -1))
    $hwndSpl = SplashTextOn("", $SplText & @LF & "|", 250, 65, -1, -1, 1, "Courier New")
    AdlibRegister("_SetSpl", 100) ; <<<<< Hier kommt die Fehlermeldung
    _FileReadToArray($ListTxt, $FileList)
    Global $MusicDir = $FileList[1]
    $FileList[0] = $FileList[0] - 1
    _ArrayDelete($FileList, 1)
    For $i = 1 To $FileList[0]
    $FileList[$i] = $MusicDir & "" & $FileList[$i]
    If Not FileExists($FileList[$i]) Then MsgBox(0, "", $FileList[$i])
    Next
    SplashOff()
    EndFunc ;==>_ReadFromList

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

    Func _SetSpl()
    Switch $SplNext
    Case 1
    ControlSetText($hwndSpl, "", "Static1", $SplText & @LF & "./.")
    $SplNext = 2
    Case 2
    ControlSetText($hwndSpl, "", "Static1", $SplText & @LF & "..-..")
    $SplNext = 3
    Case 3
    ControlSetText($hwndSpl, "", "Static1", $SplText & @LF & "...\...")
    $SplNext = 4
    Case 4
    ControlSetText($hwndSpl, "", "Static1", $SplText & @LF & "|")
    $SplNext = 1
    EndSwitch
    EndFunc ;==>_SetSpl

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

    ;===============================================================================
    ; Description: lists all or preferred files and or folders in a specified path (Similar to using Dir with the /B Switch)
    ; Syntax: _FileListToArrayEx($sPath, $sFilter = '*.*', $iFlag = 0, $sExclude = '', $bTmpFile = False)
    ; Parameter(s): $sPath = Path to generate filelist for
    ; $sFilter = The filter to use. Search the Autoit3 manual for the word "WildCards" For details, support now for multiple searches
    ; Example *.exe; *.txt will find all .exe and .txt files
    ; $iFlag = determines weather to return file or folders or both.
    ; $sExclude = exclude a file from the list by all or part of its name
    ; Example: Unins* will remove all files/folders that start with Unins
    ; $iFlag=0(Default) Return both files and folders
    ; $iFlag=1 Return files Only
    ; $iFlag=2 Return Folders Only
    ; $bTmpFile = Boolean value for specifying if using a temp. file
    ; $bTmpFile = True All files are written to a "reserved" .tmp file (Thanks to gafrost) for the example
    ; The Reserved file is then read into an array, then deleted
    ; $bTmpFile = False No .tmp file is used
    ; Requirement(s): None
    ; Return Value(s): On Success - Returns an array containing the list of files and folders in the specified path
    ; On Failure - Returns the an empty string "" if no files are found and sets @Error on errors
    ; @Error or @extended = 1 Path not found or invalid
    ; @Error or @extended = 2 Invalid $sFilter or Invalid $sExclude
    ; @Error or @extended = 3 Invalid $iFlag
    ; @Error or @extended = 4 No File(s) Found
    ; Author(s): SmOke_N
    ; Note(s): The array returned is one-dimensional and is made up as follows:
    ; $array[0] = Number of Files\Folders returned
    ; $array[1] = 1st File\Folder
    ; $array[2] = 2nd File\Folder
    ; $array[3] = 3rd File\Folder
    ; $array[n] = nth File\Folder
    ;===============================================================================

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

    Func _FileListToArrayEx($sPath, $sFilter = '*.*', $iFlag = 0, $sExclude = '', $iRecurse = False, $iShortName = True)
    If Not FileExists($sPath) Then Return SetError(1, 1, '')
    If $sFilter = -1 Or $sFilter = Default Then $sFilter = '*.*'
    If $iFlag = -1 Or $iFlag = Default Then $iFlag = 0
    If $sExclude = -1 Or $sExclude = Default Then $sExclude = ''
    Local $aBadChar[6] = ['\', '/', ':', '>', '<', '|']
    $sFilter = StringRegExpReplace($sFilter, '\s*;\s*', ';')
    If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
    For $iCC = 0 To 5
    If StringInStr($sFilter, $aBadChar[$iCC]) Or _
    StringInStr($sExclude, $aBadChar[$iCC]) Then Return SetError(2, 2, '')
    Next
    If StringStripWS($sFilter, 8) = '' Then Return SetError(2, 2, '')
    If Not ($iFlag = 0 Or $iFlag = 1 Or $iFlag = 2) Then Return SetError(3, 3, '')
    Local $oFSO = ObjCreate("Scripting.FileSystemObject"), $sTFolder
    $sTFolder = $oFSO.GetSpecialFolder(2)
    Local $hOutFile = @TempDir & $oFSO.GetTempName
    If Not StringInStr($sFilter, ';') Then $sFilter &= ';'
    Local $aSplit = StringSplit(StringStripWS($sFilter, 8), ';'), $sRead, $sHoldSplit
    For $iCC = 1 To $aSplit[0]
    If StringStripWS($aSplit[$iCC], 8) = '' Then ContinueLoop
    If StringLeft($aSplit[$iCC], 1) = '.' And _
    UBound(StringSplit($aSplit[$iCC], '.')) - 2 = 1 Then $aSplit[$iCC] = '*' & $aSplit[$iCC]
    $sHoldSplit &= '"' & $sPath & $aSplit[$iCC] & '" '
    Next
    $sHoldSplit = StringTrimRight($sHoldSplit, 1)
    If $iRecurse Then
    RunWait(@ComSpec & ' /c dir /b /s /a ' & $sHoldSplit & ' > "' & $hOutFile & '"', '', @SW_HIDE)
    Else
    RunWait(@ComSpec & ' /c dir /b /a ' & $sHoldSplit & ' /o-e /od > "' & $hOutFile & '"', '', @SW_HIDE)
    EndIf
    $sRead &= FileRead($hOutFile)
    If Not FileExists($hOutFile) Then Return SetError(4, 4, '')
    FileDelete($hOutFile)
    If StringStripWS($sRead, 8) = '' Then SetError(4, 4, '')
    Local $aFSplit = StringSplit(StringTrimRight(StringStripCR($sRead), 1), @LF)
    Local $sHold
    For $iCC = 1 To $aFSplit[0]
    If $sExclude And StringLeft($aFSplit[$iCC], _
    StringLen(StringReplace($sExclude, '*', ''))) = StringReplace($sExclude, '*', '') Then ContinueLoop
    Switch $iFlag
    Case 0
    If StringLeft($aFSplit[$iCC], StringLen($sPath)) <> $sPath Then
    If $iShortName Then
    $sHold &= FileGetShortName($sPath & $aFSplit[$iCC]) & Chr(1)
    Else
    $sHold &= $sPath & $aFSplit[$iCC] & Chr(1)
    EndIf

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

    Else
    If $iShortName Then
    $sHold &= FileGetShortName($aFSplit[$iCC]) & Chr(1)
    Else
    $sHold &= $aFSplit[$iCC] & Chr(1)
    EndIf

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

    EndIf
    Case 1
    If StringInStr(FileGetAttrib($sPath & '\' & $aFSplit[$iCC]), 'd') Then ContinueLoop
    If StringLeft($aFSplit[$iCC], StringLen($sPath)) <> $sPath Then
    If $iShortName Then
    $sHold &= FileGetShortName($sPath & $aFSplit[$iCC]) & Chr(1)
    Else
    $sHold &= $sPath & $aFSplit[$iCC] & Chr(1)
    EndIf
    Else
    If $iShortName Then
    $sHold &= FileGetShortName($aFSplit[$iCC]) & Chr(1)
    Else
    $sHold &= $aFSplit[$iCC] & Chr(1)
    EndIf
    EndIf
    Case 2
    If Not StringInStr(FileGetAttrib($sPath & '\' & $aFSplit[$iCC]), 'd') Then ContinueLoop
    If StringLeft($aFSplit[$iCC], StringLen($sPath)) <> $sPath Then
    If $iShortName Then
    $sHold &= FileGetShortName($sPath & $aFSplit[$iCC]) & Chr(1)
    Else
    $sHold &= $sPath & $aFSplit[$iCC] & Chr(1)
    EndIf
    Else
    If $iShortName Then
    $sHold &= FileGetShortName($aFSplit[$iCC]) & Chr(1)
    Else
    $sHold &= $aFSplit[$iCC] & Chr(1)
    EndIf
    EndIf
    EndSwitch
    Next
    $sHold = StringReplace(StringReplace(StringReplace(StringReplace($sHold, Chr(129), "ü"), Chr(132), "ä"), Chr(148), "ö"), Chr(225), "ß")
    If StringTrimRight($sHold, 1) Then Return StringSplit(StringTrimRight($sHold, 1), Chr(1))
    Return SetError(4, 4, '')
    EndFunc ;==>_FileListToArrayEx

    [/autoit]

    gruß,
    Spider

  • Edit Control langsam zu langsam, alternative?

    • GtaSpider
    • 10. März 2014 um 19:17

    Hey,

    Ohman, ich hab gerade echt zu viele Projekte gleichzeit am laufen. Hatte mal genau das gleiche Problem mit einem ListView und habs dort genauso gelöst (mit Begin/EndUpdate) Das entspricht ja sozusagen einem Stack, da braucht man noch nicht mal einen extra Prozess.

    Danke euch!

    Gruß,
    Spider

  • Edit Control langsam zu langsam, alternative?

    • GtaSpider
    • 10. März 2014 um 14:13

    Hey,

    Hab folgendes Problem: Mein Programm ist ein TCP-Server der auf Requestet antwortet. Problem hierbei ist, dies muss innerhalb von 20ms geschehen, respektive in 20 ms müssen die Daten laut ISO-Norm wieder beim Client sein.(Ich hab die Norm nicht geschrieben...). Deswegen habe ich alles rechenintensive in C Programmiert und dies in eine DLL gepackt, so das ich nur noch die DLL von AutoIt aus fernsteuern muss via Strukturen, der ganze TCP kram und die Grafische oberfläche bleibt aber in AutoIt.

    Klappt auch alles wunderbar (1-5 ms rechenzeit), Problematisch wird es erst, wenn ich versuche die Daten live in ein Editfeld anzuzeigen (immer jeweils eine Zeile) Dann dauerts auf einmal 15-20 ms, viel zu viel, und das nur mit der Zeile GuiCtrlSEtData($hEdit, ...) respektive _GuiCtrlEdit_AppendText.

    Hat jemand eine Alternative? Gibt es die Möglichkeit die GuiCtrlSetData funnktion aufzurufen ohne auf sie warten zu müssen? Mir ist relativ egal, ob das 50 oder 100 ms dauert bis die Daten da stehen, das restliche Script darf einfach nicht ausgebremst werden.

    Danke im Voraus :)
    Gruß,
    Spider

  • 2 GUIS - nur eine in die Taskleiste

    • GtaSpider
    • 3. März 2014 um 14:23

    Hey

    Probiersmal mit dem ex-style $WS_EX_TOOLWINDOW

    Gruß,
    Spider

  • Grundsätzliches Virus-Problem

    • GtaSpider
    • 26. Februar 2014 um 17:33

    Hast du meinen Beitrag gelesen? :P

    Hier eine Datei die ich statt mit dem normalen Compiler mit dem auto camo compiler kompiliert habe:
    https://www.virustotal.com/de/file/5b89d7…sis/1393432162/

    3/48... Und die 3 Virenscanner die es als Virus deklarieren - von denen habe ich noch nie etwas gehört.

    Gruß,
    Spider

  • Dim Array

    • GtaSpider
    • 25. Februar 2014 um 18:36

    Gehört in Hilfe&Unterstützung, nächstes mal bitte darauf achten, dass du es dort hin postet.

    Gruß,
    Spider

  • Grundsätzliches Virus-Problem

    • GtaSpider
    • 25. Februar 2014 um 18:33

    Find ich auch sehr lästig vorallem weil ich AutoIt mittlerweile Kommerziell benutzte. Mein Tipp: autocamo! Gibts im englischem Forum, welches leider gerade offline ist. Vorteil hier ist auch: Nix mehr mit dekompalieren, jedenfalls hats bisher noch niemand geschaft. Nachteil: Die Dateien werden nen ticken größer.

    Einfach mal bei google suchen wenn das Forum wieder online ist :)

    Lieben Gruß,
    Spider

  • DllStructCreate und BitFields?!

    • GtaSpider
    • 23. Februar 2014 um 22:16

    Hey,

    Ja, initialisiert habe ich sie in C. Wirkt irgendwie unsauber auf mich, resetet habe ich die Struktur nicht, aber gut, dann weiß ich bescheid! :)

    Vielen Dank euch,
    Gruß,
    Spider

  • DllStructCreate und BitFields?!

    • GtaSpider
    • 22. Februar 2014 um 19:30

    Hey!

    Mal wieder ein Struct Problem... Habe in C z.B. folgende Struktur:

    Spoiler anzeigen
    C
    struct testBitField
    {
    	unsigned int Param1:1;
    	unsigned int Param2:1;
    
    
    
    
    };
    //Same structure as in autoit
    struct TestStruct
    {
    	int Wert1;
    	struct testBitField test;
    	int Wert2;
    	au3_func Test;
    };
    Alles anzeigen

    Wie man sieht hat die Struktur testBitField Bit fields! Das heißt eine Variable Benutzt nur ein Bit (nicht byte!) Trotzdem ist die Struktur insgesamt 4 Byte groß, ich schätze mal das hat mit dem Aligment zu tun, ist aber auch egal!

    Was mich nun wundert: Wenn ich die Struktur wie folgt mache:

    [autoit]

    ;same structure as in C
    Global $tagStructTest = "int Wert1;byte testBitField[4];int Wert2;"

    [/autoit]

    und testBitField auslese, kann ich zwar mit BitAnd gucken ob Param1 oder Param2 1 oder 0 sind (BitAnd($tBla...,1) und BitAnd($tBla...,2)) aber das restliche testBitField ist mit irgend einem Mist zugetextet. Erst dachte ich, es wäre irgendwas zufälliges, aber es scheint immer die gleiche Zahl zu sein. Wert1 und Wert2 wird aber sonst auch richtig angezeigt. (in meinem Beispiel
    0x2439E500 wenn Parm1 = 0 und Parm2 = 0,
    0x2539E500 wenn Parm1 = 1 und Parm2 = 0,
    0x2639E500 wenn Parm1 = 1 und Parm2 = 1,
    0x2739E500 wenn Parm1 = 1 und Parm2 = 1.)

    Was sind das für Zahlen? Kann ich die einfach getrost ignorieren? Bzw einfach mit nullen überschreiben?
    Oder gibt es gar eine Möglichkeit diese Bitfields in AutoIt auch irgendwie umzusetzen?

    Gruß,
    Spider

  • Splash Ladebildschirm (ähnlich wie bei Office 2010)

    • GtaSpider
    • 21. Februar 2014 um 19:17

    Hey,

    Link ist wieder auf meiner Webseite eingetragen.. Man, die verstaubt auch nur noch, wo bleibt die Zeit?

    Gruß,
    Spider

  • Webseite auf Erreichbarkeit testen - aber ohne Ping

    • GtaSpider
    • 19. Februar 2014 um 00:59

    Natürlich musst du TCPNameToIp weglassen wenn du direkt ne IP eingibst ;)

    Es gibt auch die Option TCPTimeout, leider bringt die rein gar nichts beim Connect.. (ist ein schon alt bekannter bug...) Es gibt aber im englischen Forum eine TCPConnect funktion mit Timeout, einfach mal suchen und dann die TCPConnect funktion in dem Beispiel oben mit der ersetzten ;)

    Gruß,
    Spider

    Edit: hier mal ne schönere Implementierung:

    Spoiler anzeigen
    [autoit]

    TCPStartup()

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

    $fCheck = _CheckOnline(TCPNameToIP("www.google.de"))
    MsgBox(0,"","Is online? :"&$fCheck)
    $fCheck = _CheckOnline(TCPNameToIP("www.irgendeinquatsch.de"))
    MsgBox(0,"","Is online? :"&$fCheck)
    $fCheck = _CheckOnline("173.194.39.23");google ip, hier natürlich ohne TcpNameToIp..
    MsgBox(0,"","Is online? :"&$fCheck)
    $fCheck = _CheckOnline("111.111.11.11");quatsch, braucht aber sehr lange -> im engl forum nach TCPConnect + Timeout suchen!
    MsgBox(0,"","Is online? :"&$fCheck)

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

    Func _CheckOnline($sIP)
    Local $hCon = TCPConnect($sIP, 80)
    Local $iErr = @error
    TCPCloseSocket($hCon)
    Return SetError($iErr,0,$hCon > 0)
    EndFunc

    [/autoit]
  • Webseite auf Erreichbarkeit testen - aber ohne Ping

    • GtaSpider
    • 17. Februar 2014 um 23:11

    Hey

    Ich würds ganz simpel mit den TCP befehlen Versuchen.

    [autoit]

    TcpStartup()
    TcpConnect(TcpNameToIp("www.site.com"),80)
    If @error Then
    MsgBox(0,"","Offline :( ")
    else
    MsgBox(0,"","On the line :) ")
    endIf

    [/autoit]

    ^nicht getestet ;)

    Gruß´
    Spider

  • Komisches Verhalten einer Variable, Anfängerfehler?

    • GtaSpider
    • 17. Februar 2014 um 22:49
    Zitat von chip

    Definitiv nicht.

    Definitiv nicht, richtig! Wenn überhaupt kennst du printf, gibts in AutoIt auch, heißt nur StringFormat.

    Spoiler anzeigen
    [autoit]

    $variable = "Wert 1"
    $string = "Die Variable enthält: %s"

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

    $form = GUICreate("GUI", 500, 500)
    $label = GUICtrlCreateLabel("", 10, 10, 490, 490)
    GUISetState(@SW_SHOW)

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

    SetLabelContent()

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

    Sleep(2000)

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

    ChangeVariable()
    SetLabelContent()

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

    While GUIGetMsg() <> -3
    ;~ Sleep(1000)
    WEnd

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

    Func SetLabelContent()
    GUICtrlSetData($label, StringFormat($string,$variable))
    EndFunc

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

    Func ChangeVariable()
    $variable = "Wert 2"
    MsgBox(Default, "", "Die Variabel wurde geändert.")
    EndFunc

    [/autoit]

    Oder du schaust dir mal die Option ExpandVarStrings in der Hilfe an, dann funktioniert das mit $variable$ im String, ist aber eher unsauber.

    Gruß,
    Spider

  • HotKeys in SciTE

    • GtaSpider
    • 17. Februar 2014 um 22:28

    Hey,

    Kannte eigentlich alle schon (sind meistens in jedem Editor gleich/ähnlich) bis auf das Rechteckige auswählen/schreiben. Das ist ja super witzig, ich fühl mich wie Bart Simpson mit seinem mehrfach-Kreide-halter :D
    [Blockierte Grafik: http://j27.img-up.net/Unbenannt2280.JPG]

    Gruß,
    Spider

  • komisches Phänomen.

    • GtaSpider
    • 8. Februar 2014 um 15:34

    Bitte in Zukunft darauf achten, korrekte Thread-Titel zu benutzen! "HILFE!!!!" oder "komisches Phänomen" sind keine wirklich prägnanten Titel und werden von den meisten Usern die sonst gerne Helfen, schlichtweg ignoriert.

    Gruß,
    Spider

  • Welche AutoIt Version nutzt ihr?

    • GtaSpider
    • 8. Februar 2014 um 00:21

    Hallo,

    Wenn man das aber wirklich einführt, dann ist das Gemecker wieder Groß, dass die AutoIt Versionen nicht mehr kompatibel sind. Aber für eine AutoIt v4 würde ich mir das doch schon wünschen (war ja damals von AutoIt 2 -> 3 auch so)

    Gruß,
    Spider

  • Autoit Info Tool (Finder-Tool)

    • GtaSpider
    • 8. Februar 2014 um 00:18
    Zitat von Ilse

    Hallo,

    merci für die Tipps.
    Alles was mich heute mache klappt nicht!

    Ich habe mir ControlCommand angesehen.

    [autoit]


    Run("notepad.exe")
    WinWait("[CLASS:Edit]")
    ControlCommand("[CLASS:Edit]", "", "Unbenannt - Editor", "GetLineCount", "")

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

    Die Daten m. Info ermittelt...
    aber nichts passiert.

    Was ich tun muß?
    Ich habe ein Programm v. Canon (Scan, PDF...)
    Da muß ich per Automation viele Daten Scannen.

    Mit Controlclick, Au3Recorder (läuft nicht) kann ich das nicht erledigen.

    Ich hoffe ihr könnt mir helfen!

    Liebe Grüße
    Ilse

    P.S. arbeite seit heute morgen daran. Bekomme den Au3Recorder nicht an den start.
    Und alle Versuche m. Controlclick scheitern. Ich konnte eine Combobox ansprechen
    aber keine Clicks machen...

    Alles anzeigen

    Öhh? Hää? :D Du hast als Title "Class:Edit", als text nichts und als Control "Unbenannt - Editor", alles komplett vertauscht :D So sollte es klappen:

    Spoiler anzeigen
    [autoit]

    Run("notepad.exe")
    ;~ WinWait("Unbenannt - Editor")
    Local $hWnd = WinWait("[CLASS:Notepad]");So ists sauberer
    ControlSetText($hWnd, "","[CLASS:Edit; INSTANCE:1]","Hallo Welt"&@CRLF&"Wie geht es dir heute?"&@CRLF&"Ich hoffe so gut wie mir!")
    Local $iLines = ControlCommand($hWnd, "","[CLASS:Edit; INSTANCE:1]", "GetLineCount", "")
    MsgBox(0,"","So viele Lines sind im Control:"&@CRLF&$iLines)
    WinClose($hWnd)

    [/autoit]

    Gruß,
    Spider

  • Autoit Info Tool (Finder-Tool)

    • GtaSpider
    • 7. Februar 2014 um 18:40

    schau dir mal ControlCommand und als Parameter "SelectString" an ;)

    Gruß,
    Spider

  • Dll Funktion Ausführen und gleichzeitig mit AutoIt weiterarbeiten (DllCallbackRegister)

    • GtaSpider
    • 6. Februar 2014 um 19:53

    Stimmt, hast recht, danke für den Tipp! Im Anhang die Überarbeitete Version - bin wie gesagt auch noch relativ neu in C ;)

    Gruß,
    Spider

    Dateien

    main.c 813 Byte – 683 Downloads
  • Welche AutoIt Version nutzt ihr?

    • GtaSpider
    • 6. Februar 2014 um 18:40
    Zitat von Andy

    Hi,

    ...und beim Ausprobieren bestehender Scripte aus tausenden Forenbeiträgen dumm durch die Finger gucken, weil man den "Fehler" nicht findet!

    Tweaky, umgekehrt wird ein Schuh draus, was ist an der 3.3.10.2ff sooo toll, dass "Otto-Normal-Scripter" unbedingt updaten muss? Für mich definitiv NICHTS, in der Firma läuft STABIL seit damaligem Release die 3.3.6.1

    Huiuiui :P Was ist neu? Der Syntax wurde komplett überarbeitet, das Arbeiten mit Strukturen läuft jetzt so flüssig von der Hand wie in C, neue Funktionen/Keywords (wie z.B. Volatile siehe Dll Funktion Ausführen und gleichzeitig mit AutoIt weiterarbeiten (DllCallbackRegister)) bringen eine ganz anderen Programmier Erfahrung mit sich, es fühlt sich mindestes seit der 3.3 nicht mehr an, wie eine Skriptsprache!

    Ich wundere mich auch, warum hier immer so viele Leute Probleme haben mit irgendwelchen Skripten. Ich hatte bisher noch kein einziges Problem und ich hab gerade mehere Projekte gleichzeitig am laufen.

    Gruß,
    Spider

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™