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

  • FileDownloader

    • Oscar
    • 7. März 2009 um 17:15

    Ich hatte gerade Lust irgendwas zu programmieren und dabei ist dann ein FileDownloader rausgekommen.
    Man kann das Programm aus einer Download-Liste (Combobox) auswählen, das Zielverzeichnis angeben, es gibt eine Fortschrittsanzeige und man kann den laufenden Download abbrechen.
    Während des Downloads gibt's dann noch diese "fliegende Zettel"-Animation (siehe Screenshot).

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

    Vielleicht kann es ja jemand gebrauchen...

  • RunWait will nix machen

    • Oscar
    • 7. März 2009 um 15:39

    Oh, na klar! Damit dürfte es klappen. :rolleyes:

  • RunWait will nix machen

    • Oscar
    • 7. März 2009 um 15:35

    Dann weiß ich auch nicht mehr weiter. :S
    Die Exe vorher umbenennen? :D

  • Child-GUI in Taskbar nicht sichtbar. zB $WS_CLIPCHILDREN ohne Task in taskbar.

    • Oscar
    • 7. März 2009 um 09:33

    Es reicht doch aus, beim Parent-Parameter das Handle vom Main-Gui einzutragen und schon wird das Child-Fenster nicht in der Taskleiste angezeigt.

    [autoit]


    $hMainGui = GUICreate('Main', 320, 240)
    GUISetState()
    $hChildGui = GUICreate('Child', 240, 100, -1, -1, Default, Default, $hMainGui)
    GUISetState()

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

    Do
    Until GUIGetMsg() = -3

    [/autoit]
  • RunWait will nix machen

    • Oscar
    • 7. März 2009 um 08:50

    Das sollte eher so aussehen:

    [autoit]


    $b = RunWait(@ComSpec & ' /c ' & '7z.exe a -r -t7z -ssc -mmt=4 -x!*.exe "C:\Dokumente und Einstellungen\anno\Desktop\7zip\a.7z" "c:\Dokumente und Einstellungen\anno\Desktop\7zip\b"', "C:\programme\7-Zip\", @SW_HIDE)

    [/autoit]
  • Bild als Programmhintergrund...

    • Oscar
    • 7. März 2009 um 00:13

    Das behebt den Fehler des "einige felder verschwinden teilweise".

    Die grauen Kästen kannst Du bei Label mit:

    Zitat

    To set the background to transparent, use GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT).


    beheben.
    Bei Checkboxen funktioniert das so nicht. Die musst Du aufteilen in eine leere Checkbox und ein Label mit dem Textinhalt. Dann kannst Du die auch transparent machen.

  • RunWait will nix machen

    • Oscar
    • 7. März 2009 um 00:07

    Also mal der Reihe nach:
    Script:

    [autoit]


    If $CmdLine[0] = 0 Then Exit
    RunWait(@ComSpec & ' /c "' & $CmdLine[1] & '"', @ScriptDir, @SW_HIDE)

    [/autoit]


    Das compiliert als "cmdline.exe"
    Aufruf in DOS-Box mit: cmdline.exe notepad.exe
    funktioniert bei mir einwandfrei, bis auf @SW_HIDE, aber das hatten wir ja schonmal.

  • RunWait will nix machen

    • Oscar
    • 6. März 2009 um 23:46

    Die $CmdLine-Variablen beeinhalten doch lediglich die Übergabeparameter. Was hast Du denn genau vor bzw. wie rufst Du das Script auf (Parameter)?

    Außerdem fehlt in Deinem Beispiel noch ein einfaches Anführungszeichen vor dem Komma.

  • Bild als Programmhintergrund...

    • Oscar
    • 6. März 2009 um 23:39

    AutoIt hat so eine tolle Hilfedatei. Wieso liest die eigentlich keiner? ;)

    Zitat


    Wird ein Bild als Hintergrundbild genutzt, während die anderen Steuerelemente dieses quasi überlappen, so ist es wichtig, das Bild-Steuerelement zu deaktivieren: GuiCtrlSetState(-1,$GUI_DISABLE). Dies funktioniert aber nicht mit Tab Steuerelementen, die anders arbeiten. In dem Fall muss man das Bild mit dem Stil $WS_CLIPSIBLINGS erstellen, wobei immer noch einige $GUI_ONTOP für die Tab Steuerelemente notwendig sein können.

  • Fragen zu AutoIt

    • Oscar
    • 6. März 2009 um 23:35

    Nur um das richtigzustellen: Damit meine ich nicht mich.
    Für mich ist AutoIt "nur" ein Hobby. :)

  • _SQLite_QuerySingleRow seltsames Verhalten

    • Oscar
    • 6. März 2009 um 23:20
    Zitat von AutoBert

    Oscar der TreeView mit 3 Zuständen ist noch nicht drin.

    Wie? Was? Wo drin?

  • Fragen zu AutoIt

    • Oscar
    • 6. März 2009 um 23:16
    Zitat von Ashpool

    Aber im Ernst, sollte man dieses Tool hier unterstützen? Schließlich lebt das Forum ja von den Sourcen der User.

    Was das posten von Programmen hier im Forum angeht, bin ich nach wie vor der Meinung, dass man das Script (ohne es vorher durch den Obfuscator zu jagen) hier ebenfalls posten sollte.
    Für mich ergibt das Forum nur so einen Sinn, weshalb es zu meinen Programmen auch immer das Script dazu gibt.

    Aber generell ist ein guter Obfuscator durchaus sinnvoll, denn das hebt AutoIt auf eine professionellere "Schiene". Wenn man sein Geld damit verdienen will/muss, dann möchte man sein Werk ja auch schützen.

  • Fragen zu AutoIt

    • Oscar
    • 6. März 2009 um 22:16

    Nein, der Obfuscator soll nicht das dekompilieren verhindern.
    Er soll nur das Lesen des Quelltextes erschweren und das macht er in der aktuellen Version IMHO auch recht gut.

  • Benutzername und Kennwort

    • Oscar
    • 6. März 2009 um 20:10

    Dort wo

    [autoit]

    ; Ende Beispiel

    [/autoit]


    steht, fügst Du Dein Script ein. Die MsgBoxen kannst Du ja wegmachen. Habe ich nur zur Verdeutlichung gemacht. Das Array oben musst Du entsprechend anpassen.

  • Benutzername und Kennwort

    • Oscar
    • 6. März 2009 um 19:20

    Hab das Beispiel mal angepasst:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GuiComboBoxEx.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiImageList.au3>
    #include <WindowsConstants.au3>

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

    ; Anfang Beispiel
    Global $aCorrect[5][2] = [['abcd', '123'],['efgh', '456'],['ijkl', '789'],['mnop', '012'],['qrst', '345']] ; Array mit den korrekten Daten

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

    ; Mögliche Werte für die Sprache: 'Dansk|Deutsch|English|Français'
    Global $aInput = _LogInBox('Test', 3, 'Deutsch', False); Fenstertitel = "Test", Passwort = min. 3 Zeichen, Sprache = Deutsch

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

    If @error Then Exit
    $iLoginID = -1
    For $i = 0 To UBound($aCorrect) - 1
    If $aInput[0] == $aCorrect[$i][0] And $aInput[1] == $aCorrect[$i][1] Then ; "==" Groß-/Kleinschreibung beachten!
    MsgBox(0, 'Test', 'Benutzername und Passwort sind richtig!')
    $iLoginID = $i
    ExitLoop
    EndIf
    Next
    If $iLoginID = -1 Then Exit MsgBox(0, 'Test', 'Benutzername und/oder Passwort falsch!')
    MsgBox(0, 'Test', 'Benutzer "' & $aCorrect[$iLoginID][0] & '" hat sich angemeldet!')
    ; Ende Beispiel

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

    #cs
    ======================================================================================================================
    Function Name: _LogInBox($sTitle [, $iMinLen [,$sStartLang [, $bPassVisible=True [, $iXPos=-1 [, $iYPos=-1]]]]])
    Description: Eingabefenster für Benutzername und Passwort
    Parameter(s): $sTitle = Fenstertitel
    optional: $iMinLen = Mindestlänge des Passworts (Standard = keine Mindestlänge)
    optional: $sStartLang = die Sprache auswählen (Standard = Deutsch)
    optional: $bPassVisible = True/False = Passwort sichtbar anzeigen Ja/Nein (Standard = Ja)
    optional: $iXPos = Horizontale Position des Fensters (Standard = zentriert)
    optional: $iYPos = Vertikale Position des Fensters (Standard = zentriert)
    Return Value(s): Array mit 2 Elementen (Benutzername und Passwort)
    Bei "Abbrechen" oder "Schließen" wird @error = 1
    Required: #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiComboBoxEx.au3>
    #include <GuiImageList.au3>
    #include <WindowsConstants.au3>
    Author(s): Oscar (http://www.autoit.de)
    ======================================================================================================================
    #ce
    Func _LogInBox($sTitle, $iMinLen = 0, $sStartLang = 'Deutsch', $bPassVisible = True, $iXPos = -1, $iYPos = -1)
    If $iMinLen < 0 Or $iMinLen = Default Then $iMinLen = 0
    If $sStartLang = -1 Or $sStartLang = Default Then $sStartLang = 'Deutsch'
    If $bPassVisible = -1 Or $bPassVisible = 'Default' Then $bPassVisible = True
    If $iXPos < 0 Or $iXPos = Default Or $iXPos > @DesktopWidth Then $iXPos = -1
    If $iYPos < 0 Or $iYPos = Default Or $iXPos > @DesktopHeight Then $iYPos = -1
    Local $hGui, $hUserLabel, $hUser, $hPass, $hCheck, $hLanguage, $hCancel, $hOk
    Local $iOpt, $sStyle, $sTmp, $aLanguage, $iLanguage, $hImage
    Local $iErr, $sFont = 'Arial', $aOut[2]
    Local $iBGColorInner = 0xBBBBBB, $iBGColorOuter = 0xEEEEEE
    Local $sIconsPath = @ScriptDir & '\icons.icl'
    Local $sLang = 'Dansk|Deutsch|English|Français'
    Local $aTranslation[4][7] = [ _
    ['Brugernavn:' & @CRLF & '(påkrævet)', _ ; Dänisch
    'Password:', _
    @CRLF & '(mindst ' & $iMinLen & ' tegn)', _
    '&Password synlige', _
    'Abonner...', _
    'Annuller', ''], _
    ['Benutzername:' & @CRLF & '(erforderlich)', _ ; Deutsch
    'Passwort:', _
    @CRLF & '(min. ' & $iMinLen & ' Zeichen)', _
    '&Passwort sichtbar', _
    'Anmelden...', _
    'Abbrechen', ''], _
    ['Username:' & @CRLF & '(needed)', _ ; Englisch
    'Password:', _
    @CRLF & '(min. ' & $iMinLen & ' Chars)', _
    '&Password visible', _
    'Log in...', _
    'Cancel', ''], _
    ['Nom:' & @CRLF & '(nécessaire)', _ ; Französisch
    'mot de passe:', _
    @CRLF & '(min. ' & $iMinLen & ' lettre)', _
    '&mot de passe visible', _
    'déclarer...', _
    'Annuler', '']]
    $aLanguage = StringSplit($sLang, '|')
    For $i = 1 To $aLanguage[0]
    If $sStartLang = $aLanguage[$i] Then $iLanguage = $i - 1
    Next
    $iOpt = Opt('GUIOnEventMode', 0)
    $hGui = GUICreate($sTitle, 343, 200, $iXPos, $iYPos, BitOR($WS_SYSMENU, $WS_VISIBLE))
    GUISetIcon(@SystemDir & '\shell32.dll', -212)
    GUISetBkColor($iBGColorOuter)
    GUICtrlCreateLabel('', 5, 5, 325, 120, -1, $WS_EX_CLIENTEDGE)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetBkColor(-1, $iBGColorInner)
    $hUserLabel = GUICtrlCreateLabel($aTranslation[$iLanguage][0], 12, 17, 90, 35)
    GUICtrlSetFont(-1, 9, 400, 0, $sFont)
    GUICtrlSetBkColor(-1, $iBGColorInner)
    $hUser = GUICtrlCreateInput('', 115, 20, 205, 25)
    GUICtrlSetFont(-1, 10, 400, 0, $sFont)
    If $iMinLen > 0 Then
    $aTranslation[$iLanguage][6] = $aTranslation[$iLanguage][1] & $aTranslation[$iLanguage][2]
    Else
    $aTranslation[$iLanguage][6] = $aTranslation[$iLanguage][1]
    EndIf
    $hPassLabel = GUICtrlCreateLabel($aTranslation[$iLanguage][6], 12, 63 + ($iMinLen = 0) * 6, 100, 35)
    GUICtrlSetFont(-1, 9, 400, 0, $sFont)
    GUICtrlSetBkColor(-1, $iBGColorInner)
    $hPass = GUICtrlCreateInput('', 115, 65, 205, 25)
    GUICtrlSetFont(-1, 10, 400, 0, $sFont)
    GUICtrlSendMsg($hPass, $EM_SETPASSWORDCHAR, Not $bPassVisible * Asc('*'), 0)
    $hCheck = GUICtrlCreateCheckbox($aTranslation[$iLanguage][3], 120, 92, 200, 25)
    GUICtrlSetFont(-1, 9, 400, 0, $sFont)
    GUICtrlSetBkColor(-1, $iBGColorInner)
    If $bPassVisible Then GUICtrlSetState(-1, $GUI_CHECKED)
    $hLanguage = _GUICtrlComboBoxEx_Create($hGui, '', 10, 135, 110, 140, $CBS_DROPDOWNLIST)
    If FileExists($sIconsPath) Then
    $hImage = _GUIImageList_Create(32, 20, 5, 4, 4)
    _GUIImageList_AddIcon($hImage, $sIconsPath, 0, True)
    _GUIImageList_AddIcon($hImage, $sIconsPath, 1, True)
    _GUIImageList_AddIcon($hImage, $sIconsPath, 2, True)
    _GUIImageList_AddIcon($hImage, $sIconsPath, 3, True)
    _GUICtrlComboBoxEx_SetImageList($hLanguage, $hImage)
    EndIf
    _GUICtrlComboBoxEx_SetItemHeight($hLanguage, 0, 25)
    For $i = 1 To $aLanguage[0]
    _GUICtrlComboBoxEx_AddString($hLanguage, $aLanguage[$i], $i-1, $i-1)
    Next
    _GUICtrlComboBoxEx_SetCurSel($hLanguage, $iLanguage)
    $hCancel = GUICtrlCreateButton($aTranslation[$iLanguage][5], 250, 135, 80, 25)
    GUICtrlSetFont(-1, 9, 400, 0, $sFont)
    $hOk = GUICtrlCreateButton($aTranslation[$iLanguage][4], 160, 135, 80, 25, $BS_DEFPUSHBUTTON)
    GUICtrlSetFont(-1, 9, 400, 0, $sFont)
    GUICtrlSetState(-1, $GUI_DISABLE)
    WinSetOnTop($hGui, '', 1)
    GUICtrlSetState($hUser, $GUI_FOCUS)
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE, $hCancel
    $iErr = 1
    ExitLoop
    Case $hCheck
    GUICtrlSendMsg($hPass, $EM_SETPASSWORDCHAR, Not BitAND(GUICtrlRead($hCheck), $GUI_CHECKED) * Asc('*'), 0)
    GUICtrlSetState($hPass, $GUI_FOCUS)
    Case $hOk
    $aOut[0] = GUICtrlRead($hUser)
    $aOut[1] = GUICtrlRead($hPass)
    ExitLoop
    EndSwitch
    If Not _GUICtrlComboBoxEx_GetDroppedState($hLanguage) Then
    If _GUICtrlComboBoxEx_GetCurSel($hLanguage) <> $iLanguage Then
    $iLanguage = _GUICtrlComboBoxEx_GetCurSel($hLanguage)
    If $iMinLen > 0 Then
    $aTranslation[$iLanguage][6] = $aTranslation[$iLanguage][1] & $aTranslation[$iLanguage][2]
    Else
    $aTranslation[$iLanguage][6] = $aTranslation[$iLanguage][1]
    EndIf
    GUICtrlSetData($hUserLabel, $aTranslation[$iLanguage][0])
    GUICtrlSetData($hPassLabel, $aTranslation[$iLanguage][6])
    GUICtrlSetData($hCheck, $aTranslation[$iLanguage][3])
    GUICtrlSetData($hCancel, $aTranslation[$iLanguage][5])
    GUICtrlSetData($hOk, $aTranslation[$iLanguage][4])
    GUICtrlSetState($hUser, $GUI_FOCUS)
    EndIf
    EndIf
    If GUICtrlRead($hUser) <> '' And StringLen(GUICtrlRead($hPass)) >= $iMinLen Then
    If BitAND(GUICtrlGetState($hOk), $GUI_DISABLE) Then GUICtrlSetState($hOk, $GUI_ENABLE)
    Else
    If BitAND(GUICtrlGetState($hOk), $GUI_ENABLE) Then GUICtrlSetState($hOk, $GUI_DISABLE)
    EndIf
    WEnd
    Opt('GUIOnEventMode', $iOpt)
    GUIDelete($hGui)
    Return SetError($iErr, 0, $aOut)
    EndFunc ;==>_LogInBox

    [/autoit]
  • Bei einem Pic den Aktuellen namen des Bildes Herausbekommen

    • Oscar
    • 6. März 2009 um 16:58

    Poste mal ein Beispiel. Ich glaube, niemand hier kann Dir folgen. :rolleyes:

  • Schlafen bis...

    • Oscar
    • 6. März 2009 um 16:55

    Stichwörter:
    - @HOUR
    - @MIN
    - GUICtrlRead
    - zwei Strings vergleichen
    - While...WEnd-Schleife

    Sleep würde ich weglassen, weil das Script dann nichts mehr nebenbei machen kann. Es sei denn, Du willst genau das?!

  • FileRenamer

    • Oscar
    • 6. März 2009 um 16:47

    Es gibt eine neue Version (siehe Post #1), in der ich ein paar Bugs beseitigt habe.

  • Kurze Frage zu nem Prog.

    • Oscar
    • 6. März 2009 um 16:40

    Ähem...schau mal hier: _MultiFileCopy

  • Mausklick auf letzten aktuellen Task (kann gelöscht werden)

    • Oscar
    • 6. März 2009 um 04:01

    Und der Befehl ('title' und 'text' entsprechend anpassen)

    [autoit]

    WinSetState('title', 'text', @SW_RESTORE)

    [/autoit]


    funktioniert dort nicht?
    Was ist das denn für ein Programm?

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™