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

Beiträge von BugFix

  • ProcessWatcher

    • BugFix
    • 29. Juli 2007 um 21:21

    Tipp:
    Nimm nicht die Standard-Input Box, sondern mach eine kleine GUI mit Inputfeld. Dort kannst du als Style festlegen: $ES_NUMBER
    Das läßt nur numerische Eingaben zu. Wenn dabei der Bereich überschritten/unterschritten wird, blendest du diese GUI einfach wieder zur Korrektur ein.

  • Websiteparser

    • BugFix
    • 29. Juli 2007 um 20:31

    Wenn dies die einzige Angabe mit 'src="' im Quelltext ist, sollte auch dieses reichen:

    [autoit]

    #include <INet.au3>
    #include <String.au3>

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

    $source = _INetGetSource ( $s_URL )
    $arFound = _StringBetween($source,'src="', '"', 1)

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

    If IsArray($arFound) Then MsgBox(0, 'gefunden', $arFound[0])

    [/autoit]
  • CountDown

    • BugFix
    • 29. Juli 2007 um 18:13

    Hier meine Version für einen CountDown -Timer.

    Eingabewert: Sekunden, optional: Minuten, Stunden, Tage
    Anzeige: herunterzählend (Standard) oder heraufzählend bis Vorgabezeitraum abgelaufen als ToolTip

    Darstellung:
    05 s
    02:05 min
    01:02:05 h
    03 d, 01:02:05 h

    EDIT 13.08.2007

    Hinzugefügt:
    - Optional kann die Ausgabe statt als ToolTip in ein GUI-Ctrl erfolgen

    Spoiler anzeigen
    [autoit]

    ;----------------------------------------------------------------------------------------------------------------------
    ; Funktion _CountDown($SEC [, $MIN=0 [, $HOUR=0 [, $DAY=0 [, $VISIBLEDOWN=True [, $ALTERNATECTRL='TT']]]]])
    ;
    ; Beschreibung zählt vorgegebene Zeitspanne (Tage, Stunden, Minuten, Sekunden) herunter mit Anzeige Tooltip (Standard)
    ; oder Ausgabe in GUI-Ctrl; wahlweise Anzeige von Restzeit (Standard) oder abgelaufener Zeit
    ;
    ; Parameter $SEC: Sekunden
    ; optional $MIN: Minuten
    ; optional $HOUR: Stunden
    ; optional $DAY: Tage
    ; optional $VISIBLEDOWN: Ansicht (herunterzählen/heraufzählen)
    ; optional $ALTERNATECTRL: GUI-Ctrl in das die Ausgabe mittels GUICtrlSetData() ausgegeben wird
    ;
    ; Erfordernisse #include <Date.au3>
    ;
    ; Autor BugFix ([email='bugfix@autoit.de'][/email])
    ;----------------------------------------------------------------------------------------------------------------------
    #include <Date.au3>
    Func _CountDown($SEC, $MIN=0, $HOUR=0, $DAY=0, $VISIBLEDOWN=True, $ALTERNATECTRL='TT')
    $Sekunden = $SEC + $MIN*60 + $HOUR*3600 + $DAY*86400
    $end = _DateAdd('s', $Sekunden, _NowCalc())
    Local $message
    Do
    Sleep(100)
    $sec = _DateDiff('s', _NowCalc(), $end)
    If Not $VISIBLEDOWN Then
    $secShow = $Sekunden - $sec
    Else
    $secShow = $sec
    EndIf
    Select
    Case $secShow < 60
    If $ALTERNATECTRL = 'TT' Then
    ToolTip(StringFormat('%02u', $secShow) & ' s')
    Else
    GUICtrlSetData($ALTERNATECTRL, StringFormat('%02u', $secShow) & ' s')
    EndIf
    Case $secShow < 60*60
    $message = StringFormat('%02u', Floor($secShow/60)) & ':' & _
    StringFormat('%02u', Mod($secShow,60)) & ' min'
    If $ALTERNATECTRL = 'TT' Then
    ToolTip($message)
    Else
    GUICtrlSetData($ALTERNATECTRL, $message)
    EndIf
    Case $secShow < 60*60*24
    $message = StringFormat('%02u', Floor($secShow/3600)) & ':' & _
    StringFormat('%02u', Floor(Mod($secShow,3600)/60)) & ':' & _
    StringFormat('%02u', Mod(Mod($secShow,3600),60)) & ' h'
    If $ALTERNATECTRL = 'TT' Then
    ToolTip($message)
    Else
    GUICtrlSetData($ALTERNATECTRL, $message)
    EndIf
    Case Else
    $message = Floor($secShow/86400) & ' d / ' & _
    StringFormat('%02u', Floor(Mod($secShow,86400)/3600)) & ':' & _
    StringFormat('%02u', Floor(Mod(Mod($secShow,86400),3600)/60)) & ':' & _
    StringFormat('%02u', Mod(Mod(Mod($secShow,86400),3600),60)) & ' h'
    If $ALTERNATECTRL = 'TT' Then
    ToolTip($message)
    Else
    GUICtrlSetData($ALTERNATECTRL, $message)
    EndIf
    EndSelect
    Until $sec = 0
    EndFunc ;==>_CountDown

    [/autoit]
  • ProcessWatcher

    • BugFix
    • 29. Juli 2007 um 17:51

    Auch für dich: Bitte keine Doppelposts, editieren. ;)

    Wenn du während des laufenden Programms die INI änderst, mußt du schon das Programm erneut starten, damit alle Einträge berücksichtigt werden.

    Man könnt sicher eine Konstruktion bauen, die auch das ermöglicht, aber ich halte das nicht für sinnvoll.

  • Internet-Seiten speichern

    • BugFix
    • 29. Juli 2007 um 17:32

    2 Varianten
    für IE:
    C:\Dokumente und Einstellungen\USER\Lokale Einstellungen\Verlauf
    oder
    HKEY_CURRENT_USER / Software / Microsoft / Internet Explorer / TypedURLs

    FF weiß ich nicht, sicher ähnlich.

  • ProcessWatcher

    • BugFix
    • 29. Juli 2007 um 17:23

    Die INI nur einmal außerhalb der Schleife lesen:

    [autoit]

    $ini = "ProcessNames.ini"
    $arProcess = IniReadSection($ini, "Process")
    HotKeySet("!e", "ende") ; HotKey Alt+e zum Beenden
    While 1
    For $i = 1 To $arProcess[0][0]
    If ProcessExists($arProcess[$i][1]) Then
    ProcessSetPriority($arProcess[$i][1], 0)
    EndIf
    Next
    Sleep(1000) ; Überprüfungs-Intervall, hier 1 Sekunde
    WEnd

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

    Func ende()
    Exit
    EndFunc

    [/autoit]
  • Internet-Seiten speichern

    • BugFix
    • 29. Juli 2007 um 17:08

    Willst du den Verlauf speichern? - Also die Adressen der besuchten Seiten.

  • _FileWriteToLine & Anzahl der Zeichen löschen

    • BugFix
    • 29. Juli 2007 um 17:05

    Hi,
    in der Funktion ist eine Zeile, die ich nur beim tetsweise drinhatte. Kannst du rausschmeißen -macht keinen Sinn: $pos = 7
    Hat aber keinen Einfluß weiter.

    Mach mal ein Debugging für alle Variablen in der Funktion
    (in SciTE: Variable markieren, Alt+D ==> Wert wird in Console geschrieben).
    Dann kannst du am einfachsten feststellen, wo es hakt.

    Rein vom Ablauf sehe ich im Moment keinen Fehler.

  • wie mausklick auf menuitem inner autoit gui registrieren

    • BugFix
    • 28. Juli 2007 um 23:25

    GUIGetMsg(1) ist die erweiterte Form. Du bekommst ein Array zurück:
    $array[0] = 0 or Event ID or Control ID
    $array[1] = The window handle the event is from
    $array[2] = The control handle the event is from (if applicable)
    $array[3] = The current X position of the mouse cursor (relative to the GUI window)
    $array[4] = The current Y position of the mouse cursor (relative to the GUI window)

    Für dein Muster:

    [autoit]

    msg1 = GUIGetMsg(1)
    If $msg1[0] = $MenuItem2 Then
    MsgBox(0, "Mitteilung", "Funktion leider noch nicht implementiert")
    EndIf

    [/autoit]


    Es reicht aber auch:

    [autoit]

    msg1 = GUIGetMsg()
    If $msg1= $MenuItem2 Then
    MsgBox(0, "Mitteilung", "Funktion leider noch nicht implementiert")
    EndIf

    [/autoit]
  • dll call version 3.1 --> 3.2.4.x FEHLER

    • BugFix
    • 28. Juli 2007 um 13:49
    Zitat

    Original von Daniel W.
    Weißt du was uns die Antwort erleichtern würde?

    a) Ein Krusty Burger
    b) Ein Krabbenburger
    c) Dein Sourcecode

    c!

    Alternativ wäre auch eine Kristallkugel von Nutzen - aber wer hat die schon ? :rofl:

  • MsgBox - alle Parameter auf einen Blick

    • BugFix
    • 28. Juli 2007 um 13:36

    Carsten:

    Modal - System bedeutet: Dialog hat ein Icon.

    Wenn du eine MsgBox sicher nach vorn bringen willst, mußt du den top-most Flag wählen (also plus 262144).

  • Visual IDE for AutoIt

    • BugFix
    • 28. Juli 2007 um 12:28

    Schönes und vor allem anspruchsvolles Projekt.

    Auch meine Empfehlung - einzelne Fenster für die Komponenten. Das bietet mehr Möglichkeiten z.B. das Code-Fenster zu maximieren.

    Bin gespannt, wie sich das entwickelt. :rock:

  • Hilfe bei Schleifenerstellung

    • BugFix
    • 26. Juli 2007 um 09:00

    Du mußt die Abbruchbedingung bzw. Schleifendurchlaufzahl noch festlegen.

    Spoiler anzeigen
    [autoit]

    Do
    Sleep($sleep)

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

    MouseMove($kor01, $kor02)
    MouseClick("left")
    Send($anz01)

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

    MouseMove($kor03, $kor04)
    MouseClick("left")
    Send($ort01 += 1)
    MouseMove($kor05, $kor06)
    MouseClick("left")
    Send($ort02 += 1)

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

    Send("{ENTER}")
    Sleep($sleep)

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

    MouseMove($kor07, $kor0cool
    MouseClick("left")

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

    Sleep($sleep)
    Until $abbruchbedingung = $wert

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

    ; ODER

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

    For $i = 1 To $AnzahlDurchlauf
    Sleep($sleep)

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

    MouseMove($kor01, $kor02)
    MouseClick("left")
    Send($anz01)

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

    MouseMove($kor03, $kor04)
    MouseClick("left")
    Send($ort01 += 1)
    MouseMove($kor05, $kor06)
    MouseClick("left")
    Send($ort02 += 1)

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

    Send("{ENTER}")
    Sleep($sleep)

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

    MouseMove($kor07, $kor0cool
    MouseClick("left")

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

    Sleep($sleep)
    Next

    [/autoit]
  • GUI leeren ????

    • BugFix
    • 26. Juli 2007 um 08:40
    Zitat

    Original von DjPro2k7
    Okay hab ich jetzt so gemacht!
    Ist zwar umständlich, aber funzt so.

    Also danke für eure Hilfe

    Mag auf den ersten Blick etwas umständlicher aussehen. Du kannst dann aber das Skript viel leichter lesen.
    Es hat sich als eine Art Standard eingebürgert, ein Skript etwa in dieser Form aufzubauen:
    - Includes
    - Optionen
    - Konstanten/Variablen -Deklarationen
    - GUI Deklarationen
    - Hauptprogramm
    - Funktionen

    Natürlich hat da jeder auch seine 'eigene Note'. ;)
    Aber das macht es, gerade für den Hilfe gebenden, einfacher dein Skript zu lesen.

  • Wo finde ich den Koda ?

    • BugFix
    • 25. Juli 2007 um 17:50

    Mit der Suchfunktion findest du es.

    Koda

  • GUI leeren ????

    • BugFix
    • 25. Juli 2007 um 17:45

    Es empfiehlt sich alle Controls zuerst zu definieren und dann, wie schon gesagt bei Bedarf auf Enable oder Disable zu setzen.
    Sehe nix, was dagegen spricht in deinem Bsp.

  • logische Partition fehlerhaft - TestDisk friert ein

    • BugFix
    • 25. Juli 2007 um 16:30

    Dort erscheint die Partition als:
    - Logischer Datenträger D:
    - Dateiformat RAW

    EDIT:
    Hab jetzt mal mit Linux Live-CD gestartet (Kanotix). Ist ja voll der Hammer, braucht zwar 'ne Weile zum Lesen aber dann habe ich vollen Zugriff auf die Partition. Alle Daten da.
    Dann werde ich mal eine leere Platte einhängen und per Live-CD alles sichern.

    Was hält mich eigentlich noch bei Windows? hmm.... achja: AutoIt :D

    EDIT 2:
    So, Problem gelöst. Habe mit 'Puppy Linux Live-CD' die Daten der Partition auf ein anderes Laufwerk gespeichert. Mit Linux-Tool 'gparted' die fehlerhafte Partition neu formatiert und dann die Daten zurückgeschrieben.
    Einige Dateien waren aber futsch. Zerstörte Cluster genau im Bereich der FileTable.

  • Text in Datei ersetzen ...

    • BugFix
    • 25. Juli 2007 um 12:19

    Wenn du in eine INI schreibst, verwende IniRead(), IniWrite etc.
    Findest du super in der Hilfe.

  • Warum Läuft das Script nicht weiter ?

    • BugFix
    • 25. Juli 2007 um 12:16

    Es kann schon vom Ablauf her nicht funktionieren. Verwende deine Musterdaten mal von Hand.
    - bei Ort fragt er nach, welches Karlsruhe
    - bei Branche wird andere Branche vorgeschlagen

    Ich arbeite selten mit IE.au3, aber wenn ich mich nicht irre, mußt du Submit für das Objekt durchführen, dass die Daten führt

    [autoit]

    _IEFormSubmit ($oLocation)
    _IEFormSubmit ($oGesuchtes)

    [/autoit]


    Bin mir da allerdings nicht sicher.

  • logische Partition fehlerhaft - TestDisk friert ein

    • BugFix
    • 25. Juli 2007 um 12:05

    Hi,
    auf meinem Desktop-PC habe ich Probleme mit einem logischen Laufwerk.
    Die Partition erscheint als RAW (Rohformat ohne Dateisystem).
    Dadurch geht natürlich die gesamte PC-Performance total in den Keller. Schon das Booten dauert > 5 min, da Windows ja versucht das Laufwerk einzuhängen und die Bindungen herzustellen.

    Den Bootsektor habe ich bereits über die Reparaturkonsole neu erstellt. Das brachte aber keine Besserung.
    Also wird der Fehler im File-System liegen. Mit TestDisk (von der Windows Oberfläche) wollte ich nun einen Check ausführen (und wenn mgl. reparieren) aber leider friert mir dabei der PC ein. :(
    TestDisk von der UBCD startet gar nicht erst, sondern bricht nach der Config ab mit 'unallocatable memory'.

    PartitionMagic erkennt die Partition und weist sie auch richtig als NTFS-Partition aus, Größenangaben alles korrekt. Beim Abfragen der Eigenschaften treten dann aber Lesefehler auf und PM informiert über verlorene Cluster.

    Falls jemand eine Idee hat, wie ich das Filesystem reparieren kann, wäre ich dankbar.

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™