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

  • Nutzungsrechte Skripte

    • BugFix
    • 17. April 2017 um 11:20

    Der Passus selbst war ja nur mal ein Gedanke von mir. Dass der noch genau gescheckt werden sollte ist schon klar.
    Mir ging es eigentlich erst mal darum zu wissen, ob so eine Erklärung in den Forenregeln auch Zustimmung findet. Dann kann man das in der "Leitung" detailliert betrachten.

  • Nutzungsrechte Skripte

    • BugFix
    • 17. April 2017 um 10:09

    Hallo @all,
    in diesem Thread wurde die Frage nach den Rechten an Skripten gestellt.
    Meine Sichtweise dazu (die keine juristische Relevanz hat) habe ich dort beschrieben. Ich halte es für überlegenswert, hier einen Rahmen der Rechtssicherheit zu schaffen, indem in den Forenregeln ein Passus aufgenommen wird, der die von uns für das Forum gewünschte Vorgehensweise darlegt.

    Vorstellen könnte ich mir so etwas:

    Mit Anerkennung der Forenregeln erklärst du dich einverstanden, dass von dir veröffentlichte Skripte ohne Einschränkung von jedermann, unter Angabe des Autors, genutzt werden können. Für den Fall, dass die Nutzung Einschränkungen unterliegen soll (spezielle Lizenz), ist dieses zum Zeitpunkt der Veröffentlichung explizit anzugeben.

    Meiner Meinung nach ist damit dem wohl überwiegenden Grundgedanken einer freien Nutzung entsprochen und trotzdem die Möglichkeit gegeben, bei Bedarf anders zu verfahren.

    Wie steht ihr dazu? Ich füge mal eine Umfrage ein für einen Monat.

  • Wer hat eigentlich die "Rechte" an veröffentlichen Skripten?

    • BugFix
    • 17. April 2017 um 09:52

    @olfibits
    Meine Betrachtung ist natürlich keine juristische Einschätzung. - Aber ich denke, wir sollten vielleicht diesen Optionsgedanken in unsere Forenregeln mit aufnehmen.

  • Wer hat eigentlich die "Rechte" an veröffentlichen Skripten?

    • BugFix
    • 16. April 2017 um 21:19

    Ich sehe das ein wenig, wie das Opt-In / Opt-Out Problem.
    Die Sprache Autoit als solche ist freigegeben für jegliche Art der Nutzung. Diesen Grundgedanken sehe ich somit auch erst mal bei den veröffentlichten UDF. Sollte der Autor etwas gegen eine freie Nutzung haben, sollte er diese Option von vornherein bekannt geben.

  • Kleines Programm zum XML einlesen und Werte ändern

    • BugFix
    • 6. April 2017 um 21:58

    Es ist mehr als unhöflich, seine Posts in einem Forum zu löschen! Habe deshalb wieder alles hergestellt und schließe den Thread hiermit als Schutz vor erneutem Löschversuch (weitere Posts waren ja nicht geplant).

  • Toolbar und Rebar

    • BugFix
    • 6. April 2017 um 21:44

    Ich habe mal mit den ReBar-Funktionen gespielt, war aber wenig begeistert. Wenn ich eine derartige Optik/Funktionalität benötige, bastele ich mir das selber aus Icon zusammen.

  • ExtractAssociatedIcon, ExtractIconExW, ExtractIcon mit Autoit3

    • BugFix
    • 1. April 2017 um 17:58

    Vielleicht kannst du ja auch den IconFileScanner von Holger Kotsch verwenden. Nutze ich immer, um mir die Icon in exe/dll anzusehen.

    Dateien

    IconFileScanner.au3 13,12 kB – 313 Downloads
  • GuiCtrlsetdata Problem

    • BugFix
    • 1. April 2017 um 13:16
    Zitat von NO1 :-)

    bei Date gibts kein HH:mm:ss

    Uhrzeit ist selbstverständlich ein Bestandteil des Date-Ctrl. Ob du es nutzt oder nicht liegt am Style, den du setzt.

  • GuiCtrlsetdata Problem

    • BugFix
    • 1. April 2017 um 13:12

    Du brauchst es doch nur beim Setzen in das Format wandeln. Mach es so:

    AutoIt
    Func _SetDateDEtoDateCtrl($ID, $sDateDE)
    	Switch StringLen($sDateDE)
    		Case 10
    			GUICtrlSetData($iID, StringRegExpReplace($sDateDE, '(\d{2})\.(\d{2})\.(\d{4})', '$3/$2/$1')         ; ohne Uhrzeit
    		Case Else
    			GUICtrlSetData($iID, StringRegExpReplace($sDateDE, '(\d{2})\.(\d{2})\.(\d{4}) (.+)', '$3/$2/$1 $4') ; mit Uhrzeit
    	EndSwitch
    EndFunc
  • GuiCtrlsetdata Problem

    • BugFix
    • 1. April 2017 um 09:12

    Du machst eigentlich nichts falsch - da ist ein Fehler in der Hilfe

    Zitat von Hilfe zu GuiCtrlSetData

    For Date controls:
    The date and time is in the format defined by the regional
    settings. GUICtrlRead() use the same default
    format.

    Erstellst du ein Date Ctrl mit
    $ID = GUICtrlCreateDate(....$DTS_SHORTDATEFORMAT)
    und setzt den Style auf
    GUICtrlSendMsg($ID, $DTM_SETFORMATW, 0, "dd.MM.yyyy HH:mm:ss")
    erhältst du mit GuiCtrlRead($ID) das Datum als "01.04.2017 08:55:21"

    Gemäß der Hilfe zu GuiCtrlSetData müsstest du als genau in der Form auch das Datum setzen können - geht aber nicht.
    Erforderlich ist immer das Format "yyyy/MM/dd HH:mm:ss" - und dann klappt es auch.

  • Tool: Datei(en) - Setzen von Datum Create/Modified

    • BugFix
    • 30. März 2017 um 10:59

    Neu v0.3

  • PDF ´s automatisch umbennen

    • BugFix
    • 28. März 2017 um 16:26

    Wie erstellst du die PDF?
    Falls du den PDFCreator verwendest, kannst du dort etliche Parameter für die Erstellung festlegen, auch Namensabhängigkeiten.


    Edit:
    Mir fällt gerade ein, dass wir vor Jaaaahren dasselbe Thema hatten: https://autoit.de/index.php/Thre…8171#post258171

    Noch was aus dem EN-Forum mit der zlib.dll: https://www.autoitscript.com/forum/topic/160718-code-to-extract-plain-text-from-a-pdf-file/?do=findComment&comment=1166528

  • String in Buchstaben aufteilen und jeden Buchstaben einzeln ersetzen?

    • BugFix
    • 28. März 2017 um 09:04

    Ich würde _StringRegexReplace_Callback (von @Taz77) verwenden - ist auch die schnellste Variante:

    Edit: Gloß-/Kleinschreibung hatte ich nicht beachtet - nun korrigiert.

    AutoIt
    Local $sText = "Das ist ein Test"
    
    
    _StringRegExpReplace_Callback($sText, "([aei])", "_MyCallback('$1')")
    ConsoleWrite("@@ Debug line" & @TAB & @ScriptLineNumber & "   var: $sText --> " & $sText & @LF)
    
    
    
    
    Func _MyCallback($_s)
    	If $_s == "a" Then
    		Return ":regional_indicator_a:"
    	ElseIf $_s == "e" Then
    		Return ":regional_indicator_e:"
    	ElseIf $_s == "i" Then
    		Return ":regional_indicator_i:"
    	Else
    		Return $_s
    	EndIf
    EndFunc
    
    
    
    
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _StringRegExpReplace_Callback
    ; Description ...: Replaces ByRef all matches in a string by manipulation of the matches in a callback function
    ; Parameters ....: $sString    String to manipulate
    ; ...............: $sPattern   RegExp pattern for the match
    ; ...............: $sCallback  Callback function as string, i.e. "MyCallback('$1')" -- '$1' represents the match
    ; .....optional..: $sBefore    String to insert before the manipulated match
    ; .....optional..: $sAfter     String to insert after the manipulated match
    ; Return values .: Success     1
    ; ...............: Failure     0  set error = 1
    ; Author ........: Taz77
    ; ===============================================================================================================================
    Func _StringRegExpReplace_Callback(ByRef $sString, $sPattern, $sCallback, $sBefore = '', $sAfter = '')
    	$sString = Execute("'" & StringRegExpReplace(StringReplace($sString, "'", Chr(26), 0, 2), $sPattern, $sBefore & "'&" & $sCallback & "&'" & $sAfter) & "'")
    	If @error Then
    		ConsoleWrite('_StringRegExpReplace_Callback error! Pattern: "' & $sPattern & '", Callback: "' & $sCallback & '"' & @LF)
    		Return SetError(1,0,0)
    	EndIf
    	$sString = StringReplace($sString, Chr(26), "'", 0, 2)
    	Return 1
    EndFunc  ;==>_StringRegExpReplace_Callback
    Alles anzeigen
  • VBA / VBS Dateien

    • BugFix
    • 27. März 2017 um 14:24

    Nun teste mal, ob du das Objekt mit AutoIt erstellen kannst:
    VBA
    Set oBO_PFSP = Application.createBO("PFSP")
    AutoIt
    $oBO_PFSP = ObjCreate("PFSP")
    prüfen ob Objekt erstellt wurde: MsgBox(0, 'Objekt', 'Objekt erstellt: ' & (IsObj($oBO_PFSP ) ? 'JA' : 'NEIN'))


    P.S.
    Wird wohl fehlschlagen. PSIpenta verwendet eigene Objekte, die Dokumentation dazu ist nicht (mehr?) zugänglich. Wende dich mal an deren Support, die mögen doch ein Manual mit den genutzten Objekten, Methoden und Eigenschaften zur Verfügung stellen und natürlich auch eine Beschreibung des Objektaufrufs.

  • VBA / VBS Dateien

    • BugFix
    • 27. März 2017 um 14:08
    Zitat von Sonderbaar

    Wäre es irgendwie möglich diesen VBA / VBS Code aus Autoit heraus aufzurufen?

    In den meisten Fällen läßt sich VBA-Code direkt mit den verwendeten Objekten nach AutoIt portieren. Bedingung: AutoIt muß auf das Objekt zugreifen können. Schau dir mal ObjCreate ObjGet an. Wenn du nicht voran kommst: Poste den VBA-Code hier.

  • Problem mit 2ter GUI

    • BugFix
    • 27. März 2017 um 11:18
    Zitat von Hingo

    doch wofür ist <> -3 da?

    -3 ist das Event $GUI_EVENT_CLOSE, es hat nur niemand Lust die Konstante hinzuschreiben, weil man sich -3 so leicht merken kann. ;)

  • Probleme mit _Excel_RangeRead --> unterschiedliche Inhalte erfassen

    • BugFix
    • 27. März 2017 um 10:24

    Welchen Inhalt hat $aCelle[3]? Und wieso verwendest du einen festen Index, dann ist doch das Array sinnlos und du kannst von vornherein mit einem Fixwert arbeiten?
    Hast du dir direkt nach _Excel_RangeRead mal den @error ausgeben lassen? Immerhin stehen 8 mögliche Fehlerursachen zur Verfügung.

  • Bilder verschieben per Drag and Drop

    • BugFix
    • 24. März 2017 um 14:13

    Ich würde kein echtes Drag&Drop Verhalten probieren. Ein Bild ziehen (es bleibt also sichtbar, die Bewegung ist live) scheint mir etwas zu aufwändig.
    Ich würde so vorgehen:
    - Deiner Tabellenstruktur, die die Bilder anzeigt, liegt ein 2D-Array zugrunde. (Bild 2 in Zeile 2 = Index[1][1] - dort der kpl. Dateipfad
    - Klick auf ein Bild umrahmt es (das Bild ist markiert, über Klickposition erhältst du den Index)
    - Klick auf den Seitenstreifen - prüft ob in der Tabelle ein Bild markiert ist - JA: Anhand des Index ist Bilddatei bekannt, Bild kann im Seitenstreifen angezeigt werden und Dateipfad wird in Seitenstreifen-Array übernommen. Dann wird das Bild an Tabellenposition und im Tabellen-Array gelöscht
    - Ziehen von Seitenstreifen auf Tabelle: exakt entgegengesetzt

  • Textdatei einlesen und bestimmte Zeilennummer samt Inhalt löschen

    • BugFix
    • 22. März 2017 um 14:58

    Das ist hier in etwa, was @AspirinJunkie vorschlug. Ich habe jedoch nicht zeilenweise in die Ausgangsdatei geschrieben, sondern mit einem Schreibbefehl am Ende:

    AutoIt
    #cs
    Datei "LinesToDelete.cfg" (oder wie auch immer) - jede Zeile eine Zeilennummer, aufsteigend sortiert!!
    
    
    12
    14
    123
    124
    ...
    
    
    #ce
    
    
    Local $sFileLineNumbers = "....\PFAD\LinesToDelete.cfg"   ; Pfade anpassen
    Local $sFileToClean = "....\PFAD\Sollmietenoriginal.txt"
    Local $sFileOutput = "....\PFAD\SollmietenBereinigt.txt"
    Local $sToWrite = ""
    
    
    ; Nummern zu löschender Zeilen einlesen aus Datei in Array
    Local $aLinesToDelete
    _FileReadToArray($sFileLineNumbers, $aLinesToDelete)
    
    
    Local $fH = FileOpen($sFileToClean)  ; Datei zum zeilenweise Lesen öffnen
    Local $sRead                         ; Variable für Zeileninhalt
    Local $iLineCounter = 0              ; Zähler für aktuelle Zeile
    Local $iIndexNextToDel = 1           ; Arrayindex für Ablesen der zu löschenden Zeilennummern
    
    
    While True
    	$iLineCounter += 1
    	$sRead = FileReadLine($fH)
    	If @error Then ExitLoop                                        ; Dateiende erreicht
    	If $iLineCounter <= $aLinesToDelete[$aLinesToDelete[0]] Then   ; Zeilennummer < oder gleich letzter zu löschender Zeilennummer
    		If $iLineCounter = $aLinesToDelete[$iIndexNextToDel] Then  ; Zeilennummer gleich nächste zu löschender Zeilennummer
    			$iIndexNextToDel += 1                                  ; Index des Arrays mit zu löschenden Zeilennummern um 1 erhöhen
    			ContinueLoop                                           ; Zeileninhalt wird nicht benötigt, Schleife fortsetzen mit nächster Zeile
    		EndIf
    	EndIf
    	$sToWrite &= $sRead & @CRLF                                    ; Zeileninhalt wird übernommen
    WEnd
    
    
    FileClose($fH)  ; Dateihandle schliessen
    
    
    ; in Variable übernommene Zeilen, die nicht zu löschen waren, in Ausgabedatei schreiben
    FileWrite($sFileOutput, $sToWrite)
    Alles anzeigen
  • In EXCEL-Zelle Schrift unterschiedliche Textformate erzeugen

    • BugFix
    • 22. März 2017 um 10:28

    OK, greifen wir mal deine Interpretation auf und bieten auch diese Lösung:

    AutoIt
    ; Exel ist offen
    $oExcel = ObjGet('','Excel.Application')
    If Not IsObj($oExcel) Then Exit MsgBox(0, 'Fehler', 'Kein Objekt')
    
    
    $oExcel.Range('A1').Value = "Hallo"
    
    
    ; 3.tes bis letztes Zeichen formatieren
    _Excel_CharactersFormatFont($oExcel, 'A1', 3, -1, "Fett Kursiv Unterstrichen Durchgestrichen", 0x40AE00, "Comic Sans MS", 11)
    
    
    ; oder statt String mit Zelle, Range der Zelle übergeben
    ;~ $oA1 = $oExcel.Range('A1')
    ;~ _Excel_CharactersFormatFont($oExcel, $oA1, 3, -1, "Fett Kursiv Unterstrichen Durchgestrichen", 0x22AEFF, "Comic Sans MS", 11)
    
    
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _Excel_CharactersFormatFont
    ; Description ...: Sets formatting for one or more contiguous characters in a given cell
    ; Syntax ........: _Excel_CharactersFormatFont($_oExcel, $_sCellRC, $_iStart[, $_iLen = 1[, $_sStyle = Default[, $_iColorBGR = Default[,
    ;                  $_sFont = Default[, $_iSize = Default]]]]])
    ; Parameters ....: $_oExcel             - The Excel object
    ;                  $_soCell             - Cell name (e.g. "A1") or cell-range-object
    ;                  $_iStart             - Character position inside the cell (1-based)
    ;                  $_iLen               - [optional] The count of contiguous characters to format. -1=up to the end, Default is "1".
    ;                  $_iColorBGR          - [optional] The character color as BGR. Default is xlAutomatic - "Default" (-1 will also accepted).
    ;                  $_sStyle             - [optional] The style, one or combined with space ("Bold"; "Bold Italic Underline"). Default is none - "Default" (-1 will also accepted).
    ;                  $_sFont              - [optional] The character font name. Default is "Arial" - "Default" (-1 will also accepted).
    ;                  $_iSize              - [optional] The character font size. Default is "10" - "Default" (-1 will also accepted).
    ; Return values .: Success              1
    ; ...............: Failure              0    @error = 1 ($_oExcel is'nt object),  = 2 (formatting range exceeds string length)
    ; Author ........: BugFix
    ; ===============================================================================================================================
    Func _Excel_CharactersFormatFont(ByRef $_oExcel, $_soCell, $_iStart, $_iLen=1, $_sStyle=Default, $_iColorBGR=Default, $_sFont=Default, $_iSize=Default)
    	If Not IsObj($_oExcel) Then Return SetError(1,0,0)
    	Local $oRange = IsObj($_soCell) ? $_soCell : $_oExcel.Range($_soCell)
    	Local $iLen = StringLen($oRange.Value)
    	If $_iStart > $iLen+1 Then Return SetError(2,0,0)
    	If $_iLen = -1 Then $_iLen = $iLen+1 - $_iStart
    	If ($_iStart + $_iLen) > $iLen+1 Then Return SetError(2,0,0)
    	$_sStyle = ($_sStyle = Default Or $_sStyle = -1) ? "" : $_sStyle
    	$_iColorBGR = ($_iColorBGR = Default Or $_iColorBGR = -1) ? "xlAutomatic" : $_iColorBGR
    	$_sFont = ($_sFont = Default Or $_sFont = -1) ? "Arial" : $_sFont
    	$_iSize = ($_iSize = Default Or $_iSize = -1) ? 10 : $_iSize
    
    
    	With $oRange.Characters($_iStart, $_iLen).Font
    		.Bold = (StringInStr($_sStyle, "Bold") Or StringInStr($_sStyle, "Fett") ? True : False)
    		.Italic = (StringInStr($_sStyle, "Italic") Or StringInStr($_sStyle, "Kursiv") ? True : False)
    		.Underline = (StringInStr($_sStyle, "Underline") Or StringInStr($_sStyle, "Unterstrichen") ? True : False)
    		.Strikethrough = (StringInStr($_sStyle, "Strikethrough") Or StringInStr($_sStyle, "Durchgestrichen") ? True : False)
    		If $_iColorBGR = "xlAutomatic" Then
    			.ColorIndex = -4105 ; xlAutomatic
    		Else
    			.Color = $_iColorBGR
    		EndIf
    		.Name = $_sFont
    		.Size = $_iSize
    	EndWith
    
    
    	Return 1
    EndFunc  ;==>_Excel_CharactersFormatFont
    Alles anzeigen

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™