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

  • In EXCEL-Zelle Schrift unterschiedliche Textformate erzeugen

    • BugFix
    • 22. März 2017 um 10:11
    Zitat von alpines

    Sicher, dass er nicht in einer Zelle einige Zeichen fett und einige nicht möchte?

    Er sprach vom gesamten Inhalt der Zelle, nicht von einzelnen Zeichen. - Man kann auch mehr hineininterpretieren, wenn man will... :P

  • In EXCEL-Zelle Schrift unterschiedliche Textformate erzeugen

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

    Hier für ein geöffnetes Excel, Zelle 'A1':

    AutoIt
    $oExcel = ObjGet('','Excel.Application')
    If Not IsObj($oExcel) Then Exit MsgBox(0, 'Fehler', 'Excel nicht geöffnet')
    
    
    With $oExcel.Range('A1')
        .Font.Bold = True
        .Font.Italic = True
        .Font.Color = 0xFF0000 ; als BGR
    EndWith
  • Ideen für dynamisches Nippelboard

    • BugFix
    • 21. März 2017 um 10:50

    Vor vielen Jahren hab ich auch mal ein Skript erstellt um Listview-Item (und SubItem) per Doppelklick on-the-fly zu bearbeiten. Vielleicht kannst du es brauchen: https://autoit.de/index.php/Thre…49074#post49074

  • Registry Key Flag setzen um Script zu steuern?

    • BugFix
    • 20. März 2017 um 20:33
    Zitat von olfibits

    Aber was ist, wenn so ein sinnfreier Schwachsinn wie TuneUp&Co. auf dem Rechner des Endbenutzers ist, der alle naselang mal die Temp files löscht?

    Nun, "C:\Users\USER\AppData\Local" ist aber kein Temp-Ordner. Unter AppData kann man beruhigt Dinge ablegen, die der User nicht versehentlich einfach mal wegsemmeln soll. Mit Standardeinstellungen ist dieser Ordnerzweig für den User nicht sichtbar (er wird auch nicht in die Windows-Suche einbezogen).

  • Registry Key Flag setzen um Script zu steuern?

    • BugFix
    • 20. März 2017 um 19:22
    Zitat von olfibits

    Ich meinte, dass die Registry sicherer ist als eine INI. Wo soll man die dann sinnvoll speichern?

    Dafür gibt es das: C:\Users\USER\AppData\Local ^^

  • Winkel zwischen zwei Punkten

    • BugFix
    • 20. März 2017 um 13:48
    Zitat von zocker5656

    jedoch wenn man diese Koordinaten hier errechnen will bekommt man ein falsches Ergebnis raus

    Da kann niemals ein "richtiges" Ergebnis rauskommen, ist einer der Sonderfälle. Die Berechnung von atan beinhaltet eine Division durch 0.

  • Befehl "hidden" ausführen

    • BugFix
    • 20. März 2017 um 11:05

    Verwende Run - da bekommst du die PID und kannst damit das zugehörige Fenster ermitteln. Hast du das Fensterhandle, kannst du es ganz normal ausblenden.

  • Frage SNMP

    • BugFix
    • 20. März 2017 um 10:45

    Wende dich am Besten an den Autor der UDF im engl. Forum. Wenn beim händischen Eintragen ein falscher Wert kommt, scheint das Verarbeitungsproblem innerhalb der UDF zu liegen.

    Passiert das auch, wenn du mal den PC neu startest und dann mit Wert 2 die Funktion aufrufst? - Wenn es dann klappt, wäre es ein Hinweis, dass intern die Variable mit der OID nicht änderbar ist, wenn sie einmal gesetzt ist (wäre ganz schön sinnfrei).

  • Wenn ordner nicht vorhanden, zum nächstern springen

    • BugFix
    • 20. März 2017 um 10:35
    Zitat von DerSchatten

    Eventuell die komplette Verzeichnisstruktur ein mal einlesen und dann die vorhandenen Ordnerzahlen durchgehen?

    Genau, mach das. Und beim Bewegen zwischen den Ordnern nutzt du dann den Array-Index des Arrays mit allen Pfaden. Vereinfacht auch die Fehlerabfragen: kein If FileExists notwendig, Anfang und Ende sagen dir Index=0 (oder 1, je nachdem, ob du die Pfadanzahl an [0] führst oder nicht) und Ubound.

  • Frage SNMP

    • BugFix
    • 20. März 2017 um 10:02

    1. Klappt es, wenn du die Befehlsaufrufe einzeln schreibst und nicht in einer Schleife?
    2. Setze doch mal ein ConsoleWrite('$snmpOID = ' & $snmpOID & @CRLF) in die UDF, direkt unter den Funktionskopf von _SNMPBuildPacket um zu prüfen, ob der korrekte Wert in der Funktion landet. Wenn dem so ist (wovon ich eigentlich ausgehe), mußt du der internen Funktionsverarbeitung folgen um zu sehen, wo der Fehler auftritt.

  • AutoIt Nachschlagewerk

    • BugFix
    • 20. März 2017 um 09:55
    Zitat von Hingo

    Ich habe die Beispiele von der AutoIt.de online Hilfe genommen.

    Irgendwie fühle ich mich veräppelt.
    Wie schon gesagt, habe ich keine Einwände, wenn Beiträge/Tutorials von mir auch von anderen publiziert werden. Aber ein Verweis auf den Autor ist ein absolutes Muss.
    Und wie im Folgenden zu sehen, hast du sowohl Beschreibung als auch Bsp. 1:1 aus meinem Tutorial entnommen. Wenn du die Bilder siehst kannst du dich eventuell auch wieder daran erinnern.

    identisch_2.png

  • Frage SNMP

    • BugFix
    • 20. März 2017 um 08:58
    Zitat von Sonderbaar

    offenbar kann kann die SNMP-UDF insbesondere _SNMPBuildPacket offenbar (laut Kommentaren in der UDF) an der ersten Stelle (OID) kein Array nutzen... mache ich genau dieses wie vin BugFix vorgeschlagen, erhalten ich auch tatsächlich immer die selbe Ausgabe, obwohl eine andere OID übergeben wird.

    Kann ich nicht nachvollziehen, den Gedanken.
    In deinem Skript führst du die OID in einem Array, aber an den Aufruf der Funktion _SNMPBuildPacket übergibst du doch kein Array, sondern nur den Inhalt des jeweiligen Array-Elements, einen String.
    Der Kommentar in der UDF verweist nur darauf, dass keine Unterstützung (mehr) für ein Array als Parameter für OID besteht.

  • AutoIt Nachschlagewerk

    • BugFix
    • 20. März 2017 um 08:50
    Zitat von Hingo

    ich habe keine Beispiele von water genommen.

    Nein (hat auch nie wer behauptet) - aber von mir.

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

    • BugFix
    • 17. März 2017 um 19:11

    Kleine Ergänzung: Alle Attribute per Klick abrufbar.

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

    • BugFix
    • 17. März 2017 um 13:38

    Ich muß relativ häufig an Dateien das Erstelldatum ändern, weil dieses bei Speichervorgängen zwischen verschiedenen OS manchmal verändert wird (Datum auf NAS ist z.B. nach Spannungsausfall auf Werkseinstellung - Wird ein Dokument direkt dort abgelegt, bekommt es das falsche Datum).
    Bei Dokumenten, die einer Revision unterliegen kommt es natürlich seltsam, wenn in der Fußzeile steht "Rev. 6 vom 05.03.2017" und das Erstelldatum sagt "01.01.2010" :whistling:
    Bisher habe ich dann schnell die Codezeile für FileSetTime händisch befüllt und die Daten korrigiert.
    Nun habe ich das mal in eine kleine Oberfläche gepackt.
    - Ordner wird ausgewählt (Dateien darin werden in ein Listview geladen mit Anzeige DateCreate, DateModified)
    - Dateien mit den Attributen: Hidden, ReadOnly, System werden gleich rot eingefärbt - bei R und S ist das Ändern des Datums sowieso nicht möglich und versteckte Dateien sind sicher nicht umsonst versteckt. Falls diese Dateien doch markiert sind, werden sie vom Tool ignoriert.
    - In den Datumsfeldern werden die gewünschten Datumswerte(+ Uhrzeit) gewählt und mit "Datum Setzen" für alle markierten Dateien (selektive Mehrfachauswahl ist möglich) angewendet. Anschliessend wird das Listview neu geladen - die Änderungen sind also sofort sichtbar.

    EDIT: [v0.2] Da ich die Attribute sowieso auslese, speichere ich sie zwischen und mit Klick auf eine Datei werden deren Attribute als Tooltip gezeigt.

    EDIT: [v0.3]
    - NEU: (optional) automatische Übernahme Erstellungsdatum auch als Änderungsdatum
    - NEU: Datum aus markierter Datei in Datums-Control übernehmen
    - FIXED: Bisher keine Fehlermeldung bei versuchter Änderung einer offenen Datei. Jetzt [FILE-IN-USE] Meldung.

    AutoIt
    ;-- TIME_STAMP   2017-03-30 10:51:41   v 0.3
    ;-- charset=UTF-8
    
    
    #include <DateTimeConstants.au3>
    #include <EditConstants.au3>
    #include <File.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <WindowsConstants.au3>
    
    
    Global $hListView, $iIndexClicked = -1, $aAttrib, $fSameDate = False
    
    
    _Main()
    
    
    Func _Main()
    	Local $hGui = GUICreate('Erstellungs- /Änderungsdatum setzen', 600, 480)
    	GUICtrlCreateLabel('Verzeichnis', 15, 18, 60)
    	Local $idPath = GUICtrlCreateInput('', 80, 15, 478, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
    	GUICtrlSetBkColor(-1, 0xFFFFFF)
    	Local $idSelect = GUICtrlCreateButton('...', 563, 14, 22, 22)
    	GUICtrlCreateLabel('Erstellt', 15, 48, 40)
    	Local $idDateCreate = GUICtrlCreateDate(StringFormat('%s/%s/%s %s:%s:%s', @Year, @Mon, @MDay, @Hour, @Min, @Sec), 55, 45, 140, 22, $DTS_SHORTDATEFORMAT)
    	GUICtrlCreateLabel('Geändert', 215, 48, 45)
    	Local $idDateChange = GUICtrlCreateDate(StringFormat('%s/%s/%s %s:%s:%s', @Year, @Mon, @MDay, @Hour, @Min, @Sec), 265, 45, 140, 22, $DTS_SHORTDATEFORMAT)
    	Local $sStyle = "dd.MM.yyyy HH:mm:ss"
        GUICtrlSendMsg($idDateCreate, $DTM_SETFORMATW, 0, $sStyle)
        GUICtrlSendMsg($idDateChange, $DTM_SETFORMATW, 0, $sStyle)
    	Local $idSet = GUICtrlCreateButton('Datum Setzen', 435, 75, 150, 22)
    	Local $idCurrentDate = GUICtrlCreateButton('Dateidatum übernehmen', 15, 75, 180, 22)
    	Local $idSameDate = GUICtrlCreateCheckbox(' Datum Änderung == Erstelldatum', 215, 75)
    	Local $idListview = GuiCtrlCreateListView('Datei|Erstellt|Geändert', 15, 105, 570, 360, _
    		BitXOR(BitOR($GUI_SS_DEFAULT_LISTVIEW,$LVS_SHOWSELALWAYS),$LVS_SINGLESEL), _
    		BitOR($LVS_EX_GRIDLINES,$LVS_EX_FULLROWSELECT,$LVS_EX_DOUBLEBUFFER))
    	_GUICtrlListView_SetColumnWidth($idListview, 0, 340)
    	_GUICtrlListView_SetColumnWidth($idListview, 1, 100)
    	_GUICtrlListView_SetColumnWidth($idListview, 2, $LVSCW_AUTOSIZE_USEHEADER)
    	$hListview = GUICtrlGetHandle($idListview)
    	Local $sSelect, $sDateCreate, $sDateChange, $iIndex
    	Local $sPattern = '(\d{2})\.(\d{2})\.(\d{4}) (\d{2}):(\d{2}):(\d{2})'
    	Local $sRepl = '$3$2$1$4$5$6'
    
    
    	GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ; bei Left-Click auf Item werden Attribute als Tooltip gezeigt
    
    
    	GUISetState()
    	While True
    		Switch GUIGetMsg()
    			Case -3
    				Exit
    			Case $idSelect
    				$sSelect = FileSelectFolder('Bitte einen Ordner auswählen', @HomeDrive & '\' & @HomePath)
    				If $sSelect <> '' Then
    					GUICtrlSetData($idPath, $sSelect)
    					If __FillListview($idListview, $sSelect) = 0 Then MsgBox(16, 'Fehler', 'Der gewählte Ordner enthält keine Dateien!')
    				EndIf
    			Case $idSet
    				$sDateCreate = StringRegExpReplace(GUICtrlRead($idDateCreate), $sPattern, $sRepl)
    				$sDateChange = StringRegExpReplace(GUICtrlRead($idDateChange), $sPattern, $sRepl)
    				; Plausibilität Create<=Change prüfen (nur wenn beide Daten gesetzt werden)
    				If Number($sDateCreate) > Number($sDateChange) And (Not $fSameDate) Then
    					MsgBox(16, 'Fehler', 'Änderungsdatum liegt vor Erstellungsdatum!')
    				Else
    					__SetDate(GUICtrlRead($idPath), $idListview, $sDateCreate, $sDateChange)
    					__FillListview($idListview, GUICtrlRead($idPath))
    				EndIf
    			Case $idCurrentDate
    				Local $aSel = _GUICtrlListView_GetSelectedIndices($idListview, True)
    				If $aSel[0] = 0 Then
    					MsgBox(16, 'Fehler', 'Es wurde keine Datei ausgewählt!')
    				Else
    					_SetDateCtrl($idDateCreate, _GUICtrlListView_GetItemText($idListview, $aSel[1], 1))
    					_SetDateCtrl($idDateChange, _GUICtrlListView_GetItemText($idListview, $aSel[1], 2))
    				EndIf
    			Case $idSameDate
    				If BitAND(GUICtrlRead($idSameDate), $GUI_CHECKED) Then
    					$fSameDate = True
    					GUICtrlSetState($idDateChange, $GUI_DISABLE)
    				Else
    					$fSameDate = False
    					GUICtrlSetState($idDateChange, $GUI_ENABLE)
    				EndIf
    		EndSwitch
    	WEnd
    
    
    EndFunc
    
    
    Func _SetDateCtrl($iID, $sDate)
    	$sDate = StringRegExpReplace($sDate, '(\d{2})\.(\d{2})\.(\d{4}) (.+)', '$3/$2/$1 $4')
    	GUICtrlSetData($iID, $sDate)
    EndFunc
    
    
    
    
    Func __FillListview($idLV, $sPath)
    	Local Static $aColor[2] = [0xE5EEFF,0xBCC3FF], $iColWarning = 0xFF93B4
    	If Not FileExists($sPath) Then Return
    	Local $aFiles = _FileListToArray($sPath, '*', 1)
    	If @error Then Return 0
    	_GUICtrlListView_BeginUpdate($idLV)
    	_GUICtrlListView_DeleteAllItems($idLV)
    	Local $sItem, $sPatt = '(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})', $sAttrib
    	Local $aAttr[$aFiles[0]]
    	For $i = 1 To $aFiles[0]
    		$sItem = StringFormat('%s|%s|%s', $aFiles[$i], _
    		StringRegExpReplace(FileGetTime($sPath & '\' & $aFiles[$i], 1, 1), $sPatt, '$3.$2.$1 $4:$5:$6'), _
    		StringRegExpReplace(FileGetTime($sPath & '\' & $aFiles[$i], 0, 1), $sPatt, '$3.$2.$1 $4:$5:$6'))
    		GUICtrlCreateListViewItem($sItem, $idLV)
    		$sAttrib = FileGetAttrib($sPath & '\' & $aFiles[$i])
    		$aAttr[$i-1] = $sAttrib
    		If StringInStr($sAttrib, 'H') Or StringInStr($sAttrib, 'R') Or StringInStr($sAttrib, 'S') Then
    			GUICtrlSetBkColor(-1, $iColWarning)
    		Else
    			GUICtrlSetBkColor(-1, $aColor[Mod($i,2)])
    		EndIf
    	Next
    	$aAttrib = $aAttr
    	_GUICtrlListView_EndUpdate($idLV)
    	Return $aFiles[0]
    EndFunc
    
    
    
    
    Func __SetDate($sFolder, $idLV, $sCreate, $sChange)
    	If $sFolder = '' Then Return
    	Local $aSel = _GUICtrlListView_GetSelectedIndices($idLV, True)
    	If $aSel[0] = 0 Then Return MsgBox(16, 'Fehler', 'Es wurde keine Datei ausgewählt!')
    	Local $sFile, $sAttrib, $sErr = '', $iOK
    	For $i = 1 To $aSel[0]
    		$sFile = $sFolder & '\' & _GUICtrlListView_GetItemText($idLV, $aSel[$i])
    		$sAttrib = FileGetAttrib($sFile)
    		If StringInStr($sAttrib, 'R') Then
    			$sErr &= '[READONLY] ' & $sFile & @CRLF
    			ContinueLoop
    		ElseIf StringInStr($sAttrib, 'S') Then
    			$sErr &= '[SYSTEM] ' & $sFile & @CRLF
    			ContinueLoop
    		ElseIf StringInStr($sAttrib, 'H') Then
    			$sErr &= '[HIDDEN] ' & $sFile & @CRLF
    			ContinueLoop
    		EndIf
    		$iOK = 0
    		$iOK += FileSetTime($sFile, $sCreate, 1)
    		$iOK += FileSetTime($sFile, ($fSameDate ? $sCreate : $sChange), 0)
    		If $iOK < 2 Then $sErr &= '[FILE-IN-USE] ' & $sFile & @CRLF
    	Next
    	If $sErr <> '' Then Return MsgBox(16, 'Fehler', 'Folgende Dateien wurden nicht bearbeitet:' & @CRLF & $sErr)
    EndFunc
    
    
    
    
    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    	$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    	If HWnd(DllStructGetData($tNMHDR, "hWndFrom")) = $hListView And _
    	   DllStructGetData($tNMHDR, "Code") = $NM_CLICK Then
    	   Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    		$iIndexClicked = DllStructGetData($tInfo, "Index")
    		AdlibRegister('__TipAttrib')
    	EndIf
    	Return $GUI_RUNDEFMSG
    EndFunc
    
    
    
    
    Func __TipAttrib()
    	If $iIndexClicked = -1 Then Return
    	AdlibUnRegister('__TipAttrib')
    	Local $sText = $aAttrib[$iIndexClicked]
    	_ToolTipMouseExit($sText, 1700, -1, -1, 'Attribute', 1, 1)
    	$iIndexClicked = -1
    EndFunc
    
    
    
    
    Func _ToolTipMouseExit($TEXT, $TIME=-1, $x=-1, $y=-1, $TITLE='', $ICON=0, $OPT='')
    	; Standard ToolTip, ergänzt um Schließen nach Zeit oder bei Mausbewegung
    	If $TIME = -1 Then $TIME = 3000
    	Local $start = TimerInit()
    	Local $pos, $pos0 = MouseGetPos()
    	If ($x = -1) Or ($y = -1) Then
    		ToolTip($TEXT, $pos0[0], $pos0[1], $TITLE, $ICON, $OPT)
    	Else
    		ToolTip($TEXT, $x, $y, $TITLE, $ICON, $OPT)
    	EndIf
    	Do
    		Sleep(50)
    		$pos = MouseGetPos()
    	Until (TimerDiff($start) > $TIME) Or _
    		(Abs($pos[0] - $pos0[0]) > 10 Or _
    		 Abs($pos[1] - $pos0[1]) > 10)
    	ToolTip('')
    EndFunc ;==>_ToolTipMouseExit
    Alles anzeigen

    FileSetTimeTool.png

    Dateien

    MultiFileSetTime[0.3].au3 7,6 kB – 326 Downloads
  • GUI | Variable Anzahl an Buttons... Wie Funktion zuweisen?

    • BugFix
    • 16. März 2017 um 07:39

    Wenn du eine dynamische Anzahl an Controls verwendest, ist es durchaus sinnvoll, die GUI auch dynamisch anzupassen. Hier mal ein Bsp. dafür:

    AutoIt
    Global $GUI, $aInput[2] = [1], $btAdd
    
    
    $GUI = GUICreate('Test', 400, 50)
    $aInput[1] = GUICtrlCreateInput('', 10, 10, 300, 21)
    GUICtrlSetResizing(-1, 802) ; $GUI_DOCKALL
    $btAdd = GUICtrlCreateButton('Add Input', 320, 10, 70, 21)
    GUICtrlSetResizing(-1, 802) ; $GUI_DOCKALL
    GUISetState()
    
    
    While 1
    	Switch GUIGetMsg()
    		Case -3
    			Exit
    		Case $btAdd
    			_NewCtrl()
    	EndSwitch
    WEnd
    
    
    Func _NewCtrl()
    	Local $iDiff = 31     ; == Abstand + Höhe ==> 10 + 21
    	Local Static $iY = 10 ; == Startwert vom ersten Ctrl
    	$iY += $iDiff
    	$aInput[0] += 1
    	ReDim $aInput[$aInput[0]+1]
    	Local $aWin = WinGetPos($GUI)
    	WinMove($GUI, '', $aWin[0], $aWin[1], $aWin[2], $aWin[3] + 31)
    	$aInput[$aInput[0]] = GUICtrlCreateInput('', 10, $iY, 300, 21)
    	GUICtrlSetResizing(-1, 802) ; $GUI_DOCKALL
    EndFunc
    Alles anzeigen
  • AutoIt Nachschlagewerk

    • BugFix
    • 15. März 2017 um 16:45

    Grundsätzlich habe ich nichts dagegen, wenn du Passagen aus meinem Array-Tut wortwörtlich verwendest. Aber es gehört zum guten Ton, dies vorab mit dem Ersteller zu klären, ebenso wie das Anbringen entsprechender Quellenangaben.
    Wenn dir sowas mit anderen Veröffentlichungen passiert, kannst du mal schnell Post vom Abmahnanwalt bekommen. Also sei vorsichtig mit C&P.

  • Ideen für dynamisches Nippelboard

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

    Also, ich kann beim besten Willen keinen Bezug zwischen Nippelboard und Jingles herstellen.
    Bei mir entstehen da völlig andere Assoziationen. :whistling:

  • Frage SNMP

    • BugFix
    • 13. März 2017 um 15:53

    Deine Variablen-Entschlüsselung kann nicht funktionieren, aus "$var" & 1 wird nicht die Variable $var1, sondern der String "$var1".
    Das löst man so:

    AutoIt
    ;~ Global $oid1 = "iso.3.6.1.2.1.1.1.0"
    ;~ Global $oid2 = "iso.3.6.1.2.1.1.6.0"
    Global $aOID[2] = ["iso.3.6.1.2.1.1.1.0", "iso.3.6.1.2.1.1.6.0"]
    
    
    
    
    UDPStartup()
    ;~ For $i = 1 To 2
    For $i = 0 To 1
    	$Socket = UDPOpen('192.168.x.x', $Port)
    	$test1 = _SNMPBuildPacket($aOID[$i], $SNMP_Community, $SNMP_Version, $SNMP_ReqID, "A1")
    	UDPSend($Socket, $test1)
    	_StartListener()
    ;~     ConsoleWrite($result[1][1]&@LF)
    Next
    Alles anzeigen
  • AutoIt Gartenplanungs-Projekt

    • BugFix
    • 13. März 2017 um 09:55

    Du musst beachten, dass das Zeichnen dem auf einer Leinwand gemalten ähnelt. D.h., bereits gemaltes verschwindet nicht einfach bzw. läßt sich nicht ohne Weiteres verschieben. Ich würde dir raten, vielleicht eher mit GDIplus zu zeichnen. Die Funktionen sind etwas vielfältiger.

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™