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

  • ControlSend o. ControlClick betätigt nicht "Finish" Button

    • BugFix
    • 24. November 2015 um 10:18

    WinWaitActive("[CLASS:#32770]", "", 1500)
    Das bedeutet du wartest auf irgendein Fenster der allgemeinen Windows-Fensterklasse 32770. 8|
    Warum läßt du den Parameter "Text" ungenutzt? Der Fenstertitel ist doch bekannt. Also kombiniere Klasse und Titel: WinWaitActive("[CLASS:#32770]", "Atlantic Zeiser Printers 6.0r8(x64) Setup", 1500)

  • SQLite Grundsatzfragen für AnfängerX

    • BugFix
    • 20. November 2015 um 20:10

    Ein Tipp: Speichere ein Datum nicht als "TT.MM.JJJJ" - da geht dir eine wesentliche Funktionalität verloren - du kannst nicht sortiert ausgeben (order by).
    Ich speichere immer als "JJJJMMTT" und konvertiere bei der Anwendung in das jeweils erforderliche Format. Dazu habe ich mir folgende Funktion erstellt:

    AutoIt
    ;===================================================================================================
    ; Function Name....: _DateConvert
    ; Description......: Konvertiert ein Datum aus den Formaten TT.MM.JJJJ, JJJJ-MM-TT, JJJJ/MM/TT,
    ; .................: JJJJMMTT in eines der 4 Formate. Automatische Erkennung des Ausgangsformats.
    ; Parameter(s).....: $_sDate
    ; .................: $_iConvert  0 - >> TT.MM.JJJJ (User-Format)
    ; .................:             1 - >> JJJJ/MM/TT (Date.au3-Format)
    ; .................:             2 - >> JJJJ-MM-TT (sortierbarer Datumsstring)
    ; .................:             3 - >> JJJJMMTT   (sortierbarer Datumsstring OHNE Trennzeichen)
    ; Return Value(s)..: Erfolg:     Der konvertierte Datumsstring
    ; .................: Fehler:     Leerstring, @error = 1 --> Datummstring o. Trennzeichen hat falsche Länge
    ; .................:                         @error = 2 --> kein Datumsformat erkennbar
    ; .................:                         @error = 3 --> ungültiges Trennzeichen
    ;===================================================================================================
    Func _DateConvert($_sDate, $_iConvert=0)
    	Local $JJJJ, $MM, $TT, $aDate
    	If Not StringRegExp($_sDate, '[./-]') Then
    		If StringLen($_sDate) = 8 Then
    			$aDate = StringRegExp($_sDate, '(\d{4})(\d{1,2})(\d{1,2})', 3)
    			$JJJJ = $aDate[0]
    			$MM   = $aDate[1]
    			$TT   = $aDate[2]
    		Else
    			Return SetError(1,0,'')
    		EndIf
    	Else
    		$aDate = StringRegExp($_sDate, '(\d+)(.)(\d+).(\d+)', 3)
    		If @error Then Return SetError(2,0,'')
    		$MM   = StringRight('0' & $aDate[2], 2)
    		Switch $aDate[1]
    			Case '.'
    				$JJJJ = $aDate[3]
    				$TT   = StringFormat('%02d', $aDate[0])
    			Case '/', '-'
    				$JJJJ = $aDate[0]
    				$TT   = StringFormat('%02d', $aDate[3])
    			Case Else
    				Return SetError(3,0,'')
    		EndSwitch
    	EndIf
    	Switch $_iConvert
    		Case 0
    ;~ 			Return $TT & '.' & $MM & '.' & $JJJJ
    			Return StringFormat('%s.%s.%s', $TT, $MM, $JJJJ)
    		Case 1
    ;~ 			Return $JJJJ & '/' & $MM & '/' & $TT
    			Return StringFormat('%s/%s/%s', $JJJJ, $MM, $TT)
    		Case 2
    ;~ 			Return $JJJJ & '-' & $MM & '-' & $TT
    			Return StringFormat('%s-%s-%s', $JJJJ, $MM, $TT)
    		Case 3
    ;~ 			Return $JJJJ & $MM & $TT
    			Return StringFormat('%s%s%s', $JJJJ, $MM, $TT)
    	EndSwitch
    EndFunc
    Alles anzeigen
  • Includes & Autovervollständigung

    • BugFix
    • 20. November 2015 um 15:21
    Zitat von x0r

    Ich meinte eher, die Autovervollständigung beim Verwenden eines Includes zur Verfügung zu stellen und beim Löschen wieder nicht mehr.

    Das ist nicht möglich. Wir müssen hier zwei Dinge unterscheiden:
    - Eine UDF mit ihren Funktionen (Editorunabhängig)
    - evtl. mitgelieferte Autovervollständigungsdateien, die ausschließlich an einen Editor gekoppelt sind.

    Man könnte natürlich z.B. mittels einer neuen Propertie ( z.B. temp.abbrev.path ) in SciTE festlegen, dass in diesem Pfad hinterlegte api mit eingelesen werden. Steht nichts drin, wird auch nichts eingelesen. Das bedingt aber, dass der Autor entsprechende api-Dateien bereitstellt.

  • SQLite Grundsatzfragen für AnfängerX

    • BugFix
    • 20. November 2015 um 09:59

    Anhand der Skriptzeilen von Alina vermute ich mal, dass es ihr um SQLite geht. Da sollte man auf jeden Fall erst mal die SQLite-Doku lesen.
    Für die grundlegenden Mechanismen kannst du grundsätzlich jedes SQL-Tut zu Hilfe nehmen, aber immer beachten, dass es dort syntaxspezifische Differenzen gibt (z.B. kennt SQLite keinen Typ: Datum). Aber es gibt auch ausreichend SQLite-Tuts (z.B. hier).

    Bei den AutoIt-spezifischen Punkten ist zu beachten, dass der Umgang mit der sqlite3.dll sich gewaltig verändert hat. Erst war sie als Include enthalten und wurde zur Laufzeit erstellt. Dann kam dieser Schwachsinn mit automatisch Herunterladen aus dem Web, wenn nicht auf dem PC vorhanden und nun ist auch das nicht mehr, weil dadurch auf der DL-Site zu viel Trafffic generiert wurde. D.h.: du musst dich selbst um die Mitgabe der dll kümmern, herunterladen und in den Skriptordner packen. Dann aber auch Startup mit den richtigen Parametern ausführen: _SQLite_Startup(@ScriptDir & "\sqlite3.dll", False, 1)

  • SQLite.dll.au3 konnte nicht gefunden werden

    • BugFix
    • 18. November 2015 um 22:25

    Die gibt es schon ne Weile nicht mehr. Aber hier: https://autoit.de/index.php/Thre…5662#post255662 kannst du sie laden.
    In der jetzigen Version musst du selbst für die SQLite.dll sorgen, also aus dem Web runterladen und im Skriptordner mit weitergeben.

  • Alte Includes vs. neue Includes

    • BugFix
    • 17. November 2015 um 15:42
    Zitat von Landfloh

    Gibt es einen Weg, mehrere Include-Versions-Ordner zu haben, um einem Script zu sagen, welchen er davon verwenden soll?

    Standardmäßig ist mir das zumindest nicht bekannt. Aber benenne doch die "alten" Versionen um (z. B. Präfix "old_") und pack sie in deinen persönlichen Include-Ordner. Dann bindest du eben bei Bedarf nur die alten ein.

  • Betätigung des Ein-/Aus-Tasters am Notebook erkennen

    • BugFix
    • 17. November 2015 um 14:16

    In dem Beitrag wird nur gezeigt, wie man den Druck auf den Button abfangen kann, was aber nichts bringt, wenn der Button gedrückt gehalten wird um den Hardwareshutdown herbeizuführen. Und das ist auch verdammt wichtig, dass dieser Vorgang von niemandem unterbrochen werden kann. Stell dir vor, irgendein unsauber programmiertes Tool will beim Herunterfahren noch was erledigen und hängt sich in einem Loop auf, der ständig auf den Herunterfahren
    -Button wartet um dieses Event jedes mal abzuschiessen. Dann bliebe nur noch: Netzstecker ziehen oder Akku raus. :S

  • [Gelöst] Excel / Outlook Event Hilfe in VBA

    • BugFix
    • 17. November 2015 um 09:31
    Zitat von Techmix

    Willst du auf einem Button drücken und dieser soll deinen Code ausführen - oder was meinst du mit der "Send" Button Abfrage?

    Nein, er erstellt in einer Excel-Anwendung ein Outlook-Objekt um aus Excel heraus eine Mail zu versenden. Das Outlook-Objekt ist sichtbar, der Button zum Versenden (Send) der Mail wird betätigt und ich nehme stark an, dass UEZ jetzt in seinem Excel weiterarbeiten und das Outlook-Objekt schließen möchte. Auslöser dafür soll halt das Betätigen des Send-Mail-Button sein.

    @UEZ Kann da leider konkret nicht helfen, mangels Outlook. Mußt wohl warten, bis water einen Blick drauf wirft. ;)

  • Betätigung des Ein-/Aus-Tasters am Notebook erkennen

    • BugFix
    • 17. November 2015 um 09:25
    Zitat von Oscar

    Soweit ich weiß, kann man den Power-Button nicht "abschalten". Ein dauerhaftes Gedrückthalten löst hardwaremäßig ein Abschalten des Notebooks aus.

    Genau, das "gedrückt halten" geht kpl. an der Software (shutdown.exe) vorbei. Da wird nach Zeitfenster (3 od. 5 sec. wenn ich mich recht erinnere) einfach die Stromversorgung gecancelt.

  • Betätigung des Ein-/Aus-Tasters am Notebook erkennen

    • BugFix
    • 13. November 2015 um 09:22
    Zitat von Bioshade

    Ich glaube die werden alle an die Shutdown.exe geschickt - bloß mit unterschiedlichen Parametern?

    Ja, aber ich vermute einfach, dass der TS auf ein Shutdown anders reagieren möchte als auf ein Hibernate, deshalb meine Differenzierung.
    Aber bisher eh nur Glaskugel-Reiben. :whistling:

  • Betätigung des Ein-/Aus-Tasters am Notebook erkennen

    • BugFix
    • 13. November 2015 um 09:05

    Ich nehme mal an, du möchtest bei laufendem System erkennen, ob diese Taste gedrückt wird. Hardwaremäßig ist das m. W. nicht möglich. Aber du kannst den dort hinterlegten Prozeß abfragen. Allerdings ist das nicht fix, sondern User-spezifisch. Du kannst ja durch Betätigung der Taste: - Herunterfahren, - Neustarten, - Hibernate aktivieren, je nachdem, was hinterlegt ist.
    Was davon möchtest du denn auswerten?

  • Verzeichniss überwachen und Drucken

    • BugFix
    • 11. November 2015 um 13:16
    Zitat von MiFraNe

    ...kann hier wirklich keiner helfen?

    Hijacke keinen fremden Thread!
    Mach einen eigenen auf, poste dein Problem und deine bisherigen Versuche (mit Skript und Fehlerabbildung!)

  • Zeitdifferenz

    • BugFix
    • 10. November 2015 um 18:44

    Dein Zeitstempel ist ja sekundengenau. Du wirst dann wahrscheinlich die Differenz auch in Sekunden berechnen.
    Ich hatte mal eine Funktion erstellt um Sekunden in "lesbare" Einheiten umzurechnen. Vielleicht kannst du es brauchen.

    AutoIt
    Func _FormatSeconds($_sec)
    	Return ( $_sec < 60 ? StringFormat('00:00:%02u', $_sec) : _
                 $_sec < 60*60 ? StringFormat('00:%02u', Floor($_sec/60)) & ':' & _
    			        StringFormat('%02u', Mod($_sec,60)) : _
    			 $_sec < 60*60*24 ? StringFormat('%02u', Floor($_sec/3600)) & ':' & _
                        StringFormat('%02u', Floor(Mod($_sec,3600)/60)) & ':' & _
                        StringFormat('%02u', Mod(Mod($_sec,3600),60)) : _
    			 ( $_sec = 86400 ? "24:00:00" : Floor($_sec/86400) & ' d / ' & _
    					StringFormat('%02u', Floor(Mod($_sec,86400)/3600)) & ':' & _
    					StringFormat('%02u', Floor(Mod(Mod($_sec,86400),3600)/60)) & ':' & _
    					StringFormat('%02u', Mod(Mod(Mod($_sec,86400),3600),60)) & ' h') )
    EndFunc
    Alles anzeigen
  • Random ohne Wiederholung - Wie geht's am einfachsten?

    • BugFix
    • 9. November 2015 um 13:49
    Zitat von ashadehigher

    eine msgbox einbauen, die die Randomzahl als array wiedergibt?

    Du solltest dich dringend erst mal mit den Grundlagen beschäftigen. Ein Array kann man nicht in einer MsgBox ausgeben, dazu nutzt man _ArrayDisplay().
    Also Funktionsaufruf, wie von mir im vorigen Post gezeigt und dann _ArrayDisplay($aErgebnis)

  • Random ohne Wiederholung - Wie geht's am einfachsten?

    • BugFix
    • 9. November 2015 um 13:06

    Warum machst du eine Schleife drum?
    Du übergibst an die Funktion als Parameter den Zahlenbereich und die gewünschte Anzahl an Zufallszahlen. Das Ergebnis gibt die Funktion als kommagetrennten String (Standard) oder als Array (Parameter $array=1) zurück.
    Ausserdem würde in eine Schleife nur der Funktionsaufruf, nicht aber die Funktionsdeklaration gehören.

    $aErgebnis = _RandomExt(230, 1, -1, 1) ; ergibt 230 Zahlen in zufälliger Reihenfolge

  • Random ohne Wiederholung - Wie geht's am einfachsten?

    • BugFix
    • 9. November 2015 um 12:18
    AutoIt
    ;==============================================================================
    ; Gibt eine Anzahl Zufallszahlen ohne Doppel als String oder Array zurück
    ; Bereich von - bis festlegbar (positiv Integer)
    ; mit -1 für Anzahl werden alle Zahlen des Bereichs in zufälliger Reihenfolge
    ; ausgegeben
    ;==============================================================================
    Func _RandomExt($iBis, $iVon=1, $iAnzahl=-1, $array=0)
    	Local $count = $iBis -$iVon +1
    	If $iAnzahl = -1 Then $iAnzahl = $count
    	Local $aValue[$count], $start = $iVon, $sOut = '', $random
    	For $i = 0 To $count -1
    		$aValue[$i] = $start
    		$start += 1
    	Next
    	For $i = 0 To $iAnzahl -1
    		$random = Random(0, $count -1 -$i, 1)
    		$sOut &= $aValue[$random] & ','
    		$aValue[$random] = $aValue[$count -1 -$i]
    	Next
    	$sOut = StringTrimRight($sOut, 1)
    	If $array Then Return StringSplit($sOut, ',', 2)
    	Return $sOut
    EndFunc  ;==>_RandomExt
    Alles anzeigen
  • SciTE - RU : kein autocomplete beim Schreiben von Standardfunktionen

    • BugFix
    • 9. November 2015 um 00:18

    Im SciTE-RU sind zum Teil andere Grundeinstellungen. Aber du kannst in den User Settings ganz normal eigene Shortcuts festlegen.

  • SciTE - RU : kein autocomplete beim Schreiben von Standardfunktionen

    • BugFix
    • 8. November 2015 um 23:37

    Du mußt SciTE4AutoIt ordentlich deinstallieren. SciTE-RU funktioniert etwas anders. Die Lua-Startprozedur ist anders, ebenso werden die Events anders verarbeitet.
    Dann verwende die letzte Version, findest du im RU-Forum: SciTE 3.5.5.101
    Hier ist auch Autocomplete enthalten und alle weiteren aus SciTE4AutoIt bekannten Tools.

  • Doppelter Terminkalender

    • BugFix
    • 5. November 2015 um 09:47

    Vor vielen, vielen Jahren hatten wir hier in AutoIt ein Kalenderprojekt. Ich habe aber nicht mehr in Erinnerung, wie der letzte Status war. Hier kannst du es beziehen: Galenda

  • GuiInput in .txt datei speichern

    • BugFix
    • 1. November 2015 um 17:36
    Zitat von TheBot

    wie schaff ich es das der input wert in einer .txt datei gespeichert

    Zitat von TheBot

    mir sind alle grundlagen bekannt

    Warum fragst du dann? [Blockierte Grafik: https://goo.gl/9U7C9t]

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™