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

Beiträge von Oscar

  • Serverprohramm konsole Hiden

    • Oscar
    • 15. November 2010 um 16:54

    [OT on]
    Es gibt auch User (wie mich), die gar nicht die Portal-Ansicht benutzen, sondern die Foren-Ansicht. Dort werden einem alle neuen Nachrichten angezeigt. Man kann also gar nichts verpassen (wenn man wirklich alles liest).
    Somit ist dann auch das pushen nicht nötig. :whistling:
    [OT off]

  • GetSelectedIndices -> controlid

    • Oscar
    • 15. November 2010 um 04:40
    Zitat von autoBert

    Mir fällt aber auch kein Grund ein die ControlID eines LV-Items zu ermitteln ein, da alle mir bekannten Funktionen zu LV-Items mit dem Index arbeiten,

    Mir fällt schon ein Grund ein: Wenn man einzelne Listview-Einträge farblich markieren will (z.B. mit GUICtrlsetBkColor), benötigt man die Control-ID. Das habe ich bei meinem Starplayer benutzt, um das aktuelle Lied zu markieren.
    Ich kenne aber auch nur die Möglichkeit alle Control-IDs in einem Array zu speichern. Der LV-Index entspricht dann dem Index im Array.

  • Mathe-Trainer (Grundrechenarten)

    • Oscar
    • 15. November 2010 um 04:24

    Stimmt! Daran hatte ich nicht gedacht. Hab's geändert! Neue Version in Post #1.

    Danke, für den Bugreport!

  • Stoppuhr im hundertstel bereich

    • Oscar
    • 14. November 2010 um 19:22

    Hunderstel ist doch kein Problem. Erst, wenn Du die Tausenderstelle genau haben willst, wird es schwierig (Laufzeit).

  • Wer ist online?

    • Oscar
    • 14. November 2010 um 19:19

    Nein, ich denke, so ein Skript verstösst nicht gegen die Forenregeln. Die Aktualisierungsrate sollte aber nicht zu oft eingestellt sein (einmal pro Minute sollte dabei IMHO ausreichen).

  • Stoppuhr im hundertstel bereich

    • Oscar
    • 14. November 2010 um 18:16

    Hier mal eine Stoppuhr mit einzelnen Segmenten und Start/Pause/Stopp:

    Spoiler anzeigen
    [autoit]


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

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

    $hGui = GUICreate('Stoppuhr', 200, 100)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    Global $ahTime[4], $aOld[4], $iTimer, $fPause = False
    For $i = 0 To 3
    $ahTime[$i] = GUICtrlCreateLabel(StringFormat('%0' & 2 + Number($i = 3) & 'i', 0), 40 + $i * 30, 20, 30, 20)
    GUICtrlSetFont(-1, 14, 400, 0, 'Tahoma', 5)
    If $i < 3 Then
    GUICtrlCreateLabel(':', 62 + $i * 30, 20, 10, 20)
    GUICtrlSetFont(-1, 14, 400, 0, 'Tahoma', 5)
    EndIf
    Next
    $hStart = GUICtrlCreateButton('Start', 10, 60, 50, 25)
    GUICtrlSetOnEvent(-1, '_Start')
    $hPause = GUICtrlCreateButton('Pause', 70, 60, 50, 25)
    GUICtrlSetOnEvent(-1, '_Pause')
    GUICtrlSetState(-1, $GUI_DISABLE)
    $hStopp = GUICtrlCreateButton('Stopp', 130, 60, 50, 25)
    GUICtrlSetOnEvent(-1, '_Stopp')
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState()

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

    While Sleep(1000)
    WEnd

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

    Func _End()
    Exit
    EndFunc ;==>_End

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

    Func _Start()
    GUICtrlSetState($hStart, $GUI_DISABLE)
    GUICtrlSetState($hStopp, $GUI_ENABLE)
    GUICtrlSetState($hPause, $GUI_ENABLE)
    $iTimer = TimerInit()
    AdlibRegister('_ShowTime', 10)
    EndFunc ;==>_Start

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

    Func _Pause()
    $fPause = Not $fPause
    Switch $fPause
    Case True
    AdlibUnRegister('_ShowTime')
    GUICtrlSetData($hPause, 'Weiter')
    Case False
    AdlibRegister('_ShowTime', 10)
    GUICtrlSetData($hPause, 'Pause')
    EndSwitch
    EndFunc ;==>_Pause

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

    Func _Stopp()
    AdlibUnRegister('_ShowTime')
    _ShowTime()
    GUICtrlSetState($hStart, $GUI_ENABLE)
    GUICtrlSetState($hStopp, $GUI_DISABLE)
    GUICtrlSetState($hPause, $GUI_DISABLE)
    EndFunc ;==>_Stopp

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

    Func _ShowTime()
    Local $aTime[4], $iTicks = TimerDiff($iTimer)
    $aTime[2] = Int($iTicks / 1000)
    $aTime[3] = Int($iTicks - $aTime[2] * 1000)
    $aTime[0] = Int($aTime[2] / 3600)
    $aTime[2] = Mod($aTime[2], 3600)
    $aTime[1] = Int($aTime[2] / 60)
    $aTime[2] = Mod($aTime[2], 60)
    For $i = 0 To 3
    If $aTime[$i] <> $aOld[$i] Then GUICtrlSetData($ahTime[$i], StringRight('00' & $aTime[$i], 2 + Number($i = 3)))
    Next
    $aOld = $aTime
    EndFunc ;==>_ShowTime

    [/autoit]

    Aber eine AdlibZeit von kleiner als 10 halte ich auch für schlecht, weil die _ShowTime-Funktion schon einige Millisekunden (je nach Rechner) benötigt.

  • Click Me - Ein völlig sinnloses Spiel

    • Oscar
    • 14. November 2010 um 17:00

    Ja! Du hast die entsprechende Stelle bereits zitiert.

  • Treeview FileExplorer

    • Oscar
    • 14. November 2010 um 12:34

    @Mr_gitarre: Bei mir tritt der, von Dir beschriebene, Fehler nicht auf (weder unter WinXP noch unter Win7). Wenn der Fehler nur bei Dir auftritt, musst Du schonmal bei Dir (Deinem Rechner) nach den Ursachen suchen. :huh:

    Manchmal ist nicht mal AutoIt Schuld an solchen Fehlern, siehe: Refreshfehler bei _ArrayDisplay :pinch:

  • Mathe-Trainer (Grundrechenarten)

    • Oscar
    • 14. November 2010 um 12:00

    Es gibt eine neue Version (siehe Post #1).
    Man kann jetzt den Zahlenbereich anpassen.

  • Speicherproblem - wie Speicher wieder freigeben

    • Oscar
    • 13. November 2010 um 19:24

    Zu Deinem ersten Posting kann man nicht viel sagen (keine Testmöglichkeit).
    Zum zweiten Problem (alle Einträge markieren):

    [autoit]

    _GUICtrlListView_SetItemSelected($hListview, -1, True)

    [/autoit]


    Das markiert alle Einträge. :)

  • AutoBert hat Geburtstag

    • Oscar
    • 13. November 2010 um 04:09

    Auch von mir: Herzlichen Glückwunsch zum Geburtstag.

  • Xenobiologist wird heute 31 Jahre

    • Oscar
    • 12. November 2010 um 17:48

    Hi Xeno!
    Alles Gute zu Deinem heutigen Geburtstag. Feiere schön und bleib uns mit Rat und Tat erhalten. :thumbup:

  • gui größe auslesen

    • Oscar
    • 11. November 2010 um 19:02

    Entweder WinGetPos (Fensterkoordinaten/-Größe) oder WinGetClientSize (Client-Area)

  • suche jemanden für nen treiber - ich hoffe ich hab das hier alles richtig verstanden .

    • Oscar
    • 11. November 2010 um 05:17

    Eine S3? Die ist doch schon uralt, oder? Ich meine mich erinnern zu können, dass ein Kumpel die mal in einem Win98-Rechner drinhatte. Das war vor >10 Jahren.
    Was ich mich nun frage: Ist der übrige Rechner genauso alt? Wenn ja, vergiss das mit Win7.
    Wenn der Rest besser/schneller ist, dann kaufe Dir eine neue Grafikkarte oder benutze weiterhin WinXP.

    Edit: Nicht gesehen. Geht um ein Laptop.

  • Fingerprint/HardwareID generieren, aber was als Quelle nehmen ?

    • Oscar
    • 10. November 2010 um 18:25

    Vorsicht! Nicht jedes Board liefert eine eindeutige Seriennummer. Oft wird "unknow" oder "0000-0000-0000-0000" zurückgegeben.
    Ich würde dem Rat (Post#6) von AspirinJunkie folgen. Mehrere Komponenten nehmen und daraus eine MD5-Checksumme. Das dürfte ausreichen.

  • StringRegExp Tutorial / Reguläre Ausdrücke in AutoIt

    • Oscar
    • 9. November 2010 um 18:03

    UEZ: So geht's

    [autoit]


    #include <Array.au3>
    $string = '14 124 AutoIt 4 283 Coding macht Spass 0815 Ende'
    $array = StringRegExp($string, '([^\d+|\h]+?)(?:\h|\z)', 3)
    _ArrayDisplay($array)

    [/autoit]
  • Refreshfehler bei _ArrayDisplay

    • Oscar
    • 8. November 2010 um 21:16

    Oh mann, das gibt es nicht. Ich habe das Problem entdeckt. :rolleyes:
    Das ist eigentlich unglaublich, aber war absolut reproduzierbar. Es war das Einstellungsprogramm (SetPoint) für meine Logitech-Tastatur/-Maus.
    Wenn ich das Einstellungsprogramm beendet habe, funktionierte _ArrayDisplay einwandfrei. Habe ich das Einstellungsprogramm wieder gestartet, traten die Refreshfehler wieder auf.

    Es handelte sich dabei um die Version 4.80.103 von SetPoint (wurde zusammen mit der Tastatur geliefert). Jetzt habe ich mal ein Update auf die aktuelle Version 6.15.6 gemacht und dort tritt der Fehler auch mit gestarteten SetPoint nicht mehr auf.

    Wieso allerdings SetPoint diesen Refreshfehler verursacht hat, wird mir wohl für immer ein Rätsel bleiben. ?(

    Problem gelöst! Vielen Dank an alle, die sich zusammen mit mir den Kopf zerbrochen haben. :thumbup:

  • Informatik-Studium

    • Oscar
    • 8. November 2010 um 16:53
    Zitat von peethebee

    Meiner Erfahrung nach können höchstens die richtigen Informatiker programmieren. Habe noch keinen Wirtschaftsinformatiker gesehen, der irgendwas konnte.

    Ohoh... :D

    Profil von "Xenobiologist":
    [...]
    Beruf: Wirtschaftsinformatiker

  • Refreshfehler bei _ArrayDisplay

    • Oscar
    • 8. November 2010 um 16:39

    Nö, kein Backup! :whistling:

    Vielleicht sollte ich mir mal angewöhnen, vor jeder Programminstallation ein Backup zu erstellen, dann könnte man das besser eingrenzen. ^^

  • Refreshfehler bei _ArrayDisplay

    • Oscar
    • 8. November 2010 um 16:24

    Ich bin ja auch schon am zweifeln, ob es überhaupt an AutoIt liegt. Die Grafikkarte hatte ich auch schon im Verdacht, aber bisher konnte ich diesen Refreshfehler nur bei _ArrayDisplay und bei meinem Programm "TSAdress" ausmachen.
    Ich habe auch schon den aktuellsten Grafikkartentreiber installiert, aber der Fehler tritt immer noch auf. ?(
    Zum testen habe ich bereits mehrere Styles durchprobiert, aber dieses Skript läuft einwandfrei (ohne Refreshfehler):

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>

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

    $sHeader = 'a|b|c'
    Global $iExStyle = $LVS_EX_GRIDLINES + $LVS_EX_FULLROWSELECT + $LVS_EX_DOUBLEBUFFER
    $hGui = GUICreate('Test', 340, 220, Default, Default, BitOR($WS_SYSMENU, $WS_CAPTION, $WS_SIZEBOX, $WS_MINIMIZEBOX))
    $aiGUISize = WinGetClientSize($hGui)
    $hListView = GUICtrlCreateListView($sHeader, 0, 0, $aiGUISize[0], $aiGUISize[1] - 26, $LVS_SHOWSELALWAYS, $iExStyle)
    For $i = 0 To 31
    GUICtrlCreateListViewItem(Random(1000, 9999, 1) & '|' & Random(1000, 9999, 1) & '|' & Random(1000, 9999, 1), $hListView)
    Next
    GUICtrlSendMsg($hListView, $LVM_SETCOLUMNWIDTH, 0, 100)
    GUICtrlSendMsg($hListView, $LVM_SETCOLUMNWIDTH, 1, 100)
    GUICtrlSendMsg($hListView, $LVM_SETCOLUMNWIDTH, 2, 100)
    GUICtrlSetResizing($hListView, $GUI_DOCKBORDERS)
    GUISetState()
    WinSetOnTop($hGui, '', 1)

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

    Do
    Until GUIGetMsg() = -3

    [/autoit]

    Ich raff das einfach nicht. Wieso tritt der Fehler nicht immer auf?
    Bei einem Hardwaredefekt müsste das doch immer auftreten. Oder auch wenn da ein Programm querschiessen sollte.
    Ich habe auch schon alle Hintergrundprogramme beendet und einige unwichtige Dienste deaktiviert. So langsam bin ich am Ende.
    Notfalls muss ich in den sauren Apfel beissen und Windows neu installieren. ;(

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™