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

Beiträge von Oscar

  • Pee wird 24 und Funkey 32

    • Oscar
    • 4. Dezember 2012 um 17:59

    Ich wünsche euch beiden auch alles Gute und feiert schön! :party:

  • WMI und USB-Festplatten

    • Oscar
    • 15. November 2012 um 06:36

    Vielleicht reicht Dir das:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    $aDrives = _CI_GetHarddrives()
    _ArrayDisplay($aDrives)

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

    Func _CI_GetHarddrives($strComputer = '.')
    Local $aReturn[1][7] = [[ _
    'Bezeichnung:', 'Größe:', 'Anschluss:', 'Bytes/Sektor:', 'Anzahl der Sektoren:', _
    'PNPDeviceID:', 'Status:']]
    Local $x = 0, $objWMIService, $colItems
    $objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\root\cimv2')
    If Not IsObj($objWMIService) Then Return SetError(1, 0, 0)
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_DiskDrive', 'WQL', 0x30)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $x += 1
    ReDim $aReturn[$x + 1][7]
    $aReturn[$x][0] = $objItem.Model
    $aReturn[$x][1] = _ByteAutoSize($objItem.Size)
    $aReturn[$x][2] = $objItem.InterfaceType
    $aReturn[$x][3] = $objItem.BytesPerSector
    $aReturn[$x][4] = $objItem.TotalSectors
    $aReturn[$x][5] = $objItem.PNPDeviceID
    $aReturn[$x][6] = $objItem.Status
    Next
    EndIf
    Return $aReturn
    EndFunc ;==>_CI_GetHarddrives

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

    ;===============================================================================
    ; Function Name: _ByteAutoSize($iSize[, $iRound][, $iFormat][, $bThousands])
    ; Description:: Gibt einen Bytewert in einer bestimmten Einheit zurück
    ; Parameter(s): $iSize = Größe in Byte übergeben
    ; $iRound = Anzahl der Nachkommastellen (0...8)
    ; $iFormat = bestimmt den Rückgabewert
    ; 0 = Automatisch (je nach übergebenen Wert)
    ; 1 = in Byte
    ; 2 = in KByte
    ; 3 = in MByte
    ; 4 = in GByte
    ; $bThousands = Rückgabe mit Tausendertrennzeichen (True/False)
    ; Requirement(s): #include <String.au3>
    ; Author(s): Oscar (http://www.autoit.de)
    ;===============================================================================
    Func _ByteAutoSize($iSize, $iRound = 2, $iFormat = 0, $bThousands = True)
    Local $aSize[4] = [' Byte', ' KByte', ' MByte', ' GByte'], $sReturn
    If $iFormat < 0 Or $iFormat > 4 Then $iFormat = 0
    If $iRound < 0 Or $iRound > 8 Then $iRound = 2
    If Not IsBool($bThousands) Then $bThousands = False
    $iSize = Abs($iSize)
    If $iFormat = 0 Then
    For $i = 30 To 0 Step -10
    If $iSize > (2 ^ $i) Then
    $iFormat = $i / 10 + 1
    ExitLoop
    EndIf
    Next
    EndIf
    If $iFormat = 0 Then $iFormat = 1
    $sReturn = StringFormat('%.' & $iRound & 'f', Round($iSize / (2 ^ (($iFormat - 1) * 10)), $iRound))
    If $bThousands Then $sReturn = _StringAddThousandsSep($sReturn, '.', ',')
    Return $sReturn & $aSize[$iFormat - 1]
    EndFunc ;==>_ByteAutoSize

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _StringAddThousandsSep
    ; Description ...: Returns the original numbered string with the Thousands delimiter inserted.
    ; Syntax.........: _StringAddThousandsSep($sString[, $sThousands = -1[, $sDecimal = -1]])
    ; Parameters ....: $sString - The string to be converted.
    ; $sThousands - Optional: The Thousands delimiter
    ; $sDecimal - Optional: The decimal delimiter
    ; Return values .: Success - The string with Thousands delimiter added.
    ; Author ........: SmOke_N (orignal _StringAddComma
    ; Modified.......: Valik (complete re-write, new function name)
    ; ===============================================================================================================================
    Func _StringAddThousandsSep($sString, $sThousands = -1, $sDecimal = -1)
    Local $sResult = "" ; Force string
    Local $rKey = "HKCU\Control Panel\International"
    If $sDecimal = -1 Then $sDecimal = RegRead($rKey, "sDecimal")
    If $sThousands = -1 Then $sThousands = RegRead($rKey, "sThousand")
    Local $aNumber = StringRegExp($sString, "(\D?\d+)\D?(\d*)", 1) ; This one works for negatives.
    If UBound($aNumber) = 2 Then
    Local $sLeft = $aNumber[0]
    While StringLen($sLeft)
    $sResult = $sThousands & StringRight($sLeft, 3) & $sResult
    $sLeft = StringTrimRight($sLeft, 3)
    WEnd
    $sResult = StringTrimLeft($sResult, StringLen($sThousands)) ; Strip leading thousands separator
    If $aNumber[1] <> "" Then $sResult &= $sDecimal & $aNumber[1]
    EndIf
    Return $sResult
    EndFunc ;==>_StringAddThousandsSep

    [/autoit]
  • maximierte GUI überlappt Taskleiste

    • Oscar
    • 8. November 2012 um 19:03

    Der "Fehler" tritt auf, weil Du $WS_MAXIMIZEBOX vergessen hast.
    So geht es einwandfrei:

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Global $hGui = GUICreate("Test", @DesktopWidth, @DesktopHeight, 0, 0, BitOR($WS_CAPTION, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SYSMENU, $WS_MAXIMIZE), $WS_EX_COMPOSITED)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • FileOpenDialog maximiert darstellen

    • Oscar
    • 7. November 2012 um 07:58

    Für solche Zwecke kann man die Timer-UDF "missbrauchen". :D

    Spoiler anzeigen
    [autoit]


    #include <Timers.au3>
    $hGui = GUICreate('Test')
    $_Folder = @ScriptDir
    $_Extension = "*.icl;*.ico"
    $_Message = "Bitte wählen Sie eine ICL- Icon- Exe- oder DLL- Datei:"

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

    _Timer_SetTimer($hGui, 200, "_MoveDialogBox")

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

    $_Var = FileOpenDialog($_Message, $_Folder, "\Images (" & $_Extension & ")", 1 + 0)

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

    Func _MoveDialogBox($hWnd, $Msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    If Not WinExists($_Message) Then Return
    WinMove($_Message, '', 50, 50, 800, 480)
    _Timer_KillAllTimers($hGui)
    EndFunc

    [/autoit]


    Funktioniert problemlos unter Win7 und mit der 3.3.8.1.

  • Kfz-Kennzeichen

    • Oscar
    • 18. Oktober 2012 um 10:51

    Es gibt eine neue Version (siehe Post #1).
    Alle drei Teile sind jetzt veränderbar und es gibt eine Screenshotfunktion des Kennzeichens.

  • Spalten eines Arrays löschen

    • Oscar
    • 18. Oktober 2012 um 08:16

    Ok, bei einem mehrdimensionalen Array geht das so nicht. :D
    Aber in seinem Beispiel oben hat $a_task nur eine Dimension, deshalb...

  • Spalten eines Arrays löschen

    • Oscar
    • 18. Oktober 2012 um 04:57

    Es gibt auch noch die Möglichkeit alles, was man nicht braucht, ans Ende des Arrays zu verschieben und am Schluß ein ReDim zu machen. Hier ein Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    Global $array[8] = ['a4', 'b5', 'c7', 'd5', 'e6', 'f5', 'g5', 'h6']
    Global $iEnd = UBound($array) - 1, $i = 0
    Do
    If StringInStr($array[$i], '5') Then ; alle Einträge mit einer '5' sollen raus.
    _Switch($array, $i, $iEnd)
    $iEnd -= 1
    Else
    $i += 1
    EndIf
    Until $i > $iEnd
    ReDim $array[$iEnd + 1]
    _ArrayDisplay($array)

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

    Func _Switch(ByRef $array, $i, $j)
    Local $sTmp
    $sTmp = $array[$i]
    $array[$i] = $array[$j]
    $array[$j] = $sTmp
    EndFunc ;==>_Switch

    [/autoit]
  • Kfz-Kennzeichen

    • Oscar
    • 12. Oktober 2012 um 07:28

    Bei BD und BW kommen die Zahlen ja an der nächsten Stelle, also getrennt von den Buchstaben. Die Kennzeichen sehen auch ganz anders aus (Gestaltung). Das wird mit der Eingabe blöd.
    Ich denke, das lasse ich lieber bei den Buchstaben-Kürzeln. Die Landeskennungen (ohne Zahlen) habe ich jetzt mit aufgenommen, sowie die 0 und 1 für Bundespräsident und Co. ^^
    Für Stade gibt es STD, nicht SD. Das SD wurde nie eingeführt (siehe hier).
    Das ST habe ich auch noch verbessert. Das steht ja mittlerweile für Steinfurt.
    Hat noch jemand Verbesserungen, bevor ich die neue Version uploade?

  • Kfz-Kennzeichen

    • Oscar
    • 11. Oktober 2012 um 21:10

    Welche gibt es denn noch?
    Ich erweitere das gern noch. :)

  • Kfz-Kennzeichen

    • Oscar
    • 11. Oktober 2012 um 16:55
    Zitat von stayawayknight

    Ich hätte da gleich mal was: LEO für Leonberg gibt es (momentan) nicht mehr; die Leonberger fahren gerade mit einem Böblinger Kennzeichen herum


    Ja, diese "alten" Kennzeichen sind in dem Programm mit enthalten. Das sehe ich aber nicht unbedingt als Fehler an.
    Hier in Hannover gab es z.B. auch das BU für Burgdorf. Die Burgdorfer fahren aber auch schon seit Jahren mit einem H im Kennzeichen (Nein, nicht das Oldtimer-Kennzeichen :D).
    Fehler wären jetzt z.B. wenn bei Eingabe von BB Buddelbeck oder so rauskommen würde. ^^

  • Listview und @CRLF...Win7=Ja WinXp=Nein

    • Oscar
    • 10. Oktober 2012 um 21:46

    Ok, wenn die Höhe der Zeile es zuläßt, dann wird der Zeilenumbruch beachtet. Das kann in manchen Situationen als Workaround hilfreich sein, aber wenn das erst ab Win7 (Vista?) funktioniert... :S

  • Listview und @CRLF...Win7=Ja WinXp=Nein

    • Oscar
    • 10. Oktober 2012 um 21:27

    Das Verhalten dürfte auch darauf zurückzuführen sein, dass Win7 einen Zwangsumbruch bei zu langen Einträgen macht. Was aber auch nur passiert, wenn Du ein Bild mit entsprechender Größe eingefügt hast.
    Erzwingen kann man den Umbruch nicht. Siehe hier:

    Spoiler anzeigen
    [autoit]


    #include <Date.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>

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

    GUICreate("Test", 640, 120, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZE, $WS_MAXIMIZEBOX))
    GUISetState(@SW_SHOW)
    $ListView1 = GUICtrlCreateListView("Titel|Preis|Ort|Datum", 18, 27, 718, 590, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
    _GUICtrlListView_SetExtendedListViewStyle($ListView1, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 396)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 80)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 130)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 90)
    GUICtrlCreateListViewItem('ewrifgerwjewrsi|64€|regjfrei|rgrekmlmer', $ListView1)
    GUISetState()
    _GUICtrlListView_SetItem($ListView1, _Now() & @CRLF & 'Test', 0, 3);date
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]
  • Listview und @CRLF...Win7=Ja WinXp=Nein

    • Oscar
    • 10. Oktober 2012 um 21:01

    Hast Du mal ein Beispiel, wo das so sein soll?
    Bei mir (Win7, 64 Bit) wird kein Zeilenumbruch angezeigt.

  • Vollbild

    • Oscar
    • 10. Oktober 2012 um 20:50

    Die -1 sind bei AutoIt gleich dem Default-Wert. Spielt hier aber keine Rolle. Du kannst auch irgendeinen Wert für die Größe eintragen.
    Entscheidend ist der Style.

  • Gui_Event_Close mit mehreren GUIs

    • Oscar
    • 10. Oktober 2012 um 20:42

    Schau Dir mal in der Hilfe den Default-Style an:

    Zitat

    default ( -1) : $ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL


    Wenn Du nun keine horizontale Scrollleiste haben möchtest, dann musst Du den Style entsprechend ohne $WS_HSCOLL setzen.
    Zum Beispiel nur: $ES_AUTOVSCROLL + $WS_VSCROLL wie im Scriptbeispiel zu GUICtrlCreateEdit.

  • Vollbild

    • Oscar
    • 10. Oktober 2012 um 18:44

    So:

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    GUICreate("Test", -1, -1, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZE, $WS_MAXIMIZEBOX))
    GUISetState(@SW_SHOW)
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]
  • Kfz-Kennzeichen

    • Oscar
    • 10. Oktober 2012 um 17:17

    Oha! Mit soviel Resonanz habe ich jetzt gar nicht gerechnet. ^^
    Eigentlich war das mehr so als kleines Tool gedacht, um mal schnell nachschauen zu können, woher der ein oder andere Autofahrer kommt.
    An eine Halter-Datenbank habe ich nun gar nicht gedacht. Und das da jetzt eine Reform ansteht, bei der dann die alten Kennzeichen wieder eingeführt werden (können), habe ich gar nicht mitbekommen. :S
    Ich habe aber auch die eigentlich schon ausgelaufenen Kennzeichen mit aufgenommen. Waren bei Wikipedia enthalten. Ob das jetzt vollständig ist, kann ich nicht sagen. Wer etwas entdeckt, was offensichtlich falsch ist, der kann das ja hier schreiben. :)

  • Kfz-Kennzeichen

    • Oscar
    • 10. Oktober 2012 um 04:11

    Version: 1.1 (18.10.2012)

    Beschreibung:
    Dieses Programm gibt bei Eingabe des deutschen Kfz-Kennzeichen den dazugehörigen Ort, Kreis oder Landkreis aus.

    Screenshot:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Neu in Version 1.1:
    - Das Kennzeichen ist etwas breiter geworden.
    - Man kann jetzt auch den zweiten und dritten Teil bearbeiten (hat aber keine Auswirkungen, ist nur zum spielen). :D
    - Es gibt eine Screenshotfunktion, mit der man das Kennzeichen als JPG-Datei speichern kann.
    - Ein paar kleine Fehler beseitigt.

    Vielen Dank an eukalyptus für die UDF "MemFont.au3"! :thumbup:
    So konnte ich den Kfz-Kennzeichen-Font mit im Script integrieren.
    Vielen Dank auch an funkey für die Funktion "_PlayDefaultSystemSound()".

    Das Script, die Exe und die benötigten Dateien (Bild, Icon, MemFont.au3) befinden sich im ZIP-Archiv (Anhang).

    Dateien

    Kfz-Kennzeichen.png 42,79 kB – 0 Downloads Kfz-Kennzeichen_v11.zip 477,39 kB – 515 Downloads
  • Gewünschte Passagen aus Text-File löschen

    • Oscar
    • 26. September 2012 um 06:47

    Wozu dann die Tempdatei?
    Man kann doch gleich die vorhandene Datei mit den neuen Daten überschreiben. :)

  • Fenster verschieben, Script nicht pausieren

    • Oscar
    • 24. September 2012 um 19:53

    Bist Du irgendwie mit Zattoo verwandt? :rolleyes:
    Wo ist das Script? Wie soll man euch helfen können, wenn man immer nur raten soll? [Kopf schüttel...]

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™