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

  • Warum Funkt's mit Notepad, abr nicht mit Wordpad ???

    • BugFix
    • 22. November 2008 um 16:52

    Wo liegt dein Problem? Klappt doch tadellos.

    [autoit]

    Opt("WinTitleMatchMode", 2)
    ShellExecute('wordpad.exe')
    WinWaitActive('WordPad')
    Send('Das ist ein Test')

    [/autoit]
  • Schleifen Problem

    • BugFix
    • 22. November 2008 um 16:38
    Zitat von AutoGhost

    Könntest du das vllt. ncoh einmal erläutern was du meinst Bugfix, also das mit den Labeln, das habe icih noch nciht verstanden.

    OK, hier mal ein Muster, wie sowas geht. Du definierst nur einmal die GUI und wechselst nur die Bezeichnungen aus. In Abhängigkeit der gewählten "Version", die du lädst, wertest du die Einträge aus den Inputs, Buttons etc. aus.

    Spoiler anzeigen
    [autoit]

    #include<GUIConstantsEx.au3>
    #include<WindowsConstants.au3>
    Global $arLabel[3][3] = [ _
    ['Sub1 - Label1','Sub1 - Label2','OK'], _
    ['Sub2 - Label1','Sub2 - Label2','Bla'], _
    ['Sub3 - Label1','Sub3 - Label2','Aha']]
    Global $indxSub

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

    $GUI = GUICreate('Master')
    $b1 = GUICtrlCreateButton('Sub1', 10,10,50,20)
    $b2 = GUICtrlCreateButton('Sub2', 10,40,50,20)
    $b3 = GUICtrlCreateButton('Sub3', 10,70,50,20)

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

    $Sub = GUICreate('Sub')
    $l1 = GUICtrlCreateLabel('', 20, 33, 120, 17)
    $l2 = GUICtrlCreateLabel('', 20, 63, 120, 17)
    $i1 = GUICtrlCreateInput('', 130, 30, 80)
    $i2 = GUICtrlCreateInput('', 130, 60, 80)
    $b4 = GUICtrlCreateButton('', 20, 100, 40)

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

    GUISetState(@SW_SHOW, $GUI)

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

    While True
    $msg = GUIGetMsg(1)
    Switch $msg[1]
    Case $GUI
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    Case $b1
    $indxSub = 0
    GUICtrlSetData($l1, $arLabel[0][0])
    GUICtrlSetData($l2, $arLabel[0][1])
    GUICtrlSetData($b4, $arLabel[0][2])
    GUISetState(@SW_SHOW, $Sub)
    Case $b2
    $indxSub = 1
    GUICtrlSetData($l1, $arLabel[1][0])
    GUICtrlSetData($l2, $arLabel[1][1])
    GUICtrlSetData($b4, $arLabel[1][2])
    GUISetState(@SW_SHOW, $Sub)
    Case $b3
    $indxSub = 2
    GUICtrlSetData($l1, $arLabel[2][0])
    GUICtrlSetData($l2, $arLabel[2][1])
    GUICtrlSetData($b4, $arLabel[2][2])
    GUISetState(@SW_SHOW, $Sub)
    EndSwitch
    Case $Sub
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $Sub)
    Case $b4
    Switch $indxSub
    Case 0
    MsgBox(0, '', 'Button auf Sub-1 geklickt')
    Case 1
    MsgBox(0, '', 'Button auf Sub-2 geklickt')
    Case 2
    MsgBox(0, '', 'Button auf Sub-3 geklickt')
    EndSwitch
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]
  • etwas kopieren und wieder ausgeben

    • BugFix
    • 22. November 2008 um 15:51

    s. Post von peethebee - da steht es groß und schön und farbig.

  • etwas kopieren und wieder ausgeben

    • BugFix
    • 22. November 2008 um 15:44
    Zitat von Pecadis

    öhm ja ok also ich weiß des ned aber ich mein es geht hier ( sry) ja ned ums makieren an sich sondern wie ich des mit strg+c gespeicherte "beispieltext" wieder in der msg box ausgebe.


    OMG - hättest du das im ersten Post geschrieben, hätten wir uns alle viel Mühe sparen können. :S

  • Script unterteilen

    • BugFix
    • 22. November 2008 um 15:40

    Ungetestet, aber sollte klappen:

    Spoiler anzeigen
    [autoit]

    Local $arFile[7] = ['.zip','.z01','.z02','.z03','.z04','.z05','.z06']
    Local $remote = 'http://wbi.eluhost.de/Partitionirer/Partitonirer'
    Local $local = 'C:\DOWNLOAD\partitonirer'
    Local $step = Int(100/7), $percent = 0
    DirCreate($local)
    Sleep(500)
    ProgressOn("Fortschritt", "geladen", "0 Prozent")
    For $i = 0 To UBound($arFile) -1
    $percent += $step
    ProgressSet($percent, $percent, ' Prozent')
    InetGet($remote & $arFile[$i], $local & $arFile[$i])
    Next
    ProgressSet(100 , "Fertig", "Komplett")
    sleep(1500)
    ProgressOff()
    Run("C:\WINDOWS\explorer.exe /root, C:\DOWNLOAD")

    [/autoit]
  • etwas kopieren und wieder ausgeben

    • BugFix
    • 22. November 2008 um 15:20

    Läßt sich der Text denn nicht, zB. anhand des Sourcecodes der Seite auffinden? Mausklickerei ist die denkbar schlechteste Lösung.

  • Script unterteilen

    • BugFix
    • 22. November 2008 um 15:15

    Die InetGet gehören in eine Schleife und vor oder nach jedem Schleifendurchlauf setzt du den neuen Progresswert.

  • Schleifen Problem

    • BugFix
    • 22. November 2008 um 15:13

    Warum erstellst du die GUI nicht am Anfang und weist je nach Auswahl unterschiedliche Label zu? Würde den Code um etwa 70 % kürzen und auch wesentlich übersichtlicher werden. Außerdem ist es kein sehr guter Stil Includes und GUI-Erstellung innerhalb von Schleifen auszuführen.

  • etwas kopieren und wieder ausgeben

    • BugFix
    • 22. November 2008 um 15:05
    Zitat von Pecadis

    immer an der exakt gleichen stelle


    Du liest (oder verstehst) nicht, was ich frage. Was soll ich bitte, mit dieser Antwort anfangen?
    Ich geb dir jetzt als Codezeile: MouseMove("immer an der exakt gleichen stelle") ??
    Also letzter Versuch: WAS macht diese Position eindeutig? Muß doch durch irgendwas charakterisiert sein. (Feldname, Position zwischen fixen Textbestandteilen etc.)

  • etwas kopieren und wieder ausgeben

    • BugFix
    • 22. November 2008 um 14:57
    Zitat von Pecadis

    dass mir des script an einer passage "beispieltext" des per mouseclick makiert


    Und woher soll das Skript wissen, was markiert werden soll? Wodurch ist dieser Text zu identifizieren?

  • Schleifen Problem

    • BugFix
    • 22. November 2008 um 14:45

    Mal am Rande: Ich weiß, dass es in einigen Sprachen als Standard gilt, nach jeder Codezeile eine Leerzeile einzufügen. Den Sinn dieses Tuns konnte ich noch nie erkennen. Damit zerstörst du jede Übersicht in einem Skript. Und wenn es dann sogar, wie hier, 2 Leerzeilen sind... :wacko:

  • etwas kopieren und wieder ausgeben

    • BugFix
    • 22. November 2008 um 14:41

    Wo steht Was? Aufgrund welcher Eigenschaften ist das Was zu identifizieren und soll kopiert werden?
    Fasse erst mal deine Gedanken in klare Strukturen und dann in uns verständliche Sätze. 8|

  • Stringregexp Frage

    • BugFix
    • 21. November 2008 um 22:56

    Hiermit kannst du alle Ziffern(Zahlen) aus dem String auslesen:

    [autoit]

    #include<array.au3>
    $str = 'jdh..(/6'
    $ret = StringRegExp($str, '\d+', 3)
    If IsArray($ret) Then _ArrayDisplay($ret)

    [/autoit]

    Oder mit Replace:

    [autoit]

    $str = 'jdh..(/6'
    $ret = StringRegExpReplace($str, '\D+', '')
    ConsoleWrite($ret & @crlf)

    [/autoit]
  • Die Radio Box

    • BugFix
    • 21. November 2008 um 20:13
    Zitat von RR04

    haben alle "50" den gleichen Namen ? :D


    Wer lesen kann ist klar im Vorteil :D
    GUICtrlCreateRadio("Radio " & $i+1.....

  • Geburtstags-Erinnerer

    • BugFix
    • 21. November 2008 um 19:23

    Ist eigentlich egal, geht beides (nicht syntaxgerecht - nur sinngemäß):
    If _DateAdd(GebTag_JahrAktuell, -TageErinnerung) = Aktuelles Datum Then ERINNERUNG
    oder
    If _DateDiff(GebTag_JahrAktuell, AktuellesDatum) = TageErinnerung Then ERINNERUNG

  • Geburtstags-Erinnerer

    • BugFix
    • 21. November 2008 um 18:31

    Also die bisherigen Lösungsvorschläge gehen eigentlich alle am Ziel vorbei. ;)
    Schau dir die Funktion _DateAdd() an. Das ist alles was du brauchst.
    Vom Ablauf wäre relativ einfach:
    - 2D-Array [n][0] = Geburtsdatum; [n][1] = Tage vorher erinnern
    - beim Programmstart in Schleife prüfen ob TT.MM. Geburtstag & aktuelles Jahr - Erinnerungstage = Heute

  • Anfängerfrage? zu '$oFSO.DeleteFolder("")'

    • BugFix
    • 21. November 2008 um 10:30

    Es geht auch mit AutoIt, wenn auch nicht mit einem direkten Wildcardbefehl für Ordner:

    [autoit]

    #include<file.au3>
    ;~ DirCreate(@ScriptDir & '\test_1')
    ;~ DirCreate(@ScriptDir & '\test_2')
    ;~ DirCreate(@ScriptDir & '\test_3')

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

    $BaseFolder = @ScriptDir & '\'
    $DelFolder = 'test_'
    $arFolder = _FileListToArray($BaseFolder, '*', 2)
    If @error Then Exit MsgBox(0, '', 'Keine Ordner in diesem Verzeichnis!')

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

    For $i = 1 To UBound($arFolder) -1
    If StringLeft($arFolder[$i], StringLen($DelFolder)) = $DelFolder Then DirRemove($BaseFolder & $arFolder[$i])
    Next

    [/autoit]

    Zu deinem Problem wgen FSO:

    Zitat

    FileSystemObject kann nur Ordner auf dem lokalen Computer erstellen.
    Um Ordner auf einem Remotecomputer zu erstellen kann das Objekt WshController verwendet werden
    (oder lokal erstellen und mit WMI verschieben)


    Das gilt analog für alle Operationen, da nicht per Remotezugriff das FileSystemObject referenziert werden kann.

  • Dateien kopieren, jedoch unterscheidung in Klein/Grossbuchstaben

    • BugFix
    • 21. November 2008 um 08:43

    Verstehe nicht ganz das Problem. Windows unterscheidet doch nicht in Groß-/Kleinschreibung.
    Wenn die Quelldatei "muster.txt" heißt, kannst du sie ebensogut mit "MuStEr.tXt" ansprechen. :S

  • FTP Downloader

    • BugFix
    • 20. November 2008 um 22:43

    Wo greifst du auf FTP zu? Das ist alles HTTP.
    Es ist ein gravierender Unterschied zwischen
    - FileTransferProtocol
    - HyperTextTransferProtocol
    ;)

  • Kleine Anfangshilfen bitte

    • BugFix
    • 20. November 2008 um 21:51

    Eine Bitte: Schau dir mal in der Hilfe zu den Funktionen die Bsp. an. Daraus kannst du schon eine Menge lernen. Wenn dann Fragen sind, poste deine Versuche und wir helfen weiter.

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™