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

  • Einfügen in Edit trotz scrollen

    • Oscar
    • 21. September 2012 um 16:33

    Mit TimerInit/-Diff funktioniert es auch nicht. Es geht nur mit der Timer-UDF ("_Timer_SetTimer"), weil diese unabhängig von der GUI-Abfrage aufgerufen wird.

  • Deutsche Sprache - Schwere Sprache (?)

    • Oscar
    • 20. September 2012 um 16:33

    Zum Thema "eindeutschen" habe ich auch noch ein Beispiel:
    Aus "Coffee to go" wird oft ein "Kaffee to go" (Autsch), aber das Schlimmste war dann der "Kaffee togo" (das stand wirklich so auf dem Schild).
    Ich frage mich allerdings warum nicht einfach "Kaffee zum mitnehmen" verwendet wird. Ist das nicht "cool" genug? :huh:

  • Einfügen in Edit trotz scrollen

    • Oscar
    • 20. September 2012 um 16:22

    Die Timer-UDF verwenden statt AdlibRegister:

    Spoiler anzeigen
    [autoit]


    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiEdit.au3>
    #include <Timers.au3>
    #include <WindowsConstants.au3>

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

    Global $hGui = GUICreate("My GUI edit")
    Global $cEdit = GUICtrlCreateEdit("", 20, 20, 200, 202, $ES_READONLY + $WS_VSCROLL)
    GUISetState()

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

    _GUICtrlEdit_AppendText($cEdit, @SEC)

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

    _Timer_SetTimer($hGui, 200, "_Test")

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    _Timer_KillAllTimers($hGui)
    Exit
    EndSwitch
    WEnd

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

    Func _Test($hWnd, $Msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    ConsoleWrite(@SEC & @CRLF)
    _GUICtrlEdit_AppendText($cEdit, @CRLF & @SEC)
    EndFunc ;==>_Test

    [/autoit]
  • Alles Gute, Gun-Food :)

    • Oscar
    • 19. September 2012 um 16:32

    Auch von mir die allerherzlichsten Glückwünsche für euch beide.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Bilder

    • smilie_geb_049.gif
      • 10,99 kB
      • 92 × 86
  • _ListView2HTMLTable

    • Oscar
    • 18. September 2012 um 12:55

    Ich brauchte gerade eine Funktion, die aus einem ListView eine HTML-Tabelle erstellt, also habe ich mir eine Funktion geschrieben.
    Vielleicht kann ja noch jemand sowas gebrauchen (Beispiel ist dabei):

    Spoiler anzeigen
    [autoit]


    ; Beispiel für die Funktion "_ListView2HTMLTable"

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

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>

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

    Global $sTestFilename = @TempDir & '\ListView2HTML.html', $sHTML, $hFile
    $hGui = GUICreate('ListView2HTML', 600, 300)
    $idListView2HTML = GUICtrlCreateButton('ListView2HTML', 10, 10, 140, 25)
    $idListView = GUICtrlCreateListView('Montag|Dienstag|Mittwoch|Donnerstag|Freitag|Samstag|Sonntag', 10, 50, 580, 240)
    $hListView = GUICtrlGetHandle($idListView)
    For $i = 0 To 9
    $sItem = ''
    For $j = 0 To 6
    $sItem &= Random(10, 99, 1) & '|'
    Next
    GUICtrlCreateListViewItem(StringTrimRight($sItem, 1), $idListView)
    Next
    _GUICtrlListView_JustifyColumn($hListView, 3, 2) ; Spalten 3 und 4 zentriert
    _GUICtrlListView_JustifyColumn($hListView, 4, 2)
    _GUICtrlListView_JustifyColumn($hListView, 5, 1) ; Spalten 5 und 6 rechtsbündig
    _GUICtrlListView_JustifyColumn($hListView, 6, 1)
    GUISetState()
    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $idListView2HTML
    GUICtrlSetState($idListView2HTML, $GUI_DISABLE)
    $sHTML = _ListView2HTMLTable($hListView, 'Test')
    If Not @error Then
    $hFile = FileOpen($sTestFilename, 2)
    If $hFile <> -1 Then
    FileWrite($hFile, $sHTML)
    FileClose($hFile)
    ShellExecute($sTestFilename)
    Sleep(5000)
    FileDelete($sTestFilename)
    EndIf
    EndIf
    GUICtrlSetState($idListView2HTML, $GUI_ENABLE)
    EndSwitch
    WEnd

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _ListView2HTMLTable
    ; Description ...: Gibt ein ListView als HTML-Tabelle zurück.
    ; Syntax.........: _ListView2HTMLTable($hListView, $sTitle = 'ListView2HTMLTable')
    ; Parameters ....: $hListView - das Handle des ListViews
    ; $sTitle - Title für die HTML-Seite
    ; Return values .: Success = die HTML-Seite als String
    ; Failure
    ; 1 = Handle für das ListView ist fehlerhaft
    ; 2 = das ListView besitzt keine Einträge
    ; Author ........: Oscar (http://www.autoit.de)
    ; ===============================================================================================================================
    Func _ListView2HTMLTable($hListView, $sTitle = 'ListView2HTMLTable')
    Local $sFontFamily = 'Verdana', $sFontSize = '10pt' ; Schriftart und -größe für die Tabelle
    Local $sBorder = '4' ; Randstärke
    Local $sCellspacing = '2' ; Zellenabstand
    Local $sCellpadding = '8' ; Zelleninnenabstand
    Local $sHeaderBGColor = '#1750A7', $sHeaderColor = '#FFFFFF' ; Hintergrund- und Textfarbe für die Kopfzeile der Tabelle
    Local $sBGColor1 = '#FFFFE0', $sBGColor2 = '#E8FFE8' ; Hintergrundfarben für gerade/ungerade Zeilen der Tabelle
    If Not IsHWnd($hListView) Then Return SetError(1, 0, 0)
    Local $iItemCount = _GUICtrlListView_GetItemCount($hListView)
    If $iItemCount < 1 Then Return SetError(2, 0, 0)
    Local $iColumnCount = _GUICtrlListView_GetColumnCount($hListView)
    Local $aColumns, $aItem, $aAlign[3] = ['left', 'right', 'center']
    Local $sHTML = StringFormat('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\n<html>\n\t<head>\n\t\t<title>%s</title>\n\t</head>\n\t<body>\n', $sTitle)
    $sHTML &= StringFormat('\t\t<table style="font-family:%s; font-size:%s; border-color:#1750A7; border-style:ridge" border="%s" cellspacing="%s" cellpadding="%s">\n', $sFontFamily, $sFontSize, $sBorder, $sCellspacing, $sCellpadding)
    $sHTML &= StringFormat('\t\t\t<tr style="background-color: %s; color: %s">\n', $sHeaderBGColor, $sHeaderColor)
    For $i = 0 To $iColumnCount - 1
    $aColumns = _GUICtrlListView_GetColumn($hListView, $i)
    $sHTML &= StringFormat('\t\t\t\t<th width="%s" align="center">%s</th>\n', $aColumns[4], $aColumns[5])
    Next
    $sHTML &= StringFormat('\t\t\t</tr>\n')
    For $i = 0 To $iItemCount - 1
    If Mod($i, 2) Then
    $sHTML &= StringFormat('\t\t\t<tr style="background-color: %s">\n', $sBGColor1)
    Else
    $sHTML &= StringFormat('\t\t\t<tr style="background-color: %s">\n', $sBGColor2)
    EndIf
    $aItem = _GUICtrlListView_GetItemTextArray($hListView, $i)
    For $j = 0 To $iColumnCount - 1
    $aColumns = _GUICtrlListView_GetColumn($hListView, $j)
    $sHTML &= StringFormat('\t\t\t\t<td align="%s">%s</td>\n', $aAlign[$aColumns[0]], $aItem[$j + 1])
    Next
    $sHTML &= StringFormat('\t\t\t</tr>\n')
    Next
    $sHTML &= StringFormat('\t\t</table>\n\t</body>\n</html>\n')
    Return SetError(0, 0, $sHTML)
    EndFunc

    [/autoit]
  • IP-Adressen und Rechnername

    • Oscar
    • 13. September 2012 um 15:53

    Sowas gab's schon. Progandy hat ein schönes Beispiel erstellt: https://autoit.de/index.php?page…51440#post51440

  • GUICtrlGetState gibt 0 zurück

    • Oscar
    • 7. September 2012 um 04:35

    Stimmt! Das scheint ein Bug zu sein.

  • GUICtrlGetState gibt 0 zurück

    • Oscar
    • 6. September 2012 um 21:18

    Bei mir wird das korrekt zurückgegeben:

    [autoit]


    #include <GUIConstantsEx.au3>
    $hGui = GUICreate('Test', 600, 400)
    $idButton = GUICtrlCreateButton('test', 10, 10, 100, 20)
    GUISetState()
    MsgBox(0, 'Test', BitAND(GUICtrlGetState($idButton), $GUI_ENABLE) = $GUI_ENABLE)

    [/autoit]
  • speicherverbrauch nimmt immer weiter zu

    • Oscar
    • 3. September 2012 um 18:55

    AspirinJunkie hat Dir doch schon gezeigt, woran (fehlendes FileClose) der steigende Speicherverbrauch liegt.
    Du musst in der Funktion "_GetDriveInkOnDesktop()" nach dem WEnd ein

    [autoit]

    FileClose($h_search)

    [/autoit]


    einfügen, sonst wird das Handle nicht geschlossen.

  • Autoit Ocarina?

    • Oscar
    • 1. September 2012 um 14:39

    [verschoben nach H&U]

  • Egal, ob $wert True oder False ist, es wird als True behandelt! :o

    • Oscar
    • 29. August 2012 um 05:12

    Das Problem ist die automatische Typverwaltung von Variablen bei AutoIt. Wenn der Variablen nicht direkt True/False zugewiesen wird (sondern Null/Eins), dann wird das als String interpretiert, was bei einer If-Abfrage immer zu True führt.
    Umgehen kann man das mit Execute oder Number. Siehe hier:

    [autoit]


    $var = '0'
    $var = Execute($var)
    If $var Then
    ConsoleWrite('Execute = $GUI_CHECKED' & @CR)
    Else
    ConsoleWrite('Execute = $GUI_UNCHECKED' & @CR)
    EndIf

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

    $var = '0'
    $var = Number($var)
    If $var Then
    ConsoleWrite('Number = $GUI_CHECKED' & @CR)
    Else
    ConsoleWrite('Number = $GUI_UNCHECKED' & @CR)
    EndIf

    [/autoit]
  • Warum fünktioniert MathEx3DS_SphereRadiusAndAngle() nicht?

    • Oscar
    • 15. August 2012 um 07:34

    [verschoben nach Hilfe & Unterstützung]

  • Abspeichern eines Arrays (Datenbank)

    • Oscar
    • 14. August 2012 um 16:21

    Ich würde mir einfach ein eigenes Txt-Format ausdenken. Spalten des Arrays mit einem Trenner zusammenfügen und zeilenweise in eine Datei schreiben.
    Das ist auch sehr schnell. Habe das schon mit diversen Listview-Datenbanken so gemacht.

  • Fehler abfangen

    • Oscar
    • 13. August 2012 um 16:41

    Ilse, bitte vermeide Doppelposts! Wenn Du noch etwas hinzufügen willst, bearbeite Deinen Beitrag!

    Natürlich verursacht das Skript einen Fehler. Das Array $a_FontData ist ja gar nicht definiert.
    Das ist als Beispielskript völlig ungeeignet. Bitte poste das komplette Skript!

  • Fehler bei IE.au3 abfangen

    • Oscar
    • 13. August 2012 um 04:41

    Das darf auch nicht in der Funktion stehen. Du musst ggf. im Hauptprogramm auf @error prüfen und dann _IEQuit ausführen.

  • Fehler bei IE.au3 abfangen

    • Oscar
    • 10. August 2012 um 04:35

    Wieso soll das nicht funktionieren?
    Klappt bei mir einwandfrei:

    Spoiler anzeigen
    [autoit]


    #include <IE.au3>
    _IEErrorHandlerRegister("MyErrFunc")
    _IELoadWaitTimeout(100)
    $oIE = _IECreate('http://192.168.4.8/4534', 0,1)
    sleep(5000)
    _IEQuit($oIE)
    MsgBox(0, '', 'Beenden')

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

    Func MyErrFunc()
    ; Important: the error object variable MUST be named $oIEErrorHandler
    Local $ErrorScriptline = $oIEErrorHandler.scriptline
    Local $ErrorNumber = $oIEErrorHandler.number
    Local $ErrorNumberHex = Hex($oIEErrorHandler.number, 8)
    Local $ErrorDescription = StringStripWS($oIEErrorHandler.description, 2)
    Local $ErrorWinDescription = StringStripWS($oIEErrorHandler.WinDescription, 2)
    Local $ErrorSource = $oIEErrorHandler.Source
    Local $ErrorHelpFile = $oIEErrorHandler.HelpFile
    Local $ErrorHelpContext = $oIEErrorHandler.HelpContext
    Local $ErrorLastDllError = $oIEErrorHandler.LastDllError
    Local $ErrorOutput = ""
    $ErrorOutput &= "--> COM Error Encountered in " & @ScriptName & @CR
    $ErrorOutput &= "----> $ErrorScriptline = " & $ErrorScriptline & @CR
    $ErrorOutput &= "----> $ErrorNumberHex = " & $ErrorNumberHex & @CR
    $ErrorOutput &= "----> $ErrorNumber = " & $ErrorNumber & @CR
    $ErrorOutput &= "----> $ErrorWinDescription = " & $ErrorWinDescription & @CR
    $ErrorOutput &= "----> $ErrorDescription = " & $ErrorDescription & @CR
    $ErrorOutput &= "----> $ErrorSource = " & $ErrorSource & @CR
    $ErrorOutput &= "----> $ErrorHelpFile = " & $ErrorHelpFile & @CR
    $ErrorOutput &= "----> $ErrorHelpContext = " & $ErrorHelpContext & @CR
    $ErrorOutput &= "----> $ErrorLastDllError = " & $ErrorLastDllError
    MsgBox(0, "COM Error", $ErrorOutput)
    SetError(1)
    Return
    EndFunc ;==>MyErrFunc

    [/autoit]
  • Fehler bei IE.au3 abfangen

    • Oscar
    • 9. August 2012 um 20:55

    Dafür gibt es _IEErrorHandlerRegister():

    Spoiler anzeigen
    [autoit]


    #include <IE.au3>
    _IEErrorHandlerRegister("MyErrFunc")
    _IELoadWaitTimeout(100)
    $oIE = _IECreate('http://192.168.4.8/4534', 0,1)
    sleep(10000)

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

    Func MyErrFunc()
    ; Important: the error object variable MUST be named $oIEErrorHandler
    Local $ErrorScriptline = $oIEErrorHandler.scriptline
    Local $ErrorNumber = $oIEErrorHandler.number
    Local $ErrorNumberHex = Hex($oIEErrorHandler.number, 8)
    Local $ErrorDescription = StringStripWS($oIEErrorHandler.description, 2)
    Local $ErrorWinDescription = StringStripWS($oIEErrorHandler.WinDescription, 2)
    Local $ErrorSource = $oIEErrorHandler.Source
    Local $ErrorHelpFile = $oIEErrorHandler.HelpFile
    Local $ErrorHelpContext = $oIEErrorHandler.HelpContext
    Local $ErrorLastDllError = $oIEErrorHandler.LastDllError
    Local $ErrorOutput = ""
    $ErrorOutput &= "--> COM Error Encountered in " & @ScriptName & @CR
    $ErrorOutput &= "----> $ErrorScriptline = " & $ErrorScriptline & @CR
    $ErrorOutput &= "----> $ErrorNumberHex = " & $ErrorNumberHex & @CR
    $ErrorOutput &= "----> $ErrorNumber = " & $ErrorNumber & @CR
    $ErrorOutput &= "----> $ErrorWinDescription = " & $ErrorWinDescription & @CR
    $ErrorOutput &= "----> $ErrorDescription = " & $ErrorDescription & @CR
    $ErrorOutput &= "----> $ErrorSource = " & $ErrorSource & @CR
    $ErrorOutput &= "----> $ErrorHelpFile = " & $ErrorHelpFile & @CR
    $ErrorOutput &= "----> $ErrorHelpContext = " & $ErrorHelpContext & @CR
    $ErrorOutput &= "----> $ErrorLastDllError = " & $ErrorLastDllError
    MsgBox(0, "COM Error", $ErrorOutput)
    SetError(1)
    Return
    EndFunc ;==>MyErrFunc

    [/autoit]
  • Texteingabe inkl. Enter

    • Oscar
    • 7. August 2012 um 21:32

    Dann mal mehr Informationen:
    - Welches Programm willst Du fernsteuern?
    - An welcher Stelle hängt Dein Skript?
    - Dein bisheriges Skript?

  • Texteingabe inkl. Enter

    • Oscar
    • 7. August 2012 um 15:22

    Vielleicht mit ControlFocus erst das Eingabefeld auswählen, dann "Enter" senden?! :S

  • Spalte lesen und schreiben

    • Oscar
    • 7. August 2012 um 14:27

    Oder so:

    Spoiler anzeigen
    [autoit]


    Global $aNewText[5] = [4, "Neuer Text 1", "Neuer Text 2", "Neuer Text 3", "Neuer Text 4"], $aRow[5]

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

    $hFile = FileOpen(@ScriptDir & "\ilse.txt", 0) ; Datei zum lesen öffnen
    If $hFile = -1 Then Exit MsgBox(0, "Fehler", "Konnte Datei nicht zum lesen öffnen.")
    $aRow[0] = FileReadLine($hFile)
    For $i = 1 To 4
    $aRow[$i] = FileReadLine($hFile)
    $aRow[$i] = StringRegExpReplace($aRow[$i], ".+?(\|.+)", $aNewText[$i] & "$1", 1)
    Next
    FileClose($hFile)

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

    $hFile = FileOpen(@ScriptDir & "\ilse.txt", 2) ; Datei zum schreiben öffnen
    If $hFile = -1 Then Exit MsgBox(0, "Fehler", "Konnte Datei nicht zum schreiben öffnen.")
    FileWriteLine($hFile, $aRow[0])
    For $i = 1 To 4
    FileWriteLine($hFile, $aRow[$i])
    Next
    FileClose($hFile)

    [/autoit]

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™