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

  • Anwendungspfad anhand der PID ermitteln

    • BugFix
    • 17. April 2009 um 21:47

    OK, dann muß ich mal auf dem Desktop-PC testen. Mein Laptop bringt nur die kryptische Bezeichnung. :D

  • Mit 1. GUI eine 2. Aufrufen aber 1. reagiert nicht mehr :(

    • BugFix
    • 17. April 2009 um 21:34

    Dann gib doch mal in das Suchfeld ein: "zwei guis" ;)

    Mit Return kannst du eine Funktion verlassen oder mit Return "Wert" einen Wert/Variable zurückgeben.
    Auch das gleichzeitige Aufrufen einer Funktion mit z.B. Return MsgBox(0.'', 'Funktion verlassen') ist möglich.

  • Anwendungspfad anhand der PID ermitteln

    • BugFix
    • 17. April 2009 um 21:26
    Zitat von Oscar

    $DevicePath[0] = "\Device\HarddiskVolume3\Programme"


    Also das verwundert mich nun doch sehr. Eigentlich dürfte hier nicht im Klartext das Volume erscheinen (sonst hätte ich auch die Auswertung vereinfachen können).
    Meine Ausgabe sieht so aus:
    \Device\Harddisk0\DP(1)0x7e00-0x950280000+1

    Also scheint die Abfrage von irgendwelchen Windowseinstellungen beeinflußt zu werden. :S

  • Anwendungspfad anhand der PID ermitteln

    • BugFix
    • 17. April 2009 um 20:56

    Trotzdem suche ich noch danach, warum das bei mir zu keinem Fehler führt. :S
    Sonst sucht man ja eigentlich, warum ein Fehler auftritt, diesmal umgekehrt :D

  • Mit 1. GUI eine 2. Aufrufen aber 1. reagiert nicht mehr :(

    • BugFix
    • 17. April 2009 um 19:17

    Zu dem Thema haben wir wirklich mindestens 50 Beiträge. Bitte benutze mal die Suche.
    Nur kurz: Man sollte am Skriptbeginn alle GUI erstellen und bei Bedarf mit GUISetState die entsprechende einblenden.


    Zitat von simon

    Nichts aber er hat mich in der Shoutbox vorhing dazu gefragt und ich musste jetzt weg

    @simon:
    Ich möchte nicht mit Kanonen auf Spatzen schießen, deshalb noch keine Warnung, nur ein letztmaliger Hinweis:
    OffTopic-Posts gehören auch in das entsprechende Unterforum, von wenigen Ausnahmen abgesehen. Dass du weg mußt kannst du auch per PN oder in der SB mitteilen.
    Ich mache dich deshalb darauf aufmerksam, weil Pee dich heute bereits wegen deiner sinnfreien Kurzposts und ich dich wegen Nichtbenutzung des Editmodes angemahnt haben.
    Also, respektiere unsere Forenregeln.

  • Wochentag- Feiertagsermittlung

    • BugFix
    • 17. April 2009 um 19:04
    Zitat von funkey

    Was hat es mit den Jahren 1583 und 8201 auf sich?


    Das sind die Jahresgrenzen für die eine Ermittlung von Schaltjahren gesichert ist.
    Seit 1583 gilt der Gregorianische Kalender mit der aktuellen Schalttagesregelung.
    Es verbleibt jedoch immer noch eine Differenz, die sich bis zum Jahr 8201 summieren wird. Es ist heute noch nicht geregelt, wie dann damit umgegangen werden soll (z.B. einmalig 2 Schalttage?).
    Laß uns dann noch mal drüber reden :rofl:

  • Wochentag- Feiertagsermittlung

    • BugFix
    • 17. April 2009 um 18:48

    Hab mal auf die aktuelle Version angepaßt und auch etwas "aufgefrischt", s. Post 1. ;)

  • Liste

    • BugFix
    • 17. April 2009 um 14:42

    Hier war der Fehler:

    [autoit]

    Case $erntenbutton
    $read = GUICTrlRead($angepflanztes)
    If $read = "" Then ; Du hattest statt Leerstring auf ein Leerzeichen geprüft!!
    GUICtrlSetBKColor($feld,0x8C4600)
    Else
    MsgBox(0,"Ernten","Du willst also folgendes ernten:" & @CRLF & $read)
    $List1CurSel = _GUICtrlListBox_GetCurSel ($angepflanztes)
    _GUICtrlListBox_DeleteString ($angepflanztes, $List1CurSel)
    $geld += 120
    GUICTrlSetDAta($geldanzeige,$geld)
    EndIf

    [/autoit]


    Und vereinfache mal die Befüllung der Listen:

    [autoit]

    $listview = GUICtrlCreateList("",530,40,200,200)
    GUICTRlSetDAta(-1,"Weizen|Gerste|Rüben|Salat|Mais|Klee|Gras")

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

    $kaufliste = GUICTrlCreateList("",770,40,200,200)
    GUICTrlSetData(-1,"Traktor 1|Traktor 2|Pflug|Sämaschiene|Mähdräscher|Eigenes Haus|Kartoffelernter|Mähwerk|Rübenvollernter|Halle 1|Halle 2")

    [/autoit]

    ;)

  • Execute funktioniert nicht

    • BugFix
    • 17. April 2009 um 14:09

    Hier ist der Fehler:
    $Split1 = StringSplit($Source, @CRLF) ==> du hattest @LF

    Und du solltest in deine Schleife noch einfügen:

    [autoit]

    If $Split1[$FNLoop] = '' Then ContinueLoop

    [/autoit]
  • regex in der ifschleife

    • BugFix
    • 17. April 2009 um 13:43

    Probier mal so:

    [autoit]

    $click = StringRegExp($var,"^(\d{1,4})\,(\d{1,4})$",1)
    If @extended Then MouseClick("left",$click[0],$click[1],1)

    [/autoit]
  • Execute funktioniert nicht

    • BugFix
    • 17. April 2009 um 13:31

    Aber warum machst du es dir so schwer?
    Ist folgendes nicht viel einfacher?

    [autoit]

    ; PlugIn erstellen:
    $plugin1 = @ScriptDir & '\plugin1.au3'
    FileWrite($plugin1, _
    "For $FNLoop = 1 To 5" & @CRLF _
    & @TAB & "MsgBox(0,'Test','Loop ' & $FNLoop)" & @CRLF & _
    "Next")

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

    ; PlugIn ausführen
    RunPlugIn($plugin1)

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

    Func RunPlugIn($PluginPath)
    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $PluginPath & '"')
    EndFunc

    [/autoit]
  • Execute funktioniert nicht

    • BugFix
    • 17. April 2009 um 13:18

    Also nochmal:
    - Execute erlaubt nur einen Befehl / Befehlszeile
    - jede Schleife besteht aber aus: Befehl Schleifenanfang + Befehl(e) in der Schleife + Befehl Schleifenende

    Versuch doch mal: For $i=0 To 20 auszuführen ;) ==> geht nicht!
    Und darum macht Execute das auch nicht.

  • Execute funktioniert nicht

    • BugFix
    • 17. April 2009 um 12:59

    Ich meinte nicht Codezeile, sondern Programmzeilen.
    So kannst du einen Ein-Zeilen-Code mit Schleife ausführen:

    [autoit]

    If FileWrite(@TempDir & "\temp.script.au3", _
    'For $FNLoop = 5 To 10' & @CRLF & _
    'MsgBox(0,"Test","Loop " & $FNLoop)' & @CRLF & _
    'Next') _
    And Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & '\temp.script.au3"') _
    And Sleep(1000) _
    And FileDelete(@TempDir & "\temp.script.au3") Then Exit

    [/autoit]
  • Execute funktioniert nicht

    • BugFix
    • 17. April 2009 um 12:53

    Execute kann nur eine Codezeile ausführen.

  • Anwendungspfad anhand der PID ermitteln

    • BugFix
    • 17. April 2009 um 11:42
    Zitat von ahe

    wird nur "Files\Mozilla Firefox\firefox.exe" zurückgeliefert...


    Kann ich nicht bestätigen.
    Habe mal diesen Ordner angelegt (im deutschen Windows gibt es den normalerweise ja nicht :P ) und ein dort hinkopiertes Programm gestartet.
    Ergebnis:

    Code
    C:\Program Files\TEST\PDFReader.exe
  • MathEx UDF

    • BugFix
    • 17. April 2009 um 09:25

    Die Schlacht um die Primzahldefinition :D

    Zitat von eukalyptus

    Eine Primzahl ist nur durch 1 und sich selbst teilbar - und das trifft auf 1 völlig zu ;)

    Das macht bei mir aber zwei Faktoren :P

    Hierbei sollte man auf keinen Fall den Ergebnissen von Google oder Wikipedia allein trauen.
    Hier das Ergebnis der Suchmaschine von princeton.edu:
    http://wordnetweb.princeton.edu/perl/webwn?s=prime%20number

    Dazu passend auch diese, wie ich finde gute Erklärung: Warum 1 keine Primzahl ist

    ;)

  • Text zählen

    • BugFix
    • 16. April 2009 um 09:33
    Zitat von Stilgar

    (wenn die Daten schon in der DB drinn sind dauert die Auswertung nur noch 12.4ms)


    Ja, dann ist es wirklich sauschnell. Das Einfügen der Daten ist der Pferdefuß.
    _FileReadToArray ist hier die Bremse. Ich hab jetzt mal die Funktion direkt mit der Erstellung des SQL-Insertstring verknüpft. Bringt bei mir einen schönen Zeitgewinn. Könnte evtl. an die Werte der Objekt-Version heranreichen.

    [autoit]

    Func _sql_count_ip()
    Local $fh = FileOpen(@ScriptDir & '\test_ip.txt', 0)
    Local $insertStr = '', $hSQL
    Local $aFile = StringStripWS(FileRead($fh, 2)
    If StringInStr($aFile, @LF) Then
    $aFile = StringSplit(StringStripCR($aFile), @LF, 2)
    ElseIf StringInStr($aFile, @CR) Then
    $aFile = StringSplit($aFile, @CR, 2)
    EndIf
    For $i = 0 To UBound($aFile) -1
    $insertStr &= "INSERT INTO tblTEST VALUES ('" & $aFile[$i] & "');"
    Next
    FileClose($fh)

    _SQLite_Startup ()
    $hSQL = _SQLite_Open ()
    _SQLite_Exec ( $hSQL, "CREATE TABLE tblTEST ('ip');" & $insertStr )

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

    Local $hQuery, $aRow, $result = ''
    _SQlite_Query ( $hSQL, "SELECT ip,COUNT(ip) FROM tblTEST GROUP BY ip ORDER BY COUNT(ip) DESC;", $hQuery )

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

    While _SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK
    ;~ $result &= $aRow[0] & @TAB & $aRow[1] & @CRLF
    ConsoleWrite($aRow[0] & @TAB & $aRow[1] & @CRLF)
    WEnd
    $fh = FileOpen(@ScriptDir & '\test_ip_out.txt', 2)
    FileWrite($fh, $result)
    FileClose($fh)
    _SQLite_Exec ( $hSQL, "DROP TABLE tblTEST;" )
    _SQLite_Close ()
    _SQLite_Shutdown ()
    EndFunc

    [/autoit]
  • GDI Plus

    • BugFix
    • 15. April 2009 um 23:48

    So?

    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GDIPlus.au3>

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

    Opt('MustDeclareVars', 1)

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

    _Main()
    Exit

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

    Func _Main()
    Local $hGUI, $hWnd, $hGraphic, $x = -2

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

    ; Create GUI
    $hGUI = GUICreate("GDI+", 400, 300)
    $hWnd = WinGetHandle("GDI+")
    GUISetState()

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

    ; Draw an ellipse
    _GDIPlus_Startup ()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
    For $i = 1 To 25
    $x += 13
    _GDIPlus_GraphicsFillEllipse ($hGraphic, $x, 50, 13, 13)
    Sleep(300)
    Next

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    ; Clean up resources
    _GDIPlus_GraphicsDispose ($hGraphic)
    _GDIPlus_Shutdown ()

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

    EndFunc ;==>_Main

    [/autoit]
  • GDI Plus

    • BugFix
    • 15. April 2009 um 23:27

    Guckst du in die Hilfe:

    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GDIPlus.au3>

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

    Opt('MustDeclareVars', 1)

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

    _Main()
    Exit

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

    Func _Main()
    Local $hGUI, $hWnd, $hGraphic, $hBrush

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

    ; Create GUI
    $hGUI = GUICreate("GDI+", 400, 300)
    $hWnd = WinGetHandle("GDI+")
    GUISetState()

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

    ; Draw an ellipse
    _GDIPlus_Startup ()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
    _GDIPlus_GraphicsFillEllipse ($hGraphic, 50, 50, 13, 13)

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    ; Clean up resources
    _GDIPlus_GraphicsDispose ($hGraphic)
    _GDIPlus_Shutdown ()

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

    EndFunc ;==>_Main

    [/autoit]
  • GDI Plus

    • BugFix
    • 15. April 2009 um 23:10

    Einfach einen Kreis mit 'nem kleinen Durchmesser zeichnen und ausfüllen.

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™