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

Beiträge von autoBert

  • Vergleichen der Benutzerdefinierten [Sektion]

    • autoBert
    • 23. Juni 2009 um 11:19

    Hallo maurice,

    probiere es einmal so:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    #include <file.au3>
    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)
    Example()
    Func Example()

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

    Local $aboutitem, $helpmenu, $n1, $n2, $msg, $font, $var, $cfgfile, $ip, $s
    Local $file, $cfgfile, $filelist, $exititem, $section, $msgbox, $restore
    ;/ MAC TEIL
    Local $filename, $source_filename, $found, $array, $text, $macs, $filearray, $y, $j, $section1

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

    GUICreate("Info Fenster - Restore now", 300, 300) ; Fenster Balken

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

    $filelist = GUICtrlCreateMenu("&File")
    $exititem = GUICtrlCreateMenuItem("Exit", $filelist)
    $helpmenu = GUICtrlCreateMenu("&?")
    $aboutitem = GUICtrlCreateMenuItem("&About", $helpmenu)

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

    $font = "Arial"
    GUISetFont(11, 400, 3, $font) ; Font
    GUICtrlCreateLabel("Wählen Sie das passende Image", 11, 30)

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

    $n1 = GUICtrlCreateCombo("", 10, 50)

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

    $section = IniReadSection("laptop.ini", "section")
    For $i = 1 To UBound($section) - 1

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

    GUICtrlSetData($n1, IniRead("laptop.ini", "section", $i, ""))
    Next

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

    $n2 = GUICtrlCreateButton("Wiederherstellen", 10, 110, 120)

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

    ;DriveMapAdd("r:", "\\xyz\e$\xyz\Data\images\PC_laptops\laptop vat", 0, "login", "") ;<=====================

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

    GUICtrlSetState(-1, $GUI_FOCUS) ; the focus is on this button
    GUISetState()

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

    Do
    $msg = GUIGetMsg()
    Switch $msg
    ;Case $exititem
    Case $aboutitem
    GUISetFont(14, 400, 1, $font)
    GUICtrlCreateLabel("" & Chr(10) & Chr(10) & "" & Chr(10) & "Version 0.5", 10, 180, 320)
    Case $exititem
    ;Case $exititem, $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    ;ExitLoop

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

    $ip = StringInStr(@IPAddress1, "192.168")
    $msg = GUIGetMsg()
    If $msg = $n2 Then
    $msgbox = MsgBox(1, "Achtung !", "Das Laptop model lautet: " & GUICtrlRead($n1) & Chr(10) & "Die zugewiesene IP-Adresse lautet: " & @IPAddress1 & Chr(10) & Chr(10) & "Klicken Sie < OK > zum Starten der Wiederherstellung " & Chr(10) & "Klicken Sie < Abbrechen > zum Abbrechen der Auswahl") ; anzeige gewähltes Image

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

    ; START MAC
    $filename = "ipconfig.txt"

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

    ; mit ipconfig Mac auslesen

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

    RunWait(@ComSpec & " /c ipconfig /all > " & $filename, "", @SW_HIDE)
    Dim $array
    _FileReadToArray($filename, $array)
    $text = _ArrayToString($array, ";")

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

    MsgBox(1, "", GUICtrlRead($n1)) ; uberprüfung des gewählten laptop
    $section1 = IniReadSection("laptop.ini", ""&GuiCtrlRead($n1)&"" )
    If @error Then
    MsgBox(4096, "Laptop: " & GUICtrlRead($n1), "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    _ArrayDisplay($section1)
    ;For $z=1 To UBound($section1)-1
    ; msgbox(1, "", $z) ; Only for TEST
    ;Next
    EndIf ; <================= bis hier ist alles in Ordnung

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

    $macs = StringRegExp($text, "(..-..-..-..-..-..)", 3)
    ;MsgBox(1, "Mac-Adresse", $text)
    _ArrayDisplay($macs)
    ;Dim $filearray
    ;<============= von hier
    For $y = 1 To UBound($section1) - 1
    For $j = 0 To UBound($macs) - 1

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

    ; If StringInStr($section1[$y], $macs[$j]) Then
    If $section1[$y][1] = $macs[$j] Then
    $found = $macs[$j]
    ExitLoop
    EndIf
    Next
    Next
    ;<=============== bis hier

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

    ; Ausgabe
    If $found <> "" Then
    MsgBox(0, "MAC-Adresse gefunden", "Ihre MAC-Adresse wurde gefunden (" & $found & ")")
    Else
    MsgBox(0, "MAC-Adresse nicht gefunden", "Ihre MAC-Adresse wurde nicht gefunden.")
    FileDelete($filename)
    Exit
    EndIf

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

    ; temporäre Datei löschen
    FileDelete($filename)
    ; STOP MAC

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

    If $msgbox = 2 Then Exit

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

    DriveMapAdd("r:", "\\xyz\e$\xyz\Data\images\PC_laptops\laptop vat", 0, "login", "")
    Sleep(Random(1000, 3000))

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

    $cfgfile = FileOpen("b:\" & GUICtrlRead($n1) & ".cfg", 1)
    FileWriteLine($cfgfile, "; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *")
    FileWriteLine($cfgfile, "; * -- Restore Script for Laptop.ini | Time " & @HOUR & ":" & @MIN & ":" & @SEC & " ---> Datum " & @MDAY & "." & @MON & "." & @YEAR & " -- *")
    FileWriteLine($cfgfile, "; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *")
    FileWriteLine($cfgfile, "mouse=no")
    FileWriteLine($cfgfile, "filesystem=ntfs")
    FileWriteLine($cfgfile, "disk=0")
    FileWriteLine($cfgfile, "main_part=1")
    FileWriteLine($cfgfile, "def_level=6")
    FileWriteLine($cfgfile, "quit=nobadsector")
    FileWriteLine($cfgfile, "automatic_naming=yes")
    FileWriteLine($cfgfile, "file=r:\" & GUICtrlRead($n1))
    FileClose($cfgfile)
    Sleep(Random(1000, 2000))

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

    $file = FileOpen("b:\Restoremenow.cmd", 1)
    FileWriteLine($file, "REM * * * * * * * * * * * * * * * * * * * * * * *")
    FileWriteLine($file, "REM * --- Zeit " & @HOUR & ":" & @MIN & ":" & @SEC & " -> Datum " & @MDAY & "." & @MON & "." & @YEAR & " --- *")
    FileWriteLine($file, "REM * * * * * * * * * * * * * * * * * * * * * * *")
    FileWriteLine($file, "x:\programs\imager\spartwin.ex_e -r -f b:\" & GUICtrlRead($n1) & ".cfg")

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

    FileClose($file)

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

    Sleep(Random(1000, 2000))

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

    RunWait("b:\Restoremenow.cmd", "", @SW_MAXIMIZE)

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

    ;Run("b:\Restoremenow.cmd", "", @SW_MAXIMIZE)
    FileMove("b:\" & GUICtrlRead($n1) & ".cfg", "b:\" & GUICtrlRead($n1) & ".txt")
    FileMove("b:\Restoremenow.cmd", "b:\Restoremenow.txt")

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

    MsgBox(0, "Finish Restore", "Restore konnte erfolgreich zurück gesichert werden.")
    Exit

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

    ;FileDelete("b:\Restoremenow.cmd")
    ;DriveMapDel("r:")
    EndIf
    Until $msg = $GUI_EVENT_CLOSE
    EndFunc ;==>Example

    [/autoit]


    Stellen an denen ich wichtige Änderungen vorgenommen habe sind mit ;<========== gekennzeichnet

    Viel Spass damit,

    mfg (Auto)Bert

  • Analogen wehrt aus lesen

    • autoBert
    • 23. Juni 2009 um 10:06

    Hallo smersch,

    in deinem Skript sind mir folgende Punkte aufgefallen:

    • Du benutzt #include <ChangeResolution.au3>, diese ist auf meinem System nicht vorhanden (Selbst geschrieben oder von Wago?), bitte posten
    • eine Beschreibung der IOCheck3.exe der Firma Wago ist eigentlich auch Pflicht
    • du erwähnst in einem Kommentar das Wort Navi-Fenster, kann es sein dass du eine HTML-Seite auswerten möchtest, wenn ja dann kompletten Quelltext der Seite, wenn nein ist Beschreibung der IOCheck3.exe unbedingt Pflicht.

    mfg (Auto)Bert

  • Slide bar einstellen aber so das er...

    • autoBert
    • 23. Juni 2009 um 01:32

    Hallo BugFix ,

    wenn du noch diese Zeile:

    [autoit]

    _GUICtrlSlider_SetPageSize($hSlider,10)

    [/autoit]

    rein nimmst, dann springt er beim reinklicken nur noch zwischen den nächst höheren bzw. niederen Wert hin und her, wenn man zwischen 2 Werten immer wieder auf die gleiche Stelle klickt.

    mfg (Auto)Bert

  • Slide bar einstellen aber so das er...

    • autoBert
    • 22. Juni 2009 um 23:31

    Hallo

    habe mich auch nur auf das Sliden konzentriert und das klicken dabei völlig ignoriert, hier eine Lösung die nach meinem Erachten der beste Kompromiss ist. Getestet mit XP

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <SliderConstants.au3>
    #Include <GuiSlider.au3>

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

    Global $iPercent

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

    #Region ### START Koda GUI section ### Form=
    $hGui = GUICreate("Test", 275, 145, 193, 150)
    $hGroup = GUICtrlCreateGroup("Der Wert beträgt jetzt: 0%.",8,8,260,79)
    $hSlider = GUICtrlCreateSlider(13, 23, 250, 49,BitOR($GUI_SS_DEFAULT_SLIDER,$TBS_Bottom,$TBS_ENABLESELRANGE,$TBS_TOOLTIPS))
    GUICtrlSetLimit($hSlider, 100, 0) ;maximal 100 minimal 0
    GUICtrlCreateGroup("", -99, -99, 1, 1) ; Gruppe schliessen
    $Button1 = GUICtrlCreateButton("OK", 64, 96, 145, 33, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    _GUICtrlSlider_SetPageSize($hSlider,10)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hSlider
    $iPercent = Ceiling(GUICtrlRead($hSlider) / 10) * 10 ;Sliderwert auf 10er Zahlen runden
    GUICtrlSetData($hSlider,$iPercent) ;gerundeten Wert anzeigen
    GUICtrlSetData($hGroup,"Der Wert beträgt jetzt: " & $iPercent & "%.")
    Case $Button1
    ;$iPercent = Int(GUICtrlRead($hSlider) / 10)
    Switch $iPercent
    Case 10
    MsgBox(0, "", "10")
    Case 20
    MsgBox(0, "", "20")
    Case 30
    MsgBox(0, "", "30")
    Case 40
    MsgBox(0, "", "40")
    Case 50
    MsgBox(0, "", "50")
    Case 60
    MsgBox(0, "", "60")
    Case 70
    MsgBox(0, "", "70")
    Case 80
    MsgBox(0, "", "80")
    Case 90
    MsgBox(0, "", "90")
    Case 100
    MsgBox(0, "", "100")
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]


    Anstelle von Round verwende ich jetzt auch Ceiling wie BugFix , zusätzlich habe ich _SetPageSize eingebaut wie Raupi . Zur Kontrolle während des Sliden's habe ich zusätzlich $TBS_TOOLTIPS als Stil aufgenommen. Zur Kontrolle nach dem Sliden zeige ich die Prozentzahl als Group-Text an.

    PS.: man muss beim klicken etwas länger die Maustaste gedrückt halten,

    Edit 2 überflüssige Zeilen entfernt

    mfg (Auto)Bert

  • Funktionen mit GUI's AN/AUS schalten

    • autoBert
    • 22. Juni 2009 um 22:13

    Hallo Wookie,

    schade dass du bei deiner Registrierung die Forenregeln nicht gelesen hast, aber dass kannst du ja jetzt nachholen.

    mfg (Auto)Bert

  • Slide bar einstellen aber so das er...

    • autoBert
    • 22. Juni 2009 um 22:01

    Hallo Katangar,

    ich würde es so lösen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <SliderConstants.au3>

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

    Global $iPercent

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

    #Region ### START Koda GUI section ### Form=
    $hGui = GUICreate("Test", 275, 103, 193, 150)
    $hSlider = GUICtrlCreateSlider(8, 8, 265, 49,BitOR($GUI_SS_DEFAULT_SLIDER,$TBS_BOTH,$TBS_AUTOTICKS))
    GUICtrlSetLimit($hSlider, 100, 10) ;maximal 100 minimal 10
    $Button1 = GUICtrlCreateButton("OK", 64, 56, 145, 33, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hSlider
    $iPercent = Round(GUICtrlRead($hSlider) / 10) * 10 ;Sliderwert auf 10er Zahlen runden
    GUICtrlSetData($hSlider,$iPercent) ;gerundeten Wert anzeigen
    Case $Button1
    ;$iPercent = Int(GUICtrlRead($hSlider) / 10)
    Switch $iPercent
    Case 10
    MsgBox(0, "", "10")
    Case 20
    MsgBox(0, "", "20")
    Case 30
    MsgBox(0, "", "30")
    Case 40
    MsgBox(0, "", "40")
    Case 50
    MsgBox(0, "", "50")
    Case 60
    MsgBox(0, "", "60")
    Case 70
    MsgBox(0, "", "70")
    Case 80
    MsgBox(0, "", "80")
    Case 90
    MsgBox(0, "", "90")
    Case 100
    MsgBox(0, "", "100")
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]

    Raupi bei deiner Lösung kann ich Zwischenwerte einstellen,

    mfg (Auto)Bert

  • Word Dokument drucken

    • autoBert
    • 22. Juni 2009 um 13:22

    Hallo Dio,

    kannst du die erstellte Datei per Explorer öffnen?

    mfg (Auto)Bert

  • Treeview mit Mausklick ausgewähltes Item auslesen?

    • autoBert
    • 22. Juni 2009 um 09:30

    Hallo chip,

    ja mit _GUICtrlTreeView_GetChildCount kannst du ermitteln ob sich ein Knoten weiterverzweigt- Wenn du dich näher mit T beschäftigen willst solltest du dir mindestens eines von @Oscars Skripten anschauen,

    mfg (Auto)Bert

  • Treeview mit Mausklick ausgewähltes Item auslesen?

    • autoBert
    • 22. Juni 2009 um 08:17

    Hallo Chip,

    schau dir das Beispiel zu GUICtrlCreateTreeView genau an, dort wird mit Hilfe von GuiCtrlRead genau das gemacht was du suchst,

    mfg (Auto)Bert

  • Verschiedene System auslesungen

    • autoBert
    • 22. Juni 2009 um 03:17

    Hallo zero2q,

    schau dir mal diesen Thread an.

    mfg (Auto)Bert

  • RestrictControlRegExp-UDF - Fehleingaben direkt verhindern, Eingabentypen festlegen

    • autoBert
    • 22. Juni 2009 um 02:59

    Hallo peethebee,

    habe erst heute diese UDF gefunden. Da Fehler mE. nach so früh wie möglich abgefangen werden sollen ist diese UDF sicher sehr nützlich. Läuft mit der aktuellen Stable, man muss nur diese auskommentierten Zeilen aktivieren

    [autoit]

    #include <GuiConstants.au3>

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

    Global Const $WM_COMMAND = 0x0111
    Global Const $EN_CHANGE = 0x300

    [/autoit]

    muss mich jetzt zwar erst in reguläre Ausdrücke einarbeiten aber die kleine Demo hat mich voll überzeugt :thumbup:

    mfg (Auto)Bert

  • _IEFormSubmit($oForm)

    • autoBert
    • 22. Juni 2009 um 01:55

    Hallo Split,

    werte mal @error nach dem submit aus. Welcher Fehler kommt da? Falls 0 poste das komplette Skript,

    mfg (Auto)Bert

  • Losgelassene Maustaste prüfen

    • autoBert
    • 22. Juni 2009 um 01:37

    Hallo Mehmex,

    falls du im OnEventModus programmierst geht es auch einfacher,

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Opt('GUIOnEventMode', 1)

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

    Local $hMainGui = GUICreate("Testaufruf für EditBox", 400, 280, 40, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    GUISetOnEvent($GUI_EVENT_PRIMARYUP, '_Show_MSG'); <================= nämlich so
    Local $hlblSpalte = GUICtrlCreateLabel("", 10, 10, 200, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLeft + $GUI_DOCKTOP)
    GUICtrlCreateButton('&Buchstaben (a-m)', 200, 10, 150, 25)
    GUICtrlSetOnEvent(-1, '_CallSpalte')
    Local $hlblZeile = GUICtrlCreateLabel("", 10, 50, 200, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLeft + $GUI_DOCKTOP)
    GUICtrlCreateButton('&Zahl (1-12', 200, 50, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlSetOnEvent(-1, '_CallZeile')
    Local $hlblErg = GUICtrlCreateLabel("", 10, 90, 200, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLeft + $GUI_DOCKTOP)
    GUICtrlCreateButton('be&enden', 200, 130, 150, 25)
    GUICtrlSetOnEvent(-1, '_End')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUISetState()

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

    While 1
    Sleep(120)
    WEnd

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

    Func _End()
    GUIDelete($hMainGui)
    Exit
    EndFunc ;==>_End

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

    Func _Show_MSG()
    MsgBox(0,"primäre (linke) Maustaste","wurde losgelassen",5000,$hMainGui)
    EndFunc

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

    Func _CallSpalte()
    MsgBox(0,"Spalte","",0,$hMainGui)
    EndFunc

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

    Func _CallZeile()
    MsgBox(0,"Spalte","",0,$hMainGui)
    EndFunc

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

    mfg (Auto)Bert

  • Songanzeige

    • autoBert
    • 22. Juni 2009 um 01:22

    Hallo Zero2q,

    Zitat

    Auszug aus Winamp Library Thread:
    Now it return a 2 dimensional array, where [0][0] is the element of current track, [n][0] is the track title, and [n][1] is the track file path.

    mfg (Auto)Bert

  • Fragen über AutoIt

    • autoBert
    • 22. Juni 2009 um 01:06

    Hallo deepred,

    eigentlich solltest du das woanders posten z.B. unter Talk. Ich persönlich rechne die nächsten 5 Jahre nicht damit,

    mfg (Auto)Bert

  • WM 2010

    • autoBert
    • 22. Juni 2009 um 00:59

    Hallo Madmaxx89,

    du trägst bereits beides ein, allerdings versteckst du in Zeile 138

    [autoit]

    _GUICtrlListView_HideColumn($2_listview, 1)

    [/autoit]

    die ID wieder.
    Die func SQLladen solltest du wie folgt abändern:

    [autoit]

    Func _sqlladen()
    $iRval = _SQLite_GetTable2d(-1, "SELECT * FROM Mannschaften;", $aResult, $iRows, $iColumns)
    If $iRval = $SQLITE_OK Then
    For $x = 1 To $iRows ;damit du nicht an starre Werte gebunden bist Anzahl der Zeilen anstatt fixen Wert
    ;~ _GUICtrlListView_AddArray($2_listview, $aResult)
    _GUICtrlListView_AddItem($2_listview, $aResult[$x][1])
    _GUICtrlListView_AddSubItem($2_listview, $x-1, $aResult[$x][0], 1) ;hier muss x-1 verwendet werden da die ListviewItems bei 0 beginnen (afaik)
    Next
    EndIf
    EndFunc ;==>_sqlladen

    [/autoit]


    Bei mir werden nur die Mannschaften bis einschliesslich Fidschi aufgenommen, deshalb ist die Umstellung der Schleife auf $iRows Pflicht, sonst steigt das Programm aus. Zu Drag und Drop schau dir mal den StarPlayer (Forum Skripte) von Oscar an,

    mfg (Auto)Bert

  • Ping Statistik

    • autoBert
    • 22. Juni 2009 um 00:13

    Hallo zusammen,

    habe das Skript nochmal abgeändert. Um die lange Wartezeit zu überbrücken gebe ich jetzt einfach 100 0-Werte vor:

    Spoiler anzeigen
    [autoit]

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

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

    AutoIt Version: 3.3.1.0 (beta)
    Author: Prog@ndy

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

    Script Function:
    Moving chart

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

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

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

    ; Script Start - Add your code below here
    #include<rmchart.au3>

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

    $hGUI = GUICreate("Chart Test", 700,500)
    $hWarten = GUICtrlCreateLabel("Bitte warten PING-Daten werden gesammelt!",20,400)
    _RMC_LoadDLL("rmchart.dll")

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

    $ChartID = 2101
    _RMC_CreateChart($hGUI, $ChartID ,10,10,300,200,$ColorBlack,0,0,"","",100)

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

    _RMC_AddRegion($ChartID,0,5,-5,0)

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

    _RMC_AddGrid($ChartID,1, $ColorBlack)
    _RMC_AddDataAxis($ChartID,1,$RMC_DATAAXISLEFT, 0, 1000 , 0 , 0, $ColorWhite , $ColorWhite ,$RMC_LINESTYLEDOT,0,"","")
    _RMC_AddLabelAxis($ChartID,1,0, 1, 5, 0, 0, 0, 0, 0, $RMC_LINESTYLENONE,"")
    GUISetState()

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

    $ping = 0; Ping("www.AutoIt.de",1000)

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

    For $i = 1 to 100
    ; if $i >90 Then
    ; $ping &= "|" & Ping("www.AutoIt.de",1000)
    ; Else
    $ping &= "|" & 0
    ; EndIf
    Next

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

    GUICtrlDelete($hWarten)

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

    Global $struct
    _RMC_Split2Double($ping, $struct)
    _RMC_AddLineSeries($ChartID, 1, $Struct, 100, 0, 0, $RMC_AREA, $RMC_AREA_FLAT , 0, True, $ColorGreen, 0, 0, 0, 0)

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

    _RMC_Draw($ChartID)

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

    AdLibEnable("_Update",1000)
    Func _Update()
    $ping = StringTrimLeft($ping, StringInStr($ping, "|")) & "|" & Ping("www.AutoIT.de", 1000)
    _RMC_Split2Double($ping, $struct)
    _RMC_SetSeriesData($ChartID, 1, 1, $struct, 100)
    _RMC_Draw($ChartID)
    EndFunc

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit

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

    EndSwitch
    WEnd

    [/autoit]


    Damit erhalte ich ein akzeptables Ergebnis,

    mfg (Auto)Bert

  • Songanzeige

    • autoBert
    • 21. Juni 2009 um 22:51

    Hallo Zero2q,

    etwas mehr Info wäre nicht schlecht, aber schau dir mal den Starplayer von Oscar an (Forum Scripte)

    mfg (Auto)Bert

  • Ping Statistik

    • autoBert
    • 21. Juni 2009 um 22:48

    Hallo Greek,

    hast du die benötigte rmChart.dll und die von @progandy rmChart.au3 in @Scriptdir liegen?

    mfg (Auto)Bert

  • Ping Statistik

    • autoBert
    • 21. Juni 2009 um 22:04

    Hallo subzero007,

    hattest du etwa an so etwas gedacht:

    Spoiler anzeigen
    [autoit]

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

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

    AutoIt Version: 3.3.1.0 (beta)
    Author: Prog@ndy

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

    Script Function:
    Moving chart

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

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

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

    ; Script Start - Add your code below here
    #include<rmchart.au3>

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

    $hGUI = GUICreate("Chart Test", 700,500)
    _RMC_LoadDLL("rmchart.dll")

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

    $ChartID = 2101
    _RMC_CreateChart($hGUI, $ChartID ,10,10,300,200,$ColorBlack,0,0,"","",100)

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

    _RMC_AddRegion($ChartID,0,5,-5,0)

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

    _RMC_AddGrid($ChartID,1, $ColorBlack)
    _RMC_AddDataAxis($ChartID,1,$RMC_DATAAXISLEFT, 0, 1000 , 0 , 0, $ColorWhite , $ColorWhite ,$RMC_LINESTYLEDOT,0,"","")
    _RMC_AddLabelAxis($ChartID,1,0, 1, 5, 0, 0, 0, 0, 0, $RMC_LINESTYLENONE,"")

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

    $ping = Ping("www.AutoIt.de",1000)
    #cs
    For $i = 1 to 100
    $ping &= "|" & Ping("www.AutoIt.de",1000)
    Next
    #ce sind bei mir zu lange Zeiten

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

    Global $struct
    _RMC_Split2Double($ping, $struct)
    _RMC_AddLineSeries($ChartID, 1, $Struct, 100, 0, 0, $RMC_AREA, $RMC_AREA_FLAT , 0, True, $ColorGreen, 0, 0, 0, 0)

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

    _RMC_Draw($ChartID)

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

    GUISetState()

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

    AdLibEnable("_Update",1000)
    Func _Update()
    $ping = StringTrimLeft($ping, StringInStr($ping, "|")) & "|" & Ping("www.AutoIT.de", 1000)
    _RMC_Split2Double($ping, $struct)
    _RMC_SetSeriesData($ChartID, 1, 1, $struct, 100)
    _RMC_Draw($ChartID)
    EndFunc

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    muss aber noch stark optimiert werden, da zumindest bei mir (Zugang über Web'n'Walk) mit den zurückerhaltenen Zeiten kein vernünftiges Chart zustande kommt. Vorsichtshalber pinge ich die Adresse AutoIt.de an, da weiss ich dass ich Verbindung habe. Da ich mich noch nicht mit rmChart beschäftigt habe musst du die Optimierung alleine machen,

    mfg (Auto)Bert

    mfg (Auto)Bert

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™