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

  • Array filtern

    • Oscar
    • 26. Mai 2010 um 04:38

    Oder so:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    Dim $aArray[8]

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

    $aArray[0] = 'chef'
    $aArray[1] = 'Nachname, Vorname'
    $aArray[2] = 0098300
    $aArray[3] = 'test'
    $aArray[4] = 'Mueller, Manfred'
    $aArray[5] = '23000'
    $aArray[6] = 'Abteilung Finanz, Personal'
    $aArray[7] = 'Abteilung Produktion, Kontrolle'

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

    For $i = 0 To UBound($aArray) - 1
    If StringRegExpReplace($aArray[$i], '\H+, \H+', '') = '' Then ConsoleWrite($aArray[$i] & @CR)
    Next

    [/autoit]
  • Meine Seite Tempelso**

    • Oscar
    • 25. Mai 2010 um 20:23

    Es ist gut jetzt! Das artet sonst wieder aus.

    [closed]

  • Tastenkombination

    • Oscar
    • 25. Mai 2010 um 19:16

    Das werden wir auch weiterhin tun. Wir wollen mit Botforen nichts zu tun haben.

  • FileTime von InetFile ermitteln

    • Oscar
    • 25. Mai 2010 um 19:09

    Du musst bei den UDFs nachsehen.
    Hier mal das Beispiel aus der Hilfe:

    Spoiler anzeigen
    [autoit]


    #include <FTPEx.au3>
    #include <Array.au3>

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

    $server = 'ftp.csx.cam.ac.uk'
    $username = ''
    $pass = ''

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

    $Open = _FTP_Open('MyFTP Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)

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

    $aFile = _FTP_ListToArrayEx($Conn, 0)
    _ArrayDisplay($aFile)

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

    $Ftpc = _FTP_Close($Open)

    [/autoit]
  • Gui immer direkt unter anderer Gui

    • Oscar
    • 25. Mai 2010 um 15:07

    Hier mal meine "Lösung":

    Spoiler anzeigen
    [autoit]


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

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

    $hGui1 = GUICreate('Gui1', 640, 480, 20, 20)
    $hGui2 = GUICreate('Gui2', 400, 300, 600, 20, $WS_POPUP, $WS_EX_TOOLWINDOW)
    GUISetState(@SW_SHOW, $hGui1)
    GUISetState(@SW_SHOW, $hGui2)
    WinActivate($hGui1)
    GUIRegisterMsg($WM_MOVE, 'WM_Move')
    GUIRegisterMsg($WM_ACTIVATE, 'WM_ACTIVATE')

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

    Do
    Until GUIGetMsg() = -3

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

    Func WM_Move($hWnd, $Msg, $wParam, $lParam)
    Local $pos = WinGetPos($hGui1)
    WinMove($hGui2, '', $pos[0]+600, $pos[1])
    Return $GUI_RUNDEFMSG
    EndFunc

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

    Func WM_ACTIVATE($hWnd, $Msg, $wParam, $lParam)
    If $hWnd = $hGui2 Then WinActivate($hGui1)
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]
  • Gui immer direkt unter anderer Gui

    • Oscar
    • 25. Mai 2010 um 14:38

    Und wo ist das Problem?

  • Array filtern

    • Oscar
    • 25. Mai 2010 um 13:36

    [OT]
    Ich wollte Dich schon willkommen heißen hier im Forum, weil mir Dein Username so unbekannt vorkam, aber dann habe ich Dein Registrierungsdatum gesehen...
    Hast lange nur mitgelesen? Oder warst Du lange nicht online?
    [/OT]

  • OCR Fragen

    • Oscar
    • 25. Mai 2010 um 13:26

    OCR ist nichts, was man mal eben schnell programmiert. Ich denke, AutoIt ist dafür auch nicht die richtige Programmiersprache (zu langsam).

    Nimm lieber ein fertiges Programm.

  • Array filtern

    • Oscar
    • 25. Mai 2010 um 13:22

    Dazu brauchst Du schon StringRegExp:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    Dim $aArray[6]

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

    $aArray[0] = 'chef'
    $aArray[1] = 'Nachname, Vorname'
    $aArray[2] = 0098300
    $aArray[3] = 'test'
    $aArray[4] = 'Mueller, Manfred'
    $aArray[5] = '23000'

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

    For $i = 0 To UBound($aArray) - 1
    If StringRegExp($aArray[$i], '.+,.+') Then ConsoleWrite($i & '=' & $aArray[$i] & @CRLF)
    Next

    [/autoit]
  • [Beispiel] NeMP3-P (MP3-Player) Version 0.8.4.7

    • Oscar
    • 25. Mai 2010 um 13:02

    AutoBert, die Funktion ist nicht von mir. Ich hatte die nur in dem Thread gepostet. Hatte die aus meinem "Archiv".
    Wenn ich mich recht erinnere, war die von Bernd670 oder war sie von ProgAndy!? Sorry, ich weiß es nicht mehr genau. Vielleicht meldet sich der Author mal...

  • Wie sieht euer Desktop aus?

    • Oscar
    • 24. Mai 2010 um 12:26

    Jonathan: Und ich dachte schon, das würde gar keiner fragen... :D

  • Trojanisches Pferd?!

    • Oscar
    • 24. Mai 2010 um 11:26

    Vermutlich ein Fehlalarm!
    Das passiert gelegentlich nach einem Antivirus-Update. Meist ist es mit dem nächsten Update wieder vorbei.
    Es liegt meistens daran, dass UPX als Packer verwendet wird. Am besten schaltest Du das aus, vor dem compilieren.

    Falls das alles nichts hilft, schreib eine EMail an den Antiviren-Hersteller und schick Deine Datei mit.

  • Wie sieht euer Desktop aus?

    • Oscar
    • 24. Mai 2010 um 11:19

    Vorteile:
    - Zwei-Spalten-Ansicht (sehr übersichtlich)
    - De-/Markieren mit der rechten Maustaste
    - Mehrfach-Umbenenn-Tool
    - Verzeichnisse synchronisieren
    - Inhalt vergleichen
    - Checksummen erstellen/vergleichen
    - FTP-Client (verwaltet auch mehrere Profile)
    - Ordnergrößen anzeigen lassen (kompletter Inhalt)
    - Dateiattribute ändern (von allen markierten)
    - Packfunktion integriert (ZIP und RAR-Archive können wie Verzeichnisse geöffnet werden)
    - große Dateien aufspalten/zusammenführen
    - Kopierfunktion im Hintergrund möglich
    - Programmstarter (Programm-Icons in einer Leiste)

    Mehr fällt mir im Moment nicht ein. Aber mit dem Programm bin ich auf jeden Fall zehnmal schneller als mit dem Explorer.
    Der TC liegt bei mir im Autostart und läuft permanent im Hintergrund. Ohne geht gar nicht. ^^

  • Wie sieht euer Desktop aus?

    • Oscar
    • 24. Mai 2010 um 07:37

    Hier ist mein Desktop:

    Spoiler anzeigen

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    Desktop.jpg 151,69 kB – 0 Downloads
  • Chatbox-UDF

    • Oscar
    • 24. Mai 2010 um 06:41

    Mit dieser geänderten Version von _Chatbox_SetData musst Du am Ende ein @crlf mitschicken, damit ein Zeilenumbruch stattfindet (habe <p> und </p> weggelassen).
    Damit ist das generierte HTML-Dokument zwar nicht ganz regelkonform, aber es wird im IE trotzdem richtig angezeigt und für Deinen Zweck reicht es. In der UDF (Post #1) werde ich es aber so lassen wie vorher.

    Spoiler anzeigen
    [autoit]


    ;===============================================================================
    ; Function Name: _Chatbox_SetData($ahChat, $sMsg[, $iColor][, $iSize][, $iImgSize])
    ; Description:: Funktion zum schreiben in die Chatbox
    ; Parameter(s): $ahChat = das Rückgabe-Array von _Chatbox_Create()
    ; $sMsg = die Textzeile, die in die Chatbox geschrieben werden soll
    ; $iColor = Schriftfarbe (Standard = 0x000000, schwarz)
    ; $iSize = Größe der Schrift (Werte von 1 bis 7, Standard = 2)
    ; $iImgSize = Größe der Smilies (Standard = 19 pixel)
    ; Requirement(s): #include <IE.au3>
    ; Return Value(s): bei Erfolg = 1
    ; bei Fehler = 0
    ; und @error = 1 ($ahChat ist kein Array)
    ; 2 ($ahChat besitzt nicht die richtigen Array-Dimensionen)
    ; 3 (Logfile konnte nicht geschrieben werden)
    ; Author(s): Oscar (http://www.autoit.de)
    ;===============================================================================
    Func _Chatbox_SetData(ByRef $ahChat, $sMsg, $iColor = 0x000000, $iSize = 2, $iImgSize = 19, $fAppend = False)
    If Not IsArray($ahChat) Then Return SetError(1, 0, 0)
    If UBound($ahChat) <> 5 Then Return SetError(2, 0, 0)
    Local $hFile, $oBody
    $sMsg = StringRegExpReplace($sMsg, '(?s)<.*?>', '')
    $sMsg = StringRegExpReplace($sMsg, '(?s)(?i)\[hr\]', '<hr>')
    $sMsg = StringRegExpReplace($sMsg, '(?s)(?i)\[(\/*b|\/*i|\/*u)\]', '<$1>')
    $sMsg = StringRegExpReplace($sMsg, '(?s)(?i)\[(color=.+?)\](.*?)\[\/(color)\]', '<font $1>$2</font>')
    $sMsg = StringRegExpReplace($sMsg, '(?s)(?i)\[(size=.+?)\](.*?)\[\/(size)\]', '<font $1>$2</font>')
    $sMsg = '<font color="#' & Hex($iColor, 6) & '" size="' & $iSize & '">' & $sMsg & '</font>'
    $sMsg = StringReplace($sMsg, @CRLF, '<br>')
    $sMsg = _Chatbox_ConvertSmilies($sMsg, $ahChat[4], $iImgSize)
    $sMsg = _Chatbox_ConvertMailto($sMsg)
    $sMsg = _Chatbox_ConvertHyperlink($sMsg)
    $oBody = _IETagNameGetCollection($ahChat[0], 'body', 0)
    _IEDocInsertHTML($oBody, $sMsg)
    $oBody.scrollTop = 0x5FFFFFFF
    If $ahChat[3] <> '' Then
    $ahChat[2] = StringRegExpReplace($ahChat[2], '(?s)(.+<body.+?>.*)(</body>.+</html>)', '$1' & $sMsg & @CRLF & '$2')
    $hFile = FileOpen($ahChat[3], 2)
    If $hFile = -1 Then Return SetError(3, 0, 0)
    FileWrite($hFile, $ahChat[2])
    FileClose($hFile)
    EndIf
    Return 1
    EndFunc ;==>_Chatbox_SetData

    [/autoit]
  • Tempelsoft.de = Klau-Seite?

    • Oscar
    • 23. Mai 2010 um 23:03

    Wenn es nicht seine Bilder sind und er nicht die Erlaubnis der Urheber besitzt, so ist es auch nicht sein Video. Oder mit anderen Worten: geklaut. :thumbdown:

  • Chatbox-UDF

    • Oscar
    • 23. Mai 2010 um 22:43

    Was möchtest Du denn erreichen? Vielleicht kann man das anders lösen...

  • FileTime von InetFile ermitteln

    • Oscar
    • 23. Mai 2010 um 22:08

    Entweder mit _FTP_ListToArrayEx das ganze Verzeichnis einlesen oder mit _FTP_FindFileFirst die entsprechende Datei.
    Das zurückgegebene Array enthält dann die gewünschten Daten.

    Aktuelle AutoIt-Version erforderlich!

  • Chatbox-UDF

    • Oscar
    • 23. Mai 2010 um 21:32

    Das mit der vertikalen Scrollbar ist relativ einfach zu lösen. Einfach die Funktion _Chatbox_Create() gegen diese hier austauschen:

    Spoiler anzeigen
    [autoit]


    ;===============================================================================
    ; Function Name: _Chatbox_Create($hWnd, $iLeft, $iTop, $iWidth, $iHeight[, $iBgColor][, $sLogfile][, $sImgPath][, $sScrollbar])
    ; Description:: erstellt eine Chatbox
    ; Parameter(s): $hWnd = Handle des Fensters, auf dem die Box erstellt werden soll
    ; $iLeft, $iTop = Position der Box
    ; $iWidth, $iHeight = Größe der Box
    ; $iBgColor = Hintergrundfarbe der Box
    ; $sLogfile = Logfile-Dateiname (inkl. Pfad). Ergebnis ist eine HTML-Datei.
    ; $sImgPath = Verzeichnispfad zu den Smiley-PNGs, Standard: @ScriptDir & '\png\'
    ; $sScrollbar = Vertikale Scrollbar anzeigen?
    ; auto = nur wenn benötigt
    ; yes = ja, immer
    ; no = nie anzeigen
    ; Requirement(s): #include <IE.au3>
    ; Return Value(s): bei Erfolg = Array, für den Aufruf der anderen Funktionen
    ; bei Fehler = Rückgabe: Null
    ; und @error = 1 (embedded IE konnte nicht erstellt werden)
    ; 2 (das GUI-Objekt für den IE konnte nicht erstellt werden)
    ; Author(s): Oscar (http://www.autoit.de)
    ;===============================================================================
    Func _Chatbox_Create($hWnd, $iLeft, $iTop, $iWidth, $iHeight, $iBgColor = 0xffffff, $sLogfile = '', $sImgPath = '', $sScrollbar = 'auto')
    Local $ahChat[5], $sTempFile, $oBody
    $ahChat[0] = _IECreateEmbedded()
    If @error Then Return SetError(1, 0, 0)
    GUISwitch($hWnd)
    $ahChat[1] = GUICtrlCreateObj($ahChat[0], $iLeft, $iTop, $iWidth, $iHeight)
    GUICtrlSetResizing(-1, 1)
    If $ahChat[1] = 0 Then Return SetError(2, 0, 0)
    If Not FileExists($sImgPath) Then $sImgPath = @ScriptDir & '\png\'
    If StringRight($sImgPath, 1) <> '\' Then $sImgPath &= '\'
    $ahChat[2] = '<html>' & @CRLF & '<head>' & @CRLF & '<title>Chatbox</title>' & @CRLF & '<style type="text/css">body { background-color:#' & Hex($iBgColor, 6)
    $ahChat[2] &= '; padding:0px; margin:4px; } p { margin:4px; }</style>' & @CRLF & '</head>' & @CRLF
    $ahChat[2] &= '<body scroll="' & $sScrollbar & '">' & @CRLF & '</body>' & @CRLF & '</html>'
    $sTempFile = @TempDir & '\ChatboxTemp.html'
    $hFile = FileOpen($sTempFile, 2)
    FileWrite($hFile, $ahChat[2])
    FileClose($hFile)
    _IENavigate($ahChat[0], $sTempFile)
    $ahChat[3] = ''
    If $sLogfile <> '' Then
    If FileCopy($sTempFile, $sLogfile, 9) Then $ahChat[3] = $sLogfile
    EndIf
    FileDelete($sTempFile)
    $ahChat[4] = $sImgPath
    Return $ahChat
    EndFunc ;==>_Chatbox_Create

    [/autoit]

    Das mit dem Text anhängen hatte ich auch schon fertig (dachte ich), bis ich feststellen musste, das _IEDocInsertHTML() immer einen Zeilenumbruch hinzufügt, obwohl da keiner im HTML ist.
    Im Logfile wird es (mit der neuen Funktion) richtig geschrieben, aber im Embedded IE wird es mit Zeilenumbruch dargestellt. :huh:
    Alternative wäre, dass ich das HTML-Dokument auf Platte schreibe und _IENavigate benutze, aber dann flackert das, weil die Seite neu geladen wird (schon ausprobiert). :S

  • Tempelsoft.de = Klau-Seite?

    • Oscar
    • 23. Mai 2010 um 19:29

    @shayn: Deinen Namen und Deine Adresse bekommt jeder ganz leicht raus, indem er bei: denic.de eine WhoIs-Abfrage auf Deine Seite (tempelsoft.de) macht.

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™