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

  • .ini oder bessere lösung

    • BugFix
    • 14. August 2010 um 14:08

    Bei so vielen Controls erstellst du diese doch hoffentlich in einem Array? :rolleyes:
    Dann bietet es sich natürlich auch an in einer Schleife das Array auszulesen und die Werte in eine IniSektion zu schreiben, bzw. beim Erstellen aus selbiger zu Befüllen.
    Kannst natürlich auch mit einer normalen Textdatei arbeiten, jede Zeile ein Wert. Ich schätze die Performance wird hier keine großen Unterschiede aufweisen.

  • Herzlichen Glückwunsch Stilgar

    • BugFix
    • 14. August 2010 um 12:16

    Hallo Stilgar, zu deinem letzten Lebensjahr mit einer führenden 3 :D möchte ich dir recht herzlich gratulieren.
    Laß ordentlich krachen, noch bist du BiFi (bis vierzig :P).

    [Blockierte Grafik: http://www.baeckereikleinstein.ch/fotos/kuchen/geb39.jpg]

  • Flash Fenster sollten verboten werden...

    • BugFix
    • 14. August 2010 um 10:09

    Kann mich dem nur anschließen.
    Ich sags mal provozierend: Ich betrachte Flash als eine Form von Virus. (Deshalb ist es bei mir auch standardmäßig deaktiviert) ;)

  • Hilfe zu dem Befehl "ObjCreate"

    • BugFix
    • 12. August 2010 um 19:55

    Verwende doch die deutschen Sprachpakete für SAPI: Deutsche Sprachpakete für SAPI

  • Excel - Sheet duplizieren (heißt in Excel: "Kopie erstellen")

    • BugFix
    • 11. August 2010 um 22:34

    Ich hab mal schnell die nötige Funktion dafür geschrieben:

    Edit: Noch etwas gekürzt ;)
    Edit2: Noch zu lang ;)

    [autoit]


    ;===================================================================================================
    ; Tabellenblatt kopieren
    ; $oExcel Excel-Objekt
    ; $vCopySheet Integer oder Name des zu kopierenden Tabellenblatts (Standard = 1)
    ; $sNameNewSheet Name des neuen Tabellenblattes (Standard = "" - 'alter_Name (2)')
    ; $fBefore Kopie vor oder nach Original (True/False, Standard = False)
    ; Autor BugFix
    ;===================================================================================================
    Func _ExcelSheetCopy($oExcel, $vCopySheet=1, $sNameNewSheet='', $fBefore=False)
    With $oExcel
    .Sheets($vCopySheet).Select()
    If $fBefore Then
    .Sheets($vCopySheet).Copy(.Sheets($vCopySheet))
    Else
    .Sheets($vCopySheet).Copy(Default, .Sheets($vCopySheet))
    EndIf
    If $sNameNewSheet Then .ActiveSheet.Name = $sNameNewSheet
    EndWith
    EndFunc ;==>_ExcelSheetCopy

    [/autoit]
  • Tutorial AutoIt und Assembler UPDATE 24. Oktober 2010 Verwendung von Autoitvariablen im Assemblercode

    • BugFix
    • 9. August 2010 um 22:25

    Kann da meinen Vorrednern nur beipflichten und ehrfurchtsvoll mein Haupt senken. :rolleyes:
    Ich habe so einige Projekte, die optimierungswürdig sind und werde mal probieren ob ich damit was reißen kann. Danke.

  • private krankenversicherung gesetzlich

    • BugFix
    • 9. August 2010 um 20:48

    Und falls du doch mehr als die Bemessungsgrenze verdienst, 8o dann solltest du dir gründlich überlegen, ob es Sinn macht eine private KV zu wählen. Auch wenn es etwas teurer ist, ist hier die freiwillige Versicherung in einer gesetzlichen Kasse zu empfehlen. Warum?
    Auch private Kassen können nur über das Solidarprinzip existieren. Nur ist es hier auf den Kopf gestellt. Der junge Mensch zahlt wenig, da er mit dem Geld seinen Wohlstand aufbauen soll. Mit steigendem Alter steigen die Beiträge um eben die niedrigen Beiträge der Jungen zu finanzieren. Wer es also nicht schafft soviel zu verdienen, dass er die hohen Beiträge im Alter deckeln kann, ist u.U. dann ein Opfer der Altersarmut.
    Ich kenne solche Fälle aus dem Bekanntenkreis. Im Arbeitsleben immer auf großem Fuß gelebt und jetzt im Rentenalter muß jeder Cent 3-mal umgedreht werden. Nur um mal eine Hausnummer zu nennen: Mit 40 Jahren einen Beitrag von ca. 250 EUR und mit 65 Jahren sind es dann >650 EUR !! Das ganze variiert noch stark nach dem gewählten Paket - also den Leistungen die du wählst (Du mußt abschätzen, ob du bestimmte Heil- u. Hilfsmittel benötigst. Hast du es abgewählt und brauchst es später zahlst du 100% selbst)
    Ich betreue viele Patienten und die am meisten klagen sind privat versichert.
    Ich war auch mal selbständig. Ein Bekannter der für eine private Versicherung als Vertreter unterwegs war wollte mich werben. Ich sagte: Ich möchte nur alle Leistungen, die die gesetzliche Kasse bietet - aber es darf nicht mehr als dort kosten, da knickte er ein und sagte, dass er das nicht bieten könne.
    Das mag sich inzwischen etwas verändert haben aber sicher nicht wesentlich.
    Mein Veto: Privat? - Nein Danke!

  • Icons in einer Übersicht darstellen (ProgAndy?)

    • BugFix
    • 8. August 2010 um 17:48

    Das Bsp. hier (http://www.autoitscript.com/forum/index.php?showtopic=95616&view=findpost&p=687555) gibt die Icon genau so aus, wie von dir erwartet.
    Sieht für mich auf den ersten Blick so aus, wie der auf progandy verweisende Link. ==> War nur der erste Blick :) - ist doch anders.

  • Icons in einer Übersicht darstellen (ProgAndy?)

    • BugFix
    • 8. August 2010 um 17:29

    Wenn du die Dll im ResHacker betrachtest siehst du, dass die Nummerierung nach der Kategorie "ICON GROUP" und nicht "ICON" erfolgt. Dann stimmen auch die gezeigten Nummern.

  • BACalculator (Alkoholrechner)

    • BugFix
    • 8. August 2010 um 14:31

    Aber bitte niemals als Berechnungsgrundlage verwenden (wann bin ich wieder fahrtüchtig)!
    Allen Berechnungsverfahren ist eines gemeinsam: Es sind gemittelte Werte die die Individualität des Einzelnen außen vorlassen.
    Leicht geänderte Körpertemperatur, bestimmte aufgenommene Nahrung, Stoffwechselbesonderheiten etc. pp. können das Ergebnis extrem beeinflussen.

  • Prüfen ob Maustate gedrückt

    • BugFix
    • 7. August 2010 um 15:35
    Zitat von volle

    Das wollte ich auch grad schreiben , weil wenn chip eine Antwort kriegt ohne Nachfrage für was er es braucht möchte ich auch eine Antwort auf meine Frage in meinem Thread -.-''

    Gleichberechtigung für alle !


    Du willst dir unbedingt unseren Zorn zuziehen - oder?
    Deine Aktivitäten waren sehr Botverdächtig, da waltet halt Vorsicht.
    Das Registrieren eines Mausklick oder -Release ist ein stinknormaler Programmiervorgang, der stets und ständig verwendet wird.

  • _ExcelBookClose funktioniert nicht mit Excel 2010

    • BugFix
    • 6. August 2010 um 18:33

    Du kannst auch über "OWC.Spreadsheet" ein Excel-Objekt erstellen.
    Allerdings weiß ich nicht, ob es ohne die Versionszahl funktioniert, probier einfach mal:

    [autoit]

    $oExcel = ObjCreate("OWC.Spreadsheet")

    [/autoit]
  • Linie schneidet Rechteck ?

    • BugFix
    • 4. August 2010 um 22:42
    Zitat von progandy

    Was ist mit schiefen Linien? Die senkrechten und waagrechten sind ja einfach :D


    Alter Spielverderber :D, aber ich hab immer irgendwie an Gerade gedacht. ;)
    Gibt aber 'ne Variante: In einer Schleife jeden Punkt der Linie mit _WinAPI_PtInRect abprüfen. :P

  • Linie schneidet Rechteck ?

    • BugFix
    • 4. August 2010 um 22:25

    Da die Linie Höhe 1 hat ergibt das also ein RECT mit Höhe 1. Somit kann die Schnittfunktion genutzt werden. ;)

    Für die Gerade:

    Spoiler anzeigen
    [autoit]

    ; Bsp-Daten:

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

    Local $lineX = 50
    Local $lineLen = 120
    Local $lineY = 20
    Local $lineRECT = DllStructCreate("int Left;int Top;int Right;int Bottom")

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

    _WinAPI_SetRect($lineRECT, $lineX, $lineY, $lineX + $lineLen, $lineY +1)

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

    ;===============================================================================
    ; Function Name: _WinAPI_SetRect(ByRef $tRECT, $X1, $Y1, $X2, $Y2)
    ; Description: Befüllt eine RECT-Struktur in einem Aufruf mit Werten
    ; Parameter(s): $tRECT RECT-Struktur
    ; $X1, $Y1, $X2, $Y2 Werte des Rectangle
    ; Return Value(s): Erfolg <> 0
    ; Fehler 0 set @error 1-keine Struktur übergeben
    ; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
    ;===============================================================================
    Func _WinAPI_SetRect(ByRef $tRECT, $X1, $Y1, $X2, $Y2)
    If Not IsDllStruct($tRECT) Then Return SetError(1,0,0)
    Local $ret = DllCall("user32", 'long', 'SetRect', 'ptr', DllStructGetPtr($tRECT), 'long', $X1, 'long', $Y1, 'long', $X2, 'long', $Y2)
    If @error > 0 Then Return SetError(1,@error,0)
    Return $ret[0]
    EndFunc ;==>_WinAPI_SetRect

    [/autoit]
  • Linie schneidet Rechteck ?

    • BugFix
    • 4. August 2010 um 21:42

    Versuche es mit der folgenden Funktion. Verwende RECT-Strukturen für das Quadrat und die Gerade (Höhe 1).

    [autoit]

    ;===============================================================================
    ; Function Name: _WinAPI_IntersectRect(ByRef $Src1Rect, ByRef $Src2Rect)
    ; Description: Ermittelt Schnittmengen zweier RECT-Strukturen
    ; Parameter(s): $Src1Rect, $Src2Rect RECT-Strukturen aus denen Schnittmengen festgestellt werden sollen
    ; Return Value(s): Erfolg RECT-Struktur der Schnittmenge
    ; Fehler 0 set @error 1-keine Struktur(en) übergeben
    ; 2-Dll-Fehler (s. @extended)
    ; 3-keine Schnittmenge
    ; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
    ;===============================================================================
    Func _WinAPI_IntersectRect(ByRef $Src1Rect, ByRef $Src2Rect)
    If (Not IsDllStruct($Src1Rect)) Or (Not IsDllStruct($Src2Rect)) Then Return SetError(1,0,0)
    Local $DestRect = DllStructCreate("int Left;int Top;int Right;int Bottom")
    Local $ret = DllCall("user32", "int", "IntersectRect", "ptr", DllStructGetPtr($DestRect), "ptr", DllStructGetPtr($Src1Rect), "ptr", DllStructGetPtr($Src2Rect))
    If @error > 0 Then Return SetError(2,@error,0)
    If $ret[0] > 0 Then
    Return $DestRect
    Else
    Return SetError(3,0,0)
    EndIf
    EndFunc ;==>_WinAPI_IntersectRect

    [/autoit]
  • Funktion um leere Verzeichnisse zu finden gesucht

    • BugFix
    • 4. August 2010 um 15:02

    Du erhältst doch ein Array mit den leeren Verzeichnissen - einfach jedes Element mit DirRemove löschen.

  • GUI - Height, Width, Left, Top ?!?

    • BugFix
    • 4. August 2010 um 12:08
    Zitat von nuts

    Hehe die kenn ich schon (s. Skript).


    Anscheinend nicht ;)
    Wenn du ClientSize speicherst und mit diesen Werten GUICreate benutzt ist die GUI logischerweise kleiner, da die GUI die Werte aus GUISize benötigt. :)

  • GUI - Height, Width, Left, Top ?!?

    • BugFix
    • 4. August 2010 um 11:09

    WinGetSize
    WinGetClientSize
    Das sollte deine Unklarheiten beseitigen. ;)

  • Problem mit Send und Hotkeyset

    • BugFix
    • 4. August 2010 um 09:25

    Verwende nur eine Funktion für die Hotkeys, ist übersichtlicher:

    Spoiler anzeigen
    [autoit]

    For $i = 0 To 9
    HotKeySet($i, '_HKFunc')
    HotKeySet('{NUMPAD' & $i & '}', '_HKFunc')
    HotKeySet('^{NUMPAD' & $i & '}', '_HKFunc')
    HotKeySet('!{NUMPAD' & $i & '}', '_HKFunc')
    HotKeySet('^!{NUMPAD' & $i & '}', '_HKFunc')
    HotKeySet('^' & $i, '_HKFunc')
    HotKeySet('!' & $i, '_HKFunc')
    HotKeySet('^!' & $i, '_HKFunc')
    Next
    HotKeySet('#!e', '_HKFunc') ; Win+Alt+e zum Beenden

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

    While 1
    Sleep(100)
    WEnd

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

    Func _HKFunc()
    Switch @HotKeyPressed
    Case '#!e'
    Exit
    Case '0'
    ; der Send-Code
    Case '^0'

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

    Case '^!0'

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

    Case '{NUMPAD0}'

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

    Case '^{NUMPAD0}'

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

    Case '!{NUMPAD0}'

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

    Case '^!{NUMPAD0}'

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

    ; usw. usf.
    EndSwitch
    EndFunc

    [/autoit]
  • Zahl der Ausdrucke diverser Personen an diversen Netzwerkdruckern erfassen und anschließend auslesen

    • BugFix
    • 4. August 2010 um 08:23

    Werden alle Druckjobs vom Server verwaltet? Dann kannst du doch (wie in deinem letzten Thread von mir geschrieben) dort die Abfrage kontinuierlich laufen lassen und die Werte abspeichern.

    Edit:
    Vielleicht kannst du diese WMI-Abfragen ja auch verwerten:

    Spoiler anzeigen
    [autoit]


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

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

    ;=======================================================================================================================
    ; Returns total number of jobs, total number of pages, and largest job for all print queues on a computer.
    ;=======================================================================================================================
    ; Generated by AutoIt Scriptomatic

    [/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_PrintJob", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

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

    If IsObj($colItems) then
    For $objItem In $colItems
    $Output = $Output & "Caption: " & $objItem.Caption & @CRLF
    $Output = $Output & "DataType: " & $objItem.DataType & @CRLF
    $Output = $Output & "Description: " & $objItem.Description & @CRLF
    $Output = $Output & "Document: " & $objItem.Document & @CRLF
    $Output = $Output & "DriverName: " & $objItem.DriverName & @CRLF
    $Output = $Output & "ElapsedTime: " & WMIDateStringToDate($objItem.ElapsedTime) & @CRLF
    $Output = $Output & "HostPrintQueue: " & $objItem.HostPrintQueue & @CRLF
    $Output = $Output & "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
    $Output = $Output & "JobId: " & $objItem.JobId & @CRLF
    $Output = $Output & "JobStatus: " & $objItem.JobStatus & @CRLF
    $Output = $Output & "Name: " & $objItem.Name & @CRLF
    $Output = $Output & "Notify: " & $objItem.Notify & @CRLF
    $Output = $Output & "Owner: " & $objItem.Owner & @CRLF
    $Output = $Output & "PagesPrinted: " & $objItem.PagesPrinted & @CRLF
    $Output = $Output & "Parameters: " & $objItem.Parameters & @CRLF
    $Output = $Output & "PrintProcessor: " & $objItem.PrintProcessor & @CRLF
    $Output = $Output & "Priority: " & $objItem.Priority & @CRLF
    $Output = $Output & "Size: " & $objItem.Size & @CRLF
    $Output = $Output & "StartTime: " & WMIDateStringToDate($objItem.StartTime) & @CRLF
    $Output = $Output & "Status: " & $objItem.Status & @CRLF
    $Output = $Output & "StatusMask: " & $objItem.StatusMask & @CRLF
    $Output = $Output & "TimeSubmitted: " & WMIDateStringToDate($objItem.TimeSubmitted) & @CRLF
    $Output = $Output & "TotalPages: " & $objItem.TotalPages & @CRLF
    $Output = $Output & "UntilTime: " & WMIDateStringToDate($objItem.UntilTime) & @CRLF
    if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
    $Output=""
    Next
    Else
    Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_PrintJob" )
    Endif

    [/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

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

    ;=======================================================================================================================
    ; Uses cooked performance counters to retrieve data such as total number of jobs printed and total number of printing errors for each print queue on a computer.
    ;=======================================================================================================================
    ; Generated by AutoIt Scriptomatic

    [/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_PerfFormattedData_Spooler_PrintQueue", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

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

    If IsObj($colItems) then
    For $objItem In $colItems
    $Output = $Output & "AddNetworkPrinterCalls: " & $objItem.AddNetworkPrinterCalls & @CRLF
    $Output = $Output & "BytesPrintedPersec: " & $objItem.BytesPrintedPersec & @CRLF
    $Output = $Output & "Caption: " & $objItem.Caption & @CRLF
    $Output = $Output & "Description: " & $objItem.Description & @CRLF
    $Output = $Output & "EnumerateNetworkPrinterCalls: " & $objItem.EnumerateNetworkPrinterCalls & @CRLF
    $Output = $Output & "Frequency_Object: " & $objItem.Frequency_Object & @CRLF
    $Output = $Output & "Frequency_PerfTime: " & $objItem.Frequency_PerfTime & @CRLF
    $Output = $Output & "Frequency_Sys100NS: " & $objItem.Frequency_Sys100NS & @CRLF
    $Output = $Output & "JobErrors: " & $objItem.JobErrors & @CRLF
    $Output = $Output & "Jobs: " & $objItem.Jobs & @CRLF
    $Output = $Output & "JobsSpooling: " & $objItem.JobsSpooling & @CRLF
    $Output = $Output & "MaxJobsSpooling: " & $objItem.MaxJobsSpooling & @CRLF
    $Output = $Output & "MaxReferences: " & $objItem.MaxReferences & @CRLF
    $Output = $Output & "Name: " & $objItem.Name & @CRLF
    $Output = $Output & "NotReadyErrors: " & $objItem.NotReadyErrors & @CRLF
    $Output = $Output & "OutofPaperErrors: " & $objItem.OutofPaperErrors & @CRLF
    $Output = $Output & "References: " & $objItem.References & @CRLF
    $Output = $Output & "Timestamp_Object: " & $objItem.Timestamp_Object & @CRLF
    $Output = $Output & "Timestamp_PerfTime: " & $objItem.Timestamp_PerfTime & @CRLF
    $Output = $Output & "Timestamp_Sys100NS: " & $objItem.Timestamp_Sys100NS & @CRLF
    $Output = $Output & "TotalJobsPrinted: " & $objItem.TotalJobsPrinted & @CRLF
    $Output = $Output & "TotalPagesPrinted: " & $objItem.TotalPagesPrinted & @CRLF
    if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
    $Output=""
    Next
    Else
    Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_PerfFormattedData_Spooler_PrintQueue" )
    Endif

    [/autoit]

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™