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

Beiträge von Mahagon

  • GUI

    • Mahagon
    • 10. Juni 2011 um 18:58
    Zitat von Raicoon

    Also ich habe folgendes mal ausprobiert:

    [autoit]

    $gui = GUICreate("Haupt GUI", 429, 279, 35, 33)
    GUISetState(@SW_SHOW)

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

    GUICreate("Neben GUI", 243, 96, -1, -1, -1, -1, $gui)
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(10)
    WEnd

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

    Exit

    [/autoit]

    Aber ich kann das Haupt GUI immer noch anklicken.
    Was hab ich falsch gemacht?

    MFG Raicoon

    Alles anzeigen

    Dann deaktivier doch die Gui ;)

    Spoiler anzeigen
    [autoit]

    $gui = GUICreate("Haupt GUI", 429, 279)
    GUISetState(@SW_SHOW)
    GUISetState(@SW_DISABLE)

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

    GUICreate("Neben GUI", 243, 96, Default, Default, Default, Default, $gui)
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(10)
    WEnd

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

    Exit

    [/autoit]
  • GUI

    • Mahagon
    • 10. Juni 2011 um 18:05

    Jap beim GuiCreate Handle von der Hauptgui in die Nebengui unter parent eintragen :)

  • ODBC - Firebird SQL Errorhandling

    • Mahagon
    • 10. Juni 2011 um 17:13

    Hi,

    Ich befasse mich im Moment ein wenig mit ODBC (da bin ich noch Neuling). Im Moment mache ich noch alles über FlameRobin wollte mir aber ein paar AutoIt Scripte schreiben :).

    Hier mein Script

    Spoiler anzeigen
    [autoit]

    Dim $cn, $rs, $i

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

    $cn = ObjCreate("ADODB.Connection")
    $cn.Open("Driver=Firebird/InterBase(r) driver;" & _
    "Uid=SYSDBA;" & _
    "Pwd=masterkey;" & _
    "DbName=localhost/3050:C:\Datenbanken\Test.FDB;" & _
    "Dialect=3;")
    $rs = $cn.Execute("SELECT RDB$GET_CONTEXT('SYSTEM', 'ENGINE_VERSION') AS Firebird_Version, RDB$GET_CONTEXT('SYSTEM', 'NETWORK_PROTOCOL') AS Netzwerkprotokoll, RDB$GET_CONTEXT('SYSTEM', 'CLIENT_ADDRESS') AS Adresse FROM RDB$DATABASE;")
    While Not $rs.EOF
    For $i = 0 To $rs.Fields.Count - 1
    ConsoleWrite($rs.Fields($i).Name & " " & $rs.Fields($i).Value & @CRLF)
    Next
    $rs.MoveNext
    WEnd
    $rs.Close
    $cn.Close

    [/autoit]

    Nun zu meiner Frage:
    Wie bekomme ich es hin, den Errorcode auszulesen wenn ich z.B. eine nicht existente Tabelle abrufe oder ein Indexeintrag bereits besteht (Duplicate Value) ?


    Beispiel FlameRobin:

    SQL
    Select * from tabellegibbetnicht;
    Spoiler anzeigen
    Code
    Preparing query: Select * from tabellegibbetnicht
    Error: *** IBPP::SQLException ***
    Context: Statement::Prepare( Select * from tabellegibbetnicht )
    Message: isc_dsql_prepare failed
    
    
    SQL Message : -204
    can't format message 13:796 -- message file C:\Windows\firebird.msg not found
    
    
    Engine Code    : 335544569
    Engine Message :
    Dynamic SQL Error
    SQL error code = -204
    Table unknown
    TABELLEGIBBETNICHT
    At line 1, column 15
    
    
    
    
    Total execution time: 0.004s
    Alles anzeigen

    Danke schon einmal im Voraus :)

  • Antwort erkennen und Funktion ausführen?

    • Mahagon
    • 8. Juni 2011 um 09:38

    Da hast du z.B. folgende Möglichkeiten

    [autoit]

    If StringRegExp("ich bin ein cooler Typ", "^.*(ich).*(cooler).*$") = 1 Then ConsoleWrite(True & @CRLF)
    ;oder
    If StringInStr("ich bin ein cooler Typ", "ich") And StringInStr("ich bin ein cooler Typ", "cooler") Then ConsoleWrite(True & @CRLF)

    [/autoit]
  • Hotkeyset funktioniert nicht

    • Mahagon
    • 3. Juni 2011 um 15:09

    Zunächst einmal: Send brauchst du gar nicht :)
    Es ist sehr viel zuverlässiger die Befehle über Parameter zu übergeben: z.B. "cmd /c ping localhost"

    [autoit]

    ShellExecuteWait(@ComSpec, '/c robocopy "' & @UserProfileDir & ' \Music" "' & $Ziel1 & '\UBS\Music" /MIR')

    [/autoit]


    Außerdem funktioniert bei deinem Script das Abbrechen nicht wirklich :)
    Das solltest du vielleicht erst einmal überarbeiten
    Die Progressbar (siehe Oben) könntest du dann so wie in meinem Script machen (z.B. nach jedem Robocopy Befehl)

  • Hotkeyset funktioniert nicht

    • Mahagon
    • 3. Juni 2011 um 14:52

    erm ich glaube du hast das falsche Script erwischt.
    Es ging doch darum, dass du die Eingabeaufforderung auslesen willst und nicht um ein Klavier ? :D

  • Hotkeyset funktioniert nicht

    • Mahagon
    • 3. Juni 2011 um 08:50

    Ich gehe davon aus, das du folgendes meinst :) :

    [autoit]

    Local $i = 0

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

    #include <Constants.au3>

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

    Local $hPing = Run(@ComSpec & " /c ping localhost -n 10", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    Local $sLine = ""
    ProgressOn("Progress", "Ping localhost", "0 percent")
    While True
    $sLine = StdoutRead($hPing)
    If @error Then ExitLoop
    If StringInStr($sLine, "Antwort von") Then
    $i += 10
    ProgressSet($i, $i & " percent")
    EndIf
    WEnd
    ProgressSet(100, "Done", "Complete")
    ProgressOff()

    [/autoit]

    Startest du denn eine Batch? Wenn ja, warum nicht alles über AutoIt?

  • Daten von einer MySQL in andere MySQL gefiltert kopieren

    • Mahagon
    • 31. Mai 2011 um 12:54

    Oder du benutzt die UDF von Progandy ;)

    http://progandy.de/downloads/view…fs/4-mysql-udfs
    Dann kannst du die Tabellen in ein Array lesen und das Array in die andere DB schreiben o.ä.

  • Silent-Script für Flash 10.3 - Problem mit einem button

    • Mahagon
    • 27. Mai 2011 um 12:52

    Run("install_flash_player.exe -install")

    So klappt es am Besten ;)
    Die Parameter wurden nur geändert

  • Aufgabenplanung Unabhängig von Benutzeranmeldung xcopy

    • Mahagon
    • 27. Mai 2011 um 07:15

    N und M sind nicht zufällig Netzlaufwerke?
    Diese sind nämlich nur bei angemeldeten Usern verfügbar.
    Falls es so ist -> UNC Pfade verwenden ;)

  • Hilfe um Fenster im hintergrund zu schließen

    • Mahagon
    • 19. Mai 2011 um 16:47

    Dir fehlt ein WinActivate("Sound") vor dem WinWaitActive("Sound") möchte ich auf dem ersten Blick behaupten :)

  • InputBox Icon Ändern

    • Mahagon
    • 19. Mai 2011 um 16:45

    Indem du eine zweite Gui erstellst mit einem Inputfeld :)

  • Commandline mit Parameterübergabe schlägt fehl.

    • Mahagon
    • 17. Mai 2011 um 13:57

    /k = Konsole bleibt offen /c Konsole schließt nach Ausführung des Befehls :)

  • Gezielt Prozesse starten/stoppen

    • Mahagon
    • 6. April 2011 um 10:23

    Du kannst z.B. mit Parametern auf der Kommandozeile arbeiten

    $CmdLine[0] = Anzahl der Parameter
    $CmdLine[1] = Parameter 1
    ....

    Dienste über das Netzwerk starten/stoppen/ändern könntest du auch über die WMI realisieren.

    http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx


    Bzgl Prozess killen.. warum? bleibt der Dienst hängen? Stoppen sollte doch im Normalfall reichen

  • Array sortieren

    • Mahagon
    • 5. April 2011 um 14:21

    Super!
    Genau das hab ich gesucht.
    Besten Dank!

  • Array sortieren

    • Mahagon
    • 5. April 2011 um 14:15

    Hallo AutoIt'ler,

    ich verzweifel im Moment an einem Problem.
    Und zwar möchte ich ein 2D,Array sortieren (an und für sich ja einfach) jedoch nicht einfach nur irgendeinen Subindex, sondern folgendermaßen.

    Ich habe z.B. Folgendes Array

    [["Gruppe 1", 20, 8], _
    ["Gruppe 2", 32, 7], _
    ["Gruppe 2", 16, 9], _
    ["Gruppe 2", 34, 7], _
    ["Gruppe 2", 122, 9], _
    ["Gruppe 1", 35, 0], _
    ["Gruppe 3", 19, 6]]

    Wenn ich es nun sortiere soll zunächst Subindex 0 und dann Subindex 1 sortiert werden. Sodass die Gruppen beieinander sind und Subindex 1 aufsteigend sortiert ist.
    Aber beim Versuch dies mit _arraysort zu realisieren bin ich gescheitert:

    [autoit]

    #include "array.au3"
    Local $avArray[7][3] = [ _
    ["Gruppe 1", 20, 8], _
    ["Gruppe 2", 32, 7], _
    ["Gruppe 2", 16, 9], _
    ["Gruppe 2", 34, 7], _
    ["Gruppe 2", 122, 9], _
    ["Gruppe 1", 35, 0], _
    ["Gruppe 3", 19, 6]]

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

    _ArraySort($avArray,0,0,0,1)
    _ArrayDisplay($avArray)
    _ArraySort($avArray)
    _ArrayDisplay($avArray)

    [/autoit]

    Heraus kommt dann leider folgendes:

    [Blockierte Grafik: http://img827.imageshack.us/img827/74/arraysort.png]

    Habe es schon einmal versucht, indem ich es in ein neues Array schreibe. Da passte aber irgendwie garnichts mehr ;).
    Google hat mir auch nicht weitergeholfen. Nun wollte ich mich an euch wenden.
    Hoffe es hat jemand, wenn auch nur ansatzweise eine Idee wie ich es anstellen kann.

    Vielen Dank schon einmal.

    Gruß
    Maha

  • Scribt; PC Standby - PC "wecken" --> Scribt auslösen

    • Mahagon
    • 20. März 2011 um 12:35

    Und wie soll deiner Meinung nach auf E-Mails geprüft werden, wenn der PC sich im Standby-Modus befindet? ;)
    Du könntest höchstens Stündlich z.B. mit Hilfe der Aufgabenplanung den PC hochfahren und auf Emails prüfen lassen.
    Un das würde ich auch nicht mit ControlClick o.ä. machen sondern mit z.B. der pop3.udf.

    Der Thread hier sollte übrigens hier her verschoben werden.
    Hilfe und Unterstützung ist eigentlich für unvollständige/fehlerhafte Skripte gedacht :)

    PS: Wenn du W-LAN und ein modernes Handy hast würde ich dort einfach die Mails abrufen lassen ;)

  • Softwareverteilung ohne User Anmeldung.

    • Mahagon
    • 11. März 2011 um 16:48

    WinInstall LE kannst du hier herunterladen: http://www.zdnet.de/windows_system…45-300718-1.htm
    Auf der CD ist das schon ziemlich alt ;).
    Habe damit schon sehr gute Erfahrungen gemacht (auch wenn es in der freien Version einige Grenzen gibt)
    Am Besten du erstellst eine XP VM auf dem nichts installiert wird (dann wird das MSI Paket nicht "verfälscht" und du kannst mit VM-Snapshots arbeiten)
    Mit AutoIt könntest du das mit Hilfe eines Anmeldeskripts machen, wobei ich aber MSI bevorzuge :)
    Auch Silentparameter oder RemoteAPP sind eine gute Möglichkeit Software zu verteilen.

  • FTP-Script läuft unter XP nicht

    • Mahagon
    • 7. März 2011 um 22:04

    Die Rechte zum schreiben hast du ja denke ich mal ;)
    Schreib mal probehalber vor der lokalen Datei den vollständigen Pfad bzw @scriptdir o.ä.
    Habe gerade leider keinen ftp zum testen ^^

  • FTP-Script läuft unter XP nicht

    • Mahagon
    • 7. März 2011 um 21:55

    _FTP_FilePut($CONN,"/datei.txt","datei.txt",$INTERNET_FLAG_TRANSFER_BINARY)

    1. Der Slash vor datei.txt ist unnötig.
    2. $INTERNET_FLAG_TRANSFER_BINARY <- warum? Das ist Standard

    EDIT:

    Sehe gerade Zeile 9 ist $debug_Dir=_FTP_DirCreate($CONN,$name)
    wie sieht $name denn aus??

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™