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

Beiträge von peethebee

  • Dringend: Rechtsberatung Urheberrecht gesucht ...

    • peethebee
    • 26. März 2011 um 10:02

    Der Link ist bei mir 404…

  • SciTE: Scriptneustart-Funktion

    • peethebee
    • 26. März 2011 um 09:57

    Cool vermutlich schon, nur funktioniert es halt überhaupt nicht, weil ich nicht weiß, wo ich SciTE anweisen kann, das Tool anzubieten während ein Skript läuft :(.

    Weiß ja jemand was?

    Johannes

  • [UDF] OpenDocumentFormat, ODT, OpenOffice, LibreOffice

    • peethebee
    • 25. März 2011 um 19:57

    http://docs.oasis-open.org/office/v1.1/OS…cument-v1.1.pdf
    Hier gibt es Material, Achtung der Download ist extrem langsam und die Datei groß…

    Johannes

  • [UDF] OpenDocumentFormat, ODT, OpenOffice, LibreOffice

    • peethebee
    • 25. März 2011 um 19:39

    Yiha! Danke für den Test und die Bilder (die ich vergessen hatte zu posten). Zu einer guten UDF gehören immer Screenshots :).

    Johannes

  • Easy Func List

    • peethebee
    • 25. März 2011 um 10:44

    Hast du dich nch um das Navigieren gekümmert? :)
    Das würde es richtig cool machen, allerdings hätte ich aus dem Stand keine Idee, wie man im Scintilla-Control sauber navigieren kann...

    Überrasch mich! :D
    Johannes

  • [UDF] OpenDocumentFormat, ODT, OpenOffice, LibreOffice

    • peethebee
    • 25. März 2011 um 10:42

    Hallo,

    Der Anfang einer UDF für das ODT-Format, das LibreOffice/OpenOffice nutzen. Angenehmerweise ist das Format nicht nur dokumentiert, sondern auch auf den Schultern von Giganten gebaut: XML für die Daten und Styles, beide möglichst sauber getrennt, alle relevanten Daten dann gemeinsam in ein Zip-Archiv gepackt.
    Meine UDF nutzt 7-zip in der Kommandozeilenversion, weil alle Zip-UDFs, die mir untergekommen sind, nicht ordentlich funktioniert haben.

    Funktionen:

    Code
    Func _ODTUnpack($sFile, $sTarget = "default")
    Func _ODTGetContent($sTarget)
    Func _ODTSetContent($sHandle, $sContent)
    Func _ODTGetStyles($_handle)
    Func _ODTSetStyles($_handle, $_styles)
    Func _ODTRepack($sTarget, $sBasefile, $sNewfile = "same")

    Die UDF im Ganzen:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

    AutoIt Version: 3.3.6.1
    Author: Johannes Mitlmeier

    Script Function:
    OpenDocument (LibreOffice/OpenOffice) function library.
    Version 0.1
    #ce ----------------------------------------------------------------------------

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

    #include-once
    #include <File.au3>

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

    ; #FUNCTION# ====================================================================================================
    ; Name...........: _ODTUnpack
    ; Description....: Unpacks a odt file (which is essentially zipped) into the given folder
    ; Syntax.........: _ODTUnpack($sFile, $sTarget)
    ; Parameters.....: $sFile - Full filename of the odt file you want to unpack
    ; $sTarget - [Optional] Name of the directory to unpack to (default: in Tempdir)
    ;
    ; Return values..: Success - returns name of the directory the data have been unpacked to
    ; Failure - returns 0 and sets @error to 1
    ; Author.........: Johannes Mitlmeier
    ; Modified.......: 2011-03-25
    ; Remarks........:
    ; Related........:
    ; Link...........:
    ; Example........:
    ; ===============================================================================================================
    Func _ODTUnpack($sFile, $sTarget = "default")
    If $sTarget == "default" Then $sTarget = @TempDir & "\odt"
    DirRemove($sTarget, 1)
    RunWait('"' & @ScriptDir & '\7za.exe" x "' & $sFile & '" "-o' & $sTarget & '" -y')
    If FileExists($sTarget) Then Return $sTarget
    SetError(1, 0, 0)
    EndFunc ;==>_ODTUnpack

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

    ; #FUNCTION# ====================================================================================================
    ; Name...........: _ODTGetContent
    ; Description....: returns content of the content.xml file inside the given directory
    ; Syntax.........: _ODTGetContent($sTarget)
    ; Parameters.....: $sTarget - name of the directory to search in (return value of _ODTUnpack)
    ;
    ; Return values..: Success - returns content.xml as a string
    ; Failure - returns return value of FileRead
    ; Author.........: Johannes Mitlmeier
    ; Modified.......: 2011-03-25
    ; Remarks........:
    ; Related........:
    ; Link...........:
    ; Example........:
    ; ===============================================================================================================
    Func _ODTGetContent($sTarget)
    Return FileRead($sTarget & "\content.xml")
    EndFunc ;==>_ODTGetContent

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

    ; #FUNCTION# ====================================================================================================
    ; Name...........: _ODTSetContent
    ; Description....: Sets the content of the content.xml file inside the given directory
    ; Syntax.........: _ODTSetContent($sTarget, $sContent)
    ; Parameters.....: $sTarget - name of the directory to search in (return value of _ODTUnpack)
    ; $sContent - new content of the file, previous content will be erased
    ;
    ; Return values..: Success - returns 0
    ; Failure - returns -1 and sets @error as failed FileOpen
    ; Author.........: Johannes Mitlmeier
    ; Modified.......: 2011-03-25
    ; Remarks........:
    ; Related........:
    ; Link...........:
    ; Example........:
    ; ===============================================================================================================
    Func _ODTSetContent($sHandle, $sContent)
    Return _ODTWriteToFile($sHandle, "content.xml", $sContent)
    EndFunc ;==>_ODTSetContent

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

    Func _ODTGetStyles($_handle)
    Return FileRead($_handle & "\styles.xml")
    EndFunc ;==>_ODTGetStyles

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

    Func _ODTSetStyles($_handle, $_styles)
    EndFunc ;==>_ODTSetStyles

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

    ; #FUNCTION# ====================================================================================================
    ; Name...........: _ODTRepack
    ; Description....: Repack the changed files in the ODT folder into a new odt file.
    ; Syntax.........: _ODTRepack($sTarget, $sBasefile, $sNewfile)
    ; Parameters.....: $sTarget - Folder of operation
    ; $sBasefile - original ODT file for keeping compression
    ; $sNewfile - [optional] filename of the new ODT file. Default: $sBasefile
    ;
    ; Return values..: Success - 0
    ; Failure - -1 if something went wrong
    ; Author.........: Johannes Mitlmeier
    ; Modified.......: 2011-03-25
    ; Remarks........:
    ; Related........:
    ; Link...........:
    ; Example........:
    ; ===============================================================================================================
    Func _ODTRepack($sTarget, $sBasefile, $sNewfile = "same")
    If $sNewfile = "same" Then $sNewfile = $sBasefile
    Local $command = '"' & @ScriptDir & '\7za.exe" a "' & $sNewfile & '" "' & $sTarget & '\*" -tzip -mx0 -r -y'
    $command = '"' & @ScriptDir & '\7za.exe" u "' & $sNewfile & '" "' & $sTarget & '\*" "-xr@' & $sTarget & '\mimetype" -tzip -mx0 -r -y'
    If $sNewfile <> $sBasefile Then FileCopy($sBasefile, $sNewfile)
    RunWait($command)
    If FileExists($sNewfile) Then Return 0
    Return -1
    EndFunc ;==>_ODTRepack

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

    ;### internal functions

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

    Func _ODTWriteToFile($sHandle, $sFilename, $sContent)
    Local $hFile = FileOpen($sHandle & "\" & $sFilename, 2 + 128)

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

    ; Check if file opened for writing OK
    If $hFile = -1 Then
    SetError(@error, 0, -1)
    EndIf
    FileWrite($hFile, $sContent)
    FileClose($hFile)

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

    Return 0
    EndFunc ;==>_ODTWriteToFile

    [/autoit]

    Beispielskript:

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: Johannes Mitlmeier

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

    Script Function:
    Demonstrate ODT UDF functions.

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

    #ce ----------------------------------------------------------------------------

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

    #include "odt.au3"

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

    ; Laden
    $odt = _ODTUnpack(@ScriptDir & "\testfile.odt", @ScriptDir & "\testdir")
    $content = _ODTGetContent($odt)

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

    ; Ändern
    $content = StringReplace($content, "mir", @UserName)
    $content = StringReplace($content, '<style:style style:name="T1" style:family="text"><style:text-properties fo:font-weight="bold" ', '<style:style style:name="T1" style:family="text"><style:text-properties fo:font-weight="normal" ')

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

    ; Speichern
    _ODTSetContent($odt, $content)
    _ODTRepack(@ScriptDir & "\testdir", @ScriptDir & "\testfile.odt", @ScriptDir & "\testfile2.odt")

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

    ; Starten
    ShellExecute(@ScriptDir & "\testfile2.odt")

    [/autoit]

    Alle Daten als Paket zum Download im Anhang.

    Möglicherweise ist die XML-UDF nützlich, um die ausgepackten XML-Dateien bequem zu bearbeiten:
    http://code.google.com/p/my-autoit/do…LDomWrapper.au3


    Über Testberichte und Anregungen freue ich mich :).

    Viel Spaß damit,
    Johannes

    Dateien

    ODT-UDF.zip 312,37 kB – 637 Downloads
  • suche Wysiwyg Editor für Emails

    • peethebee
    • 25. März 2011 um 10:25

    TinyMCE in einem IE-Objekt eventuell?

    Johannes

  • SciTE: Scriptneustart-Funktion

    • peethebee
    • 25. März 2011 um 07:44

    Hi,

    Ich wollte eine Funktion schreiben, um ein Skript in SciTE mit einer Tastenkombination neuzustarten, also abzuschießen und dann neu zu starten.

    Code
    # 44 Restart
    command.44.*="$(SciteDefaultHome)\Restart\Restart.exe" "$(FilePath)"
    command.name.44.*=Restart this script
    command.shortcut.44.*=Ctrl+R

    Restart.au3, kompilieren in C:\Program Files (x86)\AutoIt\SciTE\Restart (oder äquivalent):

    Spoiler anzeigen
    [autoit]

    #include <File.au3>

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

    Global $szDrive, $szDir, $szFName, $szExt
    if $cmdline[0] == 0 Then Exit
    _killScript($szFName)
    Run('"..\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "' & $CmdLineRaw & '"')

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

    Func _killScript($name)
    ; kill exe
    Run(@ComSpec & "/c taskkill /t /im " & $szFName & ".exe", "")

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

    ; kill au3 run under autoit3.exe
    ; Generated by AutoIt Scriptomatic

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

    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"

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

    $Output = ""
    $Output = $Output & "Computer: " & $strComputer & @CRLF
    $Output = $Output & "==========================================" & @CRLF
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\ROOT\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Process", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    ConsoleWrite("1")
    If IsObj($colItems) Then
    For $objItem In $colItems
    if ($objItem.Name == "autoi3.exe") and (StringRight($objItem.CommandLine, StringLen($name)) == $name) then
    MsgBox(0, "", $objItem.ProcessId & @CRLF & $objItem.Name & @CRLF & $objItem.CommandLine)
    Run(@ComSpec & "/c taskkill /t /im " & $objItem.ProcessId, "")
    EndIf
    Next
    EndIf
    EndFunc ;==>_killScript

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

    Func WMIDateStringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate, 13, 2))
    EndFunc ;==>WMIDateStringToDate

    [/autoit]

    Der Eintrag in der SciTEUser.properties funktioniert auch. Leider wird er wie die anderen Tools ausgegraut, wenn ein Skript läuft und damit habe ich so nichts davon. Weiß jemand, wie ich das verhindern kann?
    Und dann wäre es wohl noch gut, den gefundenen Prozess direkt neuzustarten anstatt ihn zu schließen und dann wieder zu öffnen. Hat da jemand ein Stückchen Code für mich eventuell?

    Danke!
    Johannes

  • Wechselt/Updatet ihr euren Browser?

    • peethebee
    • 23. März 2011 um 22:38

    BugFix, der glühendste K-Meleon-Verfechter ohne seinen Lieblingsbrowser 8| . Erstaunlich :D.

  • Buch

    • peethebee
    • 23. März 2011 um 22:16

    Hi LiMing1956,

    Das AutoIt-Buch habe ich begonnen, weil es damals kein deutschsprachiges Buch zum Thema gab. Das ist glaube ich bis heute noch so und mein Buch ist aber ja auch noch nicht fertig und es ist unklar, ob es das jemals wird. Es gibt auch sonst reichlich zu tun ;-).
    Wenn du selbst schreiben willst, leg einfach los. Erst mal tut es vielleicht Word, später solltest du meiner Meinung nach dann auf LaTeX umsteigen (googlen dazu).
    Bis man C++ so beherrscht, dass man damit ein Spiel bauen kann, dauert das eine ganz Weile. Auf dem Weg dahin solltest du einige kleinere und graphisch weniger anspruchsvolle Projekte in Angriff nehmen. Um erst einmal Programmieren zu lernen, ist AutoIt eine gute Sache.

    Viel Erfolg,
    Johannes

  • C++ oder Java?

    • peethebee
    • 23. März 2011 um 22:12

    http://openbook.galileocomputing.de/javainsel/
    Und ja, Java ist auch schnell -- wenn man gut programmiert (was aber auch bei C++ das Haupthindernis für schnellen Code ist ;)).

    Johannes

  • C++ oder Java?

    • peethebee
    • 23. März 2011 um 20:58

    Java wäre meine Empfehlung. Es ist einfachER plattformunabhängig als C++ (da sind oft Anpassungen nötig, v.a. bei graphischen Programmen). Außerdem bringt es viel (!) mehr von Haus aus mit an Funktionen. Die Standardbibliothek von Java ist klasse (kleiner Insiderwitz obendrein :D). Es gibt für C++ mindestens genauso viele Bibliotheken für nahezu jeden Zweck, aber die Einbindung und Suche nach der richtigen Bib überfordert anfangs vermutlich.

    Eclipse ist eine wunderbare IDE für Java, für C++ am ehesten noch VisualStudio von Microsoft.

    Zu bedenken ist aber, dass Java inzwischen in der Hand des Teufels ist (Oracle).

    Viel Spaß!
    Johannes

  • AutoBot initalisiert...

    • peethebee
    • 23. März 2011 um 09:17

    Ich lösche dann mal AutoBot, der hatte ja noch nichts Relevantes gepostet.
    Viel Spaß hier Autimus :).

    Johannes

  • Patcher

    • peethebee
    • 22. März 2011 um 09:43

    Wer kontrolliert denn den Server? Du selbst? Vermutlich ja, sonst könntest du ja kaum hashen, vermute ich. Dann würde ich einfach rsync über ssh nutzen, das funktioniert mit Putty vielleicht sogar unter Windows…

    Johannes

  • Wie erstellt man eigene Makros?

    • peethebee
    • 19. März 2011 um 21:22

    *schubs* :D

    Okay, Spaß. Vermutlich hast du Recht, dass man die Makros eher mit Variablen als Konstanten vergleichen sollte, auch wenn sie typischerweise sehr wertstabil sind.
    Ich wollte oben sagen, dass die Tatsache, dass man keine eigenen Makros anlegen kann, deshalb kein Problem ist, weil man sie eben durch Konstanten/Variablen ersetzen kann. Natürlich hat man dann kein @ vorne, sondern ein $ :).

    *weiter unten auffang* :D.

    Johannes

  • Wie erstellt man eigene Makros?

    • peethebee
    • 19. März 2011 um 20:29

    Die Makros sind gleichbedeutend zu Konstanten, von daher ist das kein Problem :).

    Johannes

  • Tricks für Funktionsübersicht in SciTE?

    • peethebee
    • 19. März 2011 um 19:06

    Hi,

    Wie behaltet ihr die Übersicht in größeren Dateien mit vielen Funktionen? Alt+L in SciTE bietet mir eine Liste, die allerdings klein ist und nicht suchbar (getippte Zeichen erscheinen auch im Textfenster).
    Gibt es also etwas Schöneres, Nützlicheres?

    Danke für Input!
    Johannes

  • Bundesligatippspiel

    • peethebee
    • 18. März 2011 um 17:43

    Hi,

    In Erinnerung an die goldenen Zeiten des WM-Tippspiels habe ich für die verbleibenden Bundesligapartien noch mal ein Tippspiel aufgesetzt:
    http://www.kicktipp.de/autoit

    Die Runde beginnt mit dem 28. Spieltag, also erst nächstes Wochenende.

    Freue mich über Gegner! :D

    Viel Spaß allerseits,
    Johannes

  • AutoBot initalisiert...

    • peethebee
    • 15. März 2011 um 22:57

    Wieder was gelernt, danke :D.

    Johannes

  • AutoBot initalisiert...

    • peethebee
    • 15. März 2011 um 21:26

    Ich will doch niemanden verjagen :). War nur ein Angebot, falls die Namenswahl etwas voreilig gewesen sein sollte.

    Johannes

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™