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

  • WaitForImageSearch "extern" aufrufen erfolglos

    • Oscar
    • 16. September 2013 um 11:04

    Ohne Dein Script wird Dir sicher niemand weiterhelfen können. :huh:

  • [PROJEKT] Automatisierter Download und Verarbeitung von Audiodateien

    • Oscar
    • 13. September 2013 um 20:03

    Dein Hintergrundbild überdeckt alle Control-Elemente. Du musst dieses disablen:

    [autoit]

    GuiCtrlSetState(-1,$GUI_DISABLE)

    [/autoit]


    unter die Zeile 56.
    Außerdem würde ich Dir raten für die Inidatei eine Variable anzulegen, statt jedes Mal (@ScriptDir & "\data\config.ini") zu schreiben.
    Also:

    [autoit]

    Global $sInifile = @ScriptDir & "\data\config.ini"

    [/autoit]


    und dann:

    [autoit]

    $Version = IniRead($sInifile, "Program-Info", "Version", "default")

    [/autoit]


    das hat den Vorteil, dass Du bei einer späteren Änderung nur an einer Stelle die Änderung vornehmen musst.

  • Variablen auslesen / MsgBox bei Erfolg bzw. Problem anzeigen

    • Oscar
    • 13. September 2013 um 19:53

    Oder man benutzt ExpandVarStrings:

    [autoit]


    Opt('ExpandVarStrings', 1)
    $vpnconnectusername = 'USERNAME'
    $vpnconnectpassword = '123456'
    ConsoleWrite('$vpnconnectusername$ $vpnconnectpassword$' & @CR)

    [/autoit]


    Dann muss am Ende des Variablennamens aber noch ein Dollarzeichen stehen.

  • Listview

    • Oscar
    • 12. September 2013 um 17:42

    Warum eigentlich eine Inidatei?
    Es ist so viel einfacher ein Listview direkt in eine Textdatei zu schreiben bzw. daraus zu lesen.
    Aber auch hier fehlt Dein Script.

  • ini Mehrfacheingabe und auslesen

    • Oscar
    • 12. September 2013 um 17:40

    Du hast vergessen Dein Script zu posten... :rolleyes:

  • Beitrag ohne Vorherige Klarstellung geschossen - warum?

    • Oscar
    • 11. September 2013 um 16:50

    Wenn hier als Beispiel ebay verwendet wird und daraufhin entsprechende Tips (Scripte) gepostet werden, dann ist genau dieser Anwendungsfall gegen die AGB von ebay und somit gegen unsere Forenregeln. Ganz egal, ob es dann nicht für die ebay-Seite benutzt wird. Es könnte benutzt werden und das reicht schon.
    Ich stimme also hier mit Bugfix überein und ich hätte den Thread auch geschlossen.

  • [IMAP] emails im spam folder abrufen

    • Oscar
    • 11. September 2013 um 16:44

    [verschoben nach Hilfe & Unterstützung]

  • Mac Auslesen und Rechnername anpassen

    • Oscar
    • 9. September 2013 um 05:24

    alpines: Das stimmt schon, aber der Weg, den er eingeschlagen hat ist sowas von umständlich und fehleranfällig, dass man ihn schon auf bessere Wege hinweisen muss. :)

  • Mac Auslesen und Rechnername anpassen

    • Oscar
    • 8. September 2013 um 14:06

    Hier mal eine alternative MAC-Abfrage:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    $aMAC = _GetMACAddress()
    _ArrayDisplay($aMAC)

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

    Func _GetMACAddress()
    Local $sMAC = ''
    Local Const $wbemFlagReturnImmediately = 0x10, $wbemFlagForwardOnly = 0x20
    Local $objWMIService = ObjGet('winmgmts:\\localhost\')
    Local $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionStatus=2', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $sMAC &= $objItem.MACAddress & @CR
    Next
    $sMAC = StringTrimRight($sMAC, 1)
    Return SetError(0, 0, StringSplit($sMAC, @CR))
    Else
    Return SetError(1, 0, 0)
    EndIf
    EndFunc ;==>_GetMACAddress

    [/autoit]
  • Datei laden und speichern (verschlüsseln)

    • Oscar
    • 4. September 2013 um 17:45

    Wenn Du die Funktion "_FileCryptSave" zum speichern verwendest, dann liegt die Textdatei doch verschlüsselt vor.
    Und mit "_FileCryptRead" lädst Du die Datei in Dein Script. Wenn Du das richtige (beim speichern benutzte) Passwort übergibst, dann erhälst Du die Datei als entschlüsselten String. Ist doch ganz simpel. :)

  • Datei laden und speichern (verschlüsseln)

    • Oscar
    • 3. September 2013 um 17:08

    Eine einfache XOR-Verschlüsselung reicht in den meisten Fällen auch aus. Hier mal meine Variante mit Speicher- und Ladefunktion:

    Spoiler anzeigen
    [autoit]


    $sText = FileRead(@ScriptDir & '\!cryptfile.txt') ; Beispieltext zum verschlüsseln

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

    $sPass = 'kEqW1bJkhpJ73x01k3039uN1jh7pzKpHMZsXeqp6bGWGLZWeuV2ZJh6883OJ3hI7' ; Passwort zum verschlüsseln
    $sFilename = @ScriptDir & '\!cryptfile.cr' ; Pfad + Dateiname für die verschlüsselte Datei

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

    _FileCryptSave($sText, $sPass, $sFilename) ; Text verschlüsseln und abspeichern

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

    $sPass = 'abcdefgh' ; Passwort zum entschlüsseln (hier extra falsch eingegeben, um zu zeigen, dass dann der Text nicht richtig entschlüsselt wird)
    $sFilename = @ScriptDir & '\!cryptfile.cr' ; Pfad + Dateiname für die zu entschlüsselnde Datei

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

    MsgBox(0, 'Falsches Passwort:', _FileCryptRead($sPass, $sFilename)) ; Datei laden, entschlüsseln und anzeigen

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

    $sPass = 'kEqW1bJkhpJ73x01k3039uN1jh7pzKpHMZsXeqp6bGWGLZWeuV2ZJh6883OJ3hI7' ; Passwort zum entschlüsseln (jetzt mit richtigem Passwort)
    $sFilename = @ScriptDir & '\!cryptfile.cr' ; Pfad + Dateiname für die zu entschlüsselnde Datei

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

    MsgBox(0, 'Richtiges Passwort:', _FileCryptRead($sPass, $sFilename)) ; Datei laden, entschlüsseln und anzeigen

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

    Func _FileCryptSave($sText, $sPass, $sFile)
    Local $hFile = FileOpen($sFile, 2 + 8)
    If $hFile = -1 Then Return SetError(1, 0, 0)
    FileWrite($hFile, StringToBinary(_StringEncryptXOR($sText, $sPass)))
    FileClose($hFile)
    EndFunc ;==>_FileCryptSave

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

    Func _FileCryptRead($sPass, $sFile)
    Local $hFile = FileOpen($sFile, 0), $sOut
    If $hFile = -1 Then Return SetError(1, 0, 0)
    $sOut = _StringEncryptXOR(FileRead($hFile), $sPass)
    FileClose($hFile)
    Return $sOut
    EndFunc ;==>_FileCryptRead

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

    Func _StringEncryptXOR($sText, $sPass)
    If $sPass = '' Or $sText = '' Then Return SetError(1, 0, 0)
    Local $iTextChar, $iPos, $iPassChar, $iLen = StringLen($sPass)
    For $i = 1 To StringLen($sText)
    $iTextChar = Asc(StringMid($sText, $i, 1))
    $iPos = Mod($i - 1, $iLen) + 1
    $iPassChar = Asc(StringMid($sPass, $iPos, 1))
    $sText = StringReplace($sText, $i, Chr(BitXOR($iTextChar, $iPassChar)), 1)
    Next
    Return $sText
    EndFunc ;==>_StringEncryptXOR

    [/autoit]
  • Anfangszelle einer Verbundenen Zelle aus excel mit autoit auslesen um an den Text ran zu kommen

    • Oscar
    • 3. September 2013 um 16:57

    Es wäre hilfreich, wenn Du eine Test-Excel-Datei posten würdest. :whistling:

  • Liste die den nächsten Monat mit Tagesangabe darstellt.

    • Oscar
    • 2. September 2013 um 15:27

    Hmm...bei mir wird das aber korrekt dargestellt:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Woran soll denn das sonst liegen? :S

    Dateien

    Calendar.png 24,52 kB – 0 Downloads
  • Liste die den nächsten Monat mit Tagesangabe darstellt.

    • Oscar
    • 2. September 2013 um 15:08

    Das ist bei mir (Win7, 64 Bit / AutoIt 3.3.8.1) nicht so. Welche AutoIt-Version und Windowsversion benutzt Du?

  • Liste die den nächsten Monat mit Tagesangabe darstellt.

    • Oscar
    • 2. September 2013 um 14:53

    Wieso? Das wird doch bei den meisten Kalendern so dargestellt, dass das dann die 1. Woche des Folgejahres ist.

  • Liste die den nächsten Monat mit Tagesangabe darstellt.

    • Oscar
    • 2. September 2013 um 14:44

    Hier mal ein einfaches Kalenderprogramm:

    Spoiler anzeigen
    [autoit]


    #include <ComboConstants.au3>
    #include <Date.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>

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

    Global $sMonthNames = 'Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember'
    Global $aMonthNames = StringSplit($sMonthNames, '|')
    Global $aWeekDays = StringSplit('Mo,Di,Mi,Do,Fr,Sa,So', ',')
    Global $aIDDays[42]
    Global $aIDWeekNr[6]
    $hGui = GUICreate('Kalender', 640, 300)
    $idMonth = GUICtrlCreateCombo('', 10, 28, 150, 32, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, $sMonthNames, $aMonthNames[@MON])
    GUICtrlSetFont(-1, 12, 600, 0, 'Tahoma', 4)
    For $i = 1 To 7
    GUICtrlCreateLabel($aWeekDays[$i], 174 + $i * 40, 28, 32, 22, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 400, 0, 'Arial', 4)
    GUICtrlSetBkColor(-1, 0x4444AA)
    GUICtrlSetColor(-1, 0xFFFFFF)
    Next
    For $i = 0 To 5
    $aIDWeekNr[$i] = GUICtrlCreateLabel('', 160, 68 + $i * 40, 32, 22, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 400, 0, 'Arial', 4)
    GUICtrlSetBkColor(-1, 0x4444AA)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetState(-1, $GUI_HIDE)
    For $j = 0 To 6
    $aIDDays[$i * 7 + $j] = GUICtrlCreateLabel('', 214 + $j * 40, 68 + $i * 40, 32, 22, $SS_CENTER)
    GUICtrlSetFont(-1, 14, 400, 0, 'Arial', 4)
    Next
    Next
    GUISetState()
    _SetCalendar(@YEAR, @MON)

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

    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $idMonth
    $sMonth = GUICtrlRead($idMonth)
    For $i = 1 To $aMonthNames[0]
    If $sMonth = $aMonthNames[$i] Then _SetCalendar(@YEAR, $i)
    Next
    EndSwitch
    WEnd

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

    Func _SetCalendar($iYear, $iMon)
    Local $iDaysInMonth = _DateDaysInMonth($iYear, $iMon), $iDayInMonth = 0
    Local $iDayOfWeek = _DateToDayOfWeekISO($iYear, $iMon, 1)
    For $i = 0 To 5
    GUICtrlSetState($aIDWeekNr[$i], $GUI_HIDE)
    GUICtrlSetData($aIDWeekNr[$i], '')
    Next
    For $i = 0 To 41
    GUICtrlSetData($aIDDays[$i], '')
    Next
    For $i = 0 To 5
    For $j = 0 To 6
    If $iDayOfWeek - 1 <= $i * 7 + $j Then
    $iDayInMonth += 1
    GUICtrlSetState($aIDWeekNr[$i], $GUI_SHOW)
    GUICtrlSetData($aIDWeekNr[$i], _WeekNumberISO($iYear, $iMon, $iDayInMonth))
    GUICtrlSetData($aIDDays[$i * 7 + $j], $iDayInMonth)
    GUICtrlSetColor($aIDDays[$i * 7 + $j], 0x000000)
    EndIf
    If _DateToDayOfWeekISO($iYear, $iMon, $iDayInMonth) = 7 Then
    GUICtrlSetFont($aIDDays[$i * 7 + $j], 14, 800, 0, 'Arial', 4)
    GUICtrlSetColor($aIDDays[$i * 7 + $j], 0xFF2222)
    EndIf
    If $iDayInMonth >= $iDaysInMonth Then ExitLoop 2
    Next
    Next
    EndFunc

    [/autoit]
  • 2D Array - 1D Array

    • Oscar
    • 30. August 2013 um 20:00

    Und falls Du dann noch Hilfe brauchst, dann bitte mit einem Beispiel (wie sieht das Array vorher aus, wie soll es als Ergebnis aussehen).

  • AutoIt.de Logo Wettbewerb

    • Oscar
    • 29. August 2013 um 19:09

    Ich habe auch mal ein Logo erstellt:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    vor dem Header-Hintergrund sieht es dann so aus:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Bilder

    • AutoIt.png
      • 23,33 kB
      • 486 × 60
    • autoit2.png
      • 36,81 kB
      • 539 × 130
  • Tage pro Monat, Datumsangaben und co. allgemeine Fragen.

    • Oscar
    • 29. August 2013 um 17:21

    @YaeroxXO: Wenn schon zu Fuß, dann doch nicht so umständlich. ;)

    [autoit]


    Global $aMonthDay[13] = [12, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    ConsoleWrite('Aktueller Monat: ' & $aMonthDay[@MON] & @CR)

    [/autoit]
  • Zufallsauswahl aus Datei

    • Oscar
    • 29. August 2013 um 17:08

    Vielleicht so:

    Spoiler anzeigen
    [autoit]


    #include <GuiButton.au3>
    #include <EditConstants.au3>
    #include <GUIConstants.au3>
    #include <File.au3>

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

    Global $Form1 = GUICreate('Test', 440, 220, -1, -1)

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

    Global $button = GUICtrlCreateButton('', 400, 0, 40, 40, $BS_ICON)
    _GUICtrlButton_SetImage(-1, "shell32.dll", 135, True)

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

    Global $edit[7]
    $edit[0] = GUICtrlCreateInput('', 115, 20, 60, 18, $ES_CENTER)
    $edit[1] = GUICtrlCreateInput('', 175, 20, 60, 18, $ES_CENTER)
    $edit[2] = GUICtrlCreateInput('', 115, 40, 60, 18, $ES_CENTER)
    $edit[3] = GUICtrlCreateInput('', 175, 40, 60, 18, $ES_CENTER)
    $edit[4] = GUICtrlCreateInput('', 115, 60, 60, 18, $ES_CENTER)
    $edit[5] = GUICtrlCreateInput('', 175, 60, 60, 18, $ES_CENTER)
    $edit[6] = GUICtrlCreateInput('', 115, 80, 60, 18, $ES_CENTER)

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

    GUICtrlCreateLabel('Tisch 1:', 15, 22)
    GUICtrlCreateLabel('Tisch 2:', 15, 42)
    GUICtrlCreateLabel('Tisch 3:', 15, 62)
    GUICtrlCreateLabel('Tisch 4:', 15, 82)

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

    GUISetState()
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    _END()
    Case $button
    _read()
    EndSwitch
    WEnd

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

    Func _read()
    Local $sFilename = @ScriptDir & '\new.txt', $iRandom, $aTable[UBound($edit)]
    For $i = 0 To UBound($aTable) - 1
    GUICtrlSetData($edit[$i], '')
    $aTable[$i] = $i
    Next
    If FileExists($sFilename) Then
    $aGuest = StringSplit(FileRead($sFilename), @CRLF, 3)
    For $i = 0 To UBound($aGuest) - 1
    $iRandom = Random(0, UBound($aTable) - 1 - $i, 1)
    GUICtrlSetData($edit[$aTable[$iRandom]], $aGuest[$i])
    $aTable[$iRandom] = $aTable[UBound($aTable) - 1 - $i]
    Next
    EndIf
    EndFunc ;==>_read

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

    Func _END()
    Exit
    EndFunc ;==>_END

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