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

Beiträge von Micha_he

  • Ftp.au3

    • Micha_he
    • 29. Januar 2009 um 16:11
    Zitat von Roggan
    [autoit]


    MsgBox(0,"",$Open)
    MsgBox(0,"",$Conn)
    MsgBox(0,"",$Ftpp)
    MsgBox(0,"",$Ftpc)

    [/autoit]

    Dann lass doch die Zeile 10,12,14,16 in dem Script weg !
    Dann kommen auch die MsgBoxen nicht mehr for dem Dialog.

    Ein Script wird "im Normalfall" Zeile für Zeile abgearbeitet. Und wenn Msgbox dort steht, geht auch eine auf :D

    Edit: Und zum hochladen, müsstest Du zwischen den Zeilen 23 und 25 etwas MEHR wie eine MsgBox machen.
    Ich weiß jetzt nicht wie der Befehl der FTP.au3 heisst. Sieh mal nach; _FTPPutFile oder FTPSendFile. Irgnendwas muss ja in der UDF (FTP.au3) zu finden sein.

  • Script soll Netzwerkverbindung überprüfen.

    • Micha_he
    • 28. Januar 2009 um 17:01

    Mit der Zeile:

    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter where NetConnectionStatus = 2")

    bekommst Du nur die Network-Adapter die den Status '2' haben. Damit wird Deine Variable 'x' nie wieder auf
    '0' gesetzt.

    Ich tippe drauf einfach den Teil ' where NetConnectionStatus = 2' weglassen.

  • StringRegExp vorletzte Zeile

    • Micha_he
    • 24. Januar 2009 um 23:25

    Na ja, BugFix das haut aber nicht hin.

    Dein Script gibt zwar VIEL (im Array) zurück (da etliche Gruppen () definiert), aber wenn Du die letzte Zeile mal auf "abcd= 8902 xyz=" vervollständigst, kommt nicht "8902" raus !

  • Auto Script

    • Micha_he
    • 24. Januar 2009 um 22:50

    Hallo Luke32

    1. Wünsche in der Art "Schreibt mir mal ein Programm" wurden bisher selten ausgeführt. Jedenfalls seit ich ich im Forum mitlese.

    2. Ist ein Programm laut deiner Beschreibung "fast" Blödsinn. Wenn es läuft ist der Rechner eigentlich nicht merh benutzbar oder ? Jedes mal wenn was gestartet wird bekommt das Programm am laufenden Band "y" und "1" gesendt. Alle !

    3. Hättest Du das auch als Anfänger mit lesen der Hilfe hinbekommen. So könnte es aussehen:

    Spoiler anzeigen
    [autoit]

    While 1
    Send ("y")
    Sleep (500) ; vielleicht eine Pause von 0.5s
    Send ("1")
    Sleep (500)
    Wend

    [/autoit]
  • StringRegExp vorletzte Zeile

    • Micha_he
    • 24. Januar 2009 um 22:33

    Ja, ist schon klar. Ich habe es bisher immer nach ähnlichem Vorgehen gelöst.

    Mit StringRegExp() ist das ganze meist deutlich übersichtlicher. Und wie Du sicher am Titel des Thema's erkennen kannst, ging es um eine Lösung mit StringRegExp(). Auch eben um den Einsatz von regulären Ausdrücken zu erlernen, damit ich nicht immer mit StringLeft(), StringRight() und StringMid() arbeiten muss.

  • StringRegExp vorletzte Zeile

    • Micha_he
    • 24. Januar 2009 um 22:08

    Habe gerade festgestellt, das manchmal in den Zeilen noch Text folgt. Die vorher funktionierende StringRegExp-Version klappt dann wieder nicht. Kann man das noch anpassen ? Ich habe alles mögliche getestet ich bekomme einfach die Lösung nicht hin.

    [autoit]

    #include <Array.au3>
    $str = "abcd= 29876 xyz= 0 irgendwas" _
    & @CRLF & "abcd= 123 xyz= 945" _
    & @CRLF & "abcd= 4567 xyz= 345 und noch was" _
    & @CRLF & "abcd= 8902 xy"

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

    $re = StringRegExp($str, 'abcd=\s+(\d+)\sxyz=\s+\d+\r\n[\w =]+$', 3)
    _ArrayDisplay($re)

    [/autoit]
  • StringRegExp vorletzte Zeile

    • Micha_he
    • 24. Januar 2009 um 11:22

    Danke an alle....
    micha_he

  • StringRegExp vorletzte Zeile

    • Micha_he
    • 24. Januar 2009 um 00:06

    Ich muss in einer Textdatei mit folgendem Aussehen:

    Code
    abcd= 29876 xyz= 0
    abcd=  123 xyz= 945
    abcd= 4567 xyz= 345
    abcd= 8902 xy

    Die letzte Zahl zurückbekommen, die zwischen eine vollständigem "abcd=" und dem folgenden "xyz=" steht.
    In obigem Beispiel also die "4567" weil in der letzten Zeile das "xyz=" nicht vollständig geschrieben ist.

    So weit bin ich, aber wie bekommen ich den möglichen letzten Zeilenvorschub hinein ?

    [autoit]

    $return = StringRegExp($string,"abcd= (\d*) xyz=.*\Z",1)

    [/autoit]
  • Wie ein File closen, das mit FileOpenDialog geöffnet ist?

    • Micha_he
    • 23. Januar 2009 um 22:18
    Zitat von awenglaweng

    Hi Raupi,
    danke für eure Antworten. Dass das Beispiel von Jam00 funzt, überrascht mich jetzt.

    Na ganz einfach: Das Beispiel wählt nur einen Dateinamen aus und öffnet gar keine Datei. Daher kann ich sie auch sofort löschen.

    Zitat von awenglaweng


    ja, ich habe gesondert fileOpen ... FileRead .. und dann auch FileClose gemacht.

    Das script könnte ich schon posten, ist aber auch schon umfangreich geworden. Ich suche noch aweng, falls nötig poste ich dann (einen Teil) vom script.

    schönen Abend noch,
    Roland.

    Beispiel
    [autoit]

    $name = FileOpenDialog ("Test","","")
    $fileID = FileOpen($name,0)
    ; FileDelete($name) geht natürlich nicht, die Datei ist offen
    $inhalt = FileRead($fileID)
    ; FileDelete($name) geht natürlich nicht, die Datei ist immer noch offen
    FileClose($fileID)
    FileDelete ($name); hier gehts !

    [/autoit]
  • GUICtrlCreateInput inkl. iniwrite

    • Micha_he
    • 20. Januar 2009 um 22:16

    Also bei mir haut das hin, natürlich nicht nur deine beiden Zeilen.

    Speichert beim Schließen:

    [autoit]

    #include <GUIConstants.au3>

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

    GUICreate("Test")
    $file = GUICtrlCreateInput("test", 100, 100, 100, 20)
    GuiSetState()

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

    Do
    Sleep(100)
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    iniwrite("test.ini", "test", "test", GuiCtrlRead($file))

    [/autoit]
  • PrimA - der Primzahlengenerator

    • Micha_he
    • 20. Januar 2009 um 21:55

    Hätte ich auch noch was anzubieten:

    Beispielscript
    [autoit]


    $Primzahlen = _Primzahlen(1,2067)
    If $Primzahlen <> 0 Then
    _ArrayDisplay($Primzahlen)
    Else
    MsgBox(0,"","Es ist ein Fehler beim Aufruf der Funktion aufgetreten")
    EndIf

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

    ; Erzeugt Primzahlen von/bis
    Func _Primzahlen($von,$bis)
    Local $zahl = $von, $aPrim[1], $teiler
    $aPrim[0] = 0
    If $von = 0 Or $bis = 0 Or $von > $bis Then Return 0
    Do
    If $zahl = 1 Then
    $zahl += 1
    ContinueLoop
    EndIf
    If $zahl = 2 Then
    ReDim $aPrim[UBound($aPrim)+1]
    $aprim[0] = UBound($aPrim)-1
    $aPrim[UBound($aPrim)-1] = $zahl
    $zahl += 1
    ContinueLoop
    Else
    If Mod($zahl,2) <> 0 Then
    $teiler = Round(SQRT($aPrim[UBound($aPrim)-1]))
    If Mod($teiler,2) = 0 Then $teiler = $teiler - 1
    Do
    If Mod($zahl,$teiler) = 0 Then ExitLoop
    $teiler = $teiler - 2
    Until $teiler < 3
    If $teiler < 3 Then
    ReDim $aPrim[UBound($aPrim)+1]
    $aprim[0] = UBound($aPrim)-1
    $aPrim[UBound($aPrim)-1] = $zahl
    EndIf
    EndIf
    EndIf
    $zahl += 1
    Until $zahl > $bis
    Return $aPrim
    EndFunc

    [/autoit]

    Edit: kleiner Fehler...

  • Problem mit Pfad (Dokumente und Einstellungen)

    • Micha_he
    • 20. Januar 2009 um 17:58

    Versuch einmal folgendes:

    [autoit]

    $nbhExtract = 'NBHextract.exe'
    $file = 'RUU_signed.nbh'
    $pfad = @ScriptDir & '\NBH\'
    $command = @ComSpec & ' /c ' & '""' & $pfad & $nbhExtract & '" "' & $pfad & $file & '""'
    RunWait($command, "")

    [/autoit]

    Hintergrund: Laut Anleitung des CMD.EXE (aus XP SP3)
    CMD.EXE entfernt wenn mehr als 2 " in der Befehlzeile vorkommen, scheinbar das erste und letzte " aus dem hinter /k oder /c angegebenen Befehls und führt den Rest aus ! Wenn ich das Kauderwelsch richtig gelesen habe.

    Oder Du lässt den @COMSPEC-Teil weg, brauchst Du doch in dem Fall sowieso nicht und startest den Befehl wie folgt:

    [autoit]

    $command = '"' & $pfad & $nbhExtract & '" "' & $pfad & $file & '"'
    RunWait($command, "")

    [/autoit]
  • GDI+ Beispiele

    • Micha_he
    • 20. Januar 2009 um 17:08
    Zitat von UEZ

    Dass das geht ist klar, aber ein Screensaver im klassischen Sinn ist das nicht (Full Screen, Multimonitor Support, Konfiguration, etc.).

    UEZ

    Also FullScreen geht, aber mit Multi-Monitor (hier aber nur zwei einzelne Anzeigen) hat mein Script natürlich ein Problem. Konnte ich gerade sehen, als ich den zweiten Schirm angemacht habe.

  • Problem mit Pfad (Dokumente und Einstellungen)

    • Micha_he
    • 20. Januar 2009 um 17:00

    Ich habe das Script mal abgeändert. So siehst Du per Msgbox (wird auch gleich zum Posten im Formum, in die Zwischenablage kopiert) was gestartet werden soll.
    Bei mir sieht das gut aus. Falls Entpacker und NBH-File im passenden Unterordner liegen (Ordner NBH im Scriptverzeichnis) und der Entpacker kein Kommando zum Entpacken benötigt, dann sollte es so gehen. Aber Du sagtest ja es klappt nicht. Vergleich also mal die Ausgabe der Msgbox mit den wirklichen Pfaden.

    [autoit]

    $nbhExtract = 'NBHextract.exe'
    $file = 'RUU_signed.nbh'
    $pfad = @ScriptDir & '\NBH\'
    $command = @ComSpec & ' /c ' & '"' & $pfad & $nbhExtract & '" "' & $pfad & $file & '"'
    MsgBox(0,"",$command)
    ClipPut($command)
    RunWait($command, "")

    [/autoit]
    Zitat

    was soll /k eigentlich bewirken ?


    das ist eigentlich falsch. Muss "/c" sein, sonst beendet sich die CMD.EXE nach der Ausführung nicht und runWAIT wartet sich dumm und dusselig !

  • Problem mit Pfad (Dokumente und Einstellungen)

    • Micha_he
    • 20. Januar 2009 um 13:20
    Zitat von Blackdragon_860


    Der Befehl "C:\Dokumente" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

    hier mein skript:

    [autoit]


    ; Script Start - Add your code below here
    $nbhExtract = 'NBHextract.exe '
    $file = 'RUU_signed.nbh'
    $pfad = Chr(34) & @ScriptDir & '\NBH\' & Chr(34)
    RunWait(@ComSpec & " /k " & $pfad & $nbhExtract & $pfad & $file, "")

    [/autoit]
    Alles anzeigen


    Ich glaube nicht, das das so hinhaut. An deinem Pfad hängst Du ein doppeltes Hochkomma an (ist ja eigentlich nicht schlecht, aber...) und dann fügst du eine Befehl oder eine Datei an. Dabei müsste etwas in der Art entstehen:

    "C:\Dokumente.........\Desktop"NBHextract.exe

    Und das haut nicht hin.

    So vielleicht:

    [autoit]


    ; Script Start - Add your code below here
    $nbhExtract = 'NBHextract.exe'
    $file = 'RUU_signed.nbh'
    $pfad = @ScriptDir & '\NBH\'
    RunWait(@ComSpec & ' /k ' & '"' & $pfad & $nbhExtract & '" "' & $pfad & $file & '"', "")

    [/autoit]
  • Hilfe mIT GUI

    • Micha_he
    • 20. Januar 2009 um 13:08

    Wie wäre es, wenn Du dir einmal die Autoit-Hilfe unter RegWrite() ansiehst und nochmals meinen letzten Beitrag zum Thema überfliegst.

    Dann müsste etwa dieses herauskommen:

    [autoit]

    RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "[Programmtitel]", "REG_SZ", "[Pfad zur EXE]")

    [/autoit]
  • GDI+ Beispiele

    • Micha_he
    • 20. Januar 2009 um 12:48

    Warum nicht ?
    Läuft bei mir schon seit über einem halben Jahr, ohne Probleme bis jetzt.

  • paar fragen^^

    • Micha_he
    • 20. Januar 2009 um 12:42

    Lesen !

    Er meint das Connect-Handle beim _FTPMakeDir() & _FTPPutFile() ;)

  • Hilfe mIT GUI

    • Micha_he
    • 20. Januar 2009 um 12:36
    Zitat von boss93max

    Drei fragen:

    1.Wie ich GUI sachen in die funktion lade hab ich kapiert
    aber wie kann ich daten aus na varialbel in zbsp eine input box in einer GUI machen ?


    GUICtrlSetData ( ID des (Input-)Controls, [Daten])
    Die ID bekommst Du als Rückgabewert bei 'GUICtrlCreate....'

    Zitat


    und 2. wie kann ich 2 GUI platformen koppeln
    also wenn man auf ein button drückt öffnet sich ein anderes "menu"(box" wo andere sachen drinstehen


    Im Scriptteil des Buttons ein neues GUI kreieren und ggf. innerhalb eine weiter GUI-Schleife auf neue Elemente reagieren. Im Deinem Script muss du dann nur darauf achten, das es nun zwei GUI's gibt und Du sie korrekt ansprechen musst. (z.B.: GUISetState( ID des GUI, [status]))

    Zitat


    3. wie kann ich einem program msagen das es sich selbst in den autostartordner verschieben oder kopiern soll


    Autostart ist doch im einfachsten Fall "C:\Dokumente & Einstellungen\All Users\Startmenü\Autostart" (auch ersetzbar durch: @StartupCommonDir).
    Also kopier (FileCopy()) die Datei oder den Link einfach dort hinein.
    Geht natürlich auch mit "C:\Dokumente & Einstellungen\[Username]\Startmenü\Autostart" (auch ersetztbar durch: @StartupDir).

    Eine weitere Möglichkeit ist, mit RegWrite() einen Eintrag in "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" zu erzeugen, der das Programm startet.
    Auch hier gäbe es die Möglichkeit für (nur) den aktuellen User mit "HKCU\Software\Microsoft\Windows\CurrentVersion\Run".

  • Programm Pfad aus ini datei mit variablen buttons

    • Micha_he
    • 19. Januar 2009 um 23:40

    Die beiden wichtigen Punkte sind:

    1. Unter der Zeile GUICtrlCreateButton die Zeile
    GUICtrlSetOnEvent (-1, "X") ; ruf beim Event die Funktion X auf

    2. Innerhalb der Funktion "X" kann das auslösende Control mit
    @GUI_CTRLID ermittelt werden.

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™