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

Beiträge von HassanMullah

  • Vergleich von Variablen schlägt fehl

    • HassanMullah
    • 25. Oktober 2010 um 14:39

    OK hier mal das Script:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_UseX64=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    d#include <Excel.au3>

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

    ; ########################################################### Datum ermitteln ###################################################################

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

    ; Variablen für das aktuelle Jahr, Monat und Tag ermitteln
    Global $var_excel_file, $var_excel_open, $var_logpath, $var_system_drive
    Dim $var_year, $var_month, $var_day

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

    $var_year = @YEAR
    $var_month = @MON
    $var_day = @MDAY

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

    ; ########################################################### Log Pfad ###################################################################

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

    ;Prüfen ob Datei @HomeDrive & "\ABCDLog\ABCDwaage\" existiert. Wenn nein, dann erstellen

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

    ;Ermitteln der Umgebungsvariablen "SystemDrive"
    $var_system_drive = EnvGet("SystemDrive")
    $var_logpath = $var_system_drive & "\ABCDLog\ABCDwaage\"

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

    If Not FileExists($var_logpath) Then
    ;~ MsgBox(0, "Kurz-Check", "Verzeichnis existiert nicht")
    DirCreate($var_logpath)
    Else
    ;~ MsgBox(0, "Kurz-Check", "Verzeichnis existiert")
    EndIf

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

    ; ########################################################### Ini Datei erzeugen, und auslesen ###################################################################

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

    ;Prüfen ob Datei YYYYMMTT.ini existiert. Wenn nein, dann eröffnen, wenn ja, dann öffnen
    Dim $var_date_ini

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

    $var_date_ini = $var_year & $var_month & $var_day & ".ini"

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

    If Not FileExists($var_logpath & "\" & $var_date_ini) Then
    ;MsgBox(0, "Kurz-Check", "Datei " & $var_date_ini & " existiert nicht")
    IniWrite($var_logpath & "\" & $var_date_ini, "Open", "Datum", $var_day & "." & $var_month & "." & $var_year)
    IniWrite($var_logpath & "\" & $var_date_ini, "Open", "Zeit", @HOUR & ":" & @MIN & ":" & @SEC)
    IniWrite($var_logpath & "\" & $var_date_ini, "Open", "Username", @UserName)
    IniWrite($var_logpath & "\" & $var_date_ini, "Open", "Computername", @ComputerName)

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

    IniWrite($var_logpath & "\" & $var_date_ini, "Aktueller XYZ", "IN_XYZ_NR", "121168")

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

    IniWrite($var_logpath & "\" & $var_date_ini, "121168", "IN_KFZ_KENNZEICHEN", "GP-R 1212")
    IniWrite($var_logpath & "\" & $var_date_ini, "121168", "IN_BEHOERDLICHE_NUMMER", "A123454321")
    Else
    ;MsgBox(0, "Kurz-Check", "Datei " & $var_date_ini & " existiert bereits")
    IniWrite($var_logpath & "\" & $var_date_ini, "Open", "Datum", $var_day & "." & $var_month & "." & $var_year)
    IniWrite($var_logpath & "\" & $var_date_ini, "Open", "Zeit", @HOUR & ":" & @MIN & ":" & @SEC)
    IniWrite($var_logpath & "\" & $var_date_ini, "Open", "Username", @UserName)
    IniWrite($var_logpath & "\" & $var_date_ini, "Open", "Computername", @ComputerName)

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

    ;~ IniWrite($var_logpath & "\" & $var_date_ini, "Aktueller XYZ", "IN_XYZ_NR", "121168")

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

    IniWrite($var_logpath & "\" & $var_date_ini, "121168", "IN_KFZ_KENNZEICHEN", "F - PD 2123")
    IniWrite($var_logpath & "\" & $var_date_ini, "121168", "IN_BEHOERDLICHE_NUMMER", "A123454321")

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

    EndIf

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

    ;aktuelle XYZ Nummer aus YYYYMMDD.ini ermitteln
    Dim $var_aktuelle_XYZ_nr

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

    $var_aktuelle_XYZ_nr = IniRead($var_logpath & "\" & $var_date_ini, "Aktueller XYZ", "IN_XYZ_NR", "Schlüssel IN_XYZ_NR existiert nicht")
    If $var_aktuelle_XYZ_nr = "" Then
    $var_aktuelle_XYZ_nr = "Wert von Schlüssel IN_XYZ_NR= in Sektion [Aktueller XYZ] ist nicht vorhanden"
    MsgBox(0, "Warnung", $var_aktuelle_XYZ_nr, 3)
    EndIf
    MsgBox(0,"info", $var_aktuelle_XYZ_nr)

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

    ;aktuelle XYZ Nummer aus Anwendung ermitteln
    Dim $var_XYZ_nr_anwendung
    If WinExists("Microsoft Excel - Abfall.xlsx") Then
    ;MsgBox(0, "", "Das Fenster existiert")
    WinActivate("Microsoft Excel - Abfall.xlsx", "")
    WinSetState("[ACTIVE]", "", @SW_MAXIMIZE)
    EndIf
    Opt("MouseCoordMode", 0) ;1=absolute, 0=relative, 2=client => 0 ist pro Anwendung die XY Koordinaten
    MouseClick("Left", 221, 823,1,0); Excel Sheet Blatt "Ergebnis" anklicken
    MouseClick("Left", 16, 178,1,0); Alle Zellen markieren
    Send("{LEFT}" & "{RIGHT 2}" & "{DOWN 3}")
    Sleep(300)
    send("^c"); kopieren
    send("^c"); kopieren
    $var_XYZ_nr_anwendung = ClipGet(); Inhalt aus Zwischenablage in Variable kopieren
    MsgBox(0,"info", $var_XYZ_nr_anwendung)

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

    $result = StringCompare($var_aktuelle_XYZ_nr, $var_XYZ_nr_anwendung)
    MsgBox(0, "Ergebnis des Stringvergleichs (Modus 0):", $result)

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

    If $var_aktuelle_XYZ_nr == $var_XYZ_nr_anwendung Then
    Msgbox(0,"info", "Ist gleich")
    Else
    Msgbox(0,"info", "Ist nicht gleich")
    EndIf

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

    Exit

    [/autoit]
  • Vergleich von Variablen schlägt fehl

    • HassanMullah
    • 25. Oktober 2010 um 14:25

    Erst mal vielen Dank.

    Also das soll einer verstehen ??

    Jetzt vergleiche ich mit Hilfe von

    [autoit]

    StringCompare

    [/autoit]

    Wie gesagt, ich lasse die Werte der Varialen mit der Messagebox ausgeben, wobei "rein optisch" alles OK und GLEICH ist.

    Als Ergebnis von StringCompare bekomme ich -1 raus, was ja bedeutet, das string1 kleiner als string2 ist.

    Ich habe gerade keinen Plan, woran das liegt.

    Gruss Hassan

  • Vergleich von Variablen schlägt fehl

    • HassanMullah
    • 25. Oktober 2010 um 13:26

    Hallo,

    ich möchte gerne 2 Varibalen miteinander vergleichen. Die erste lese ich aus einer INI Datei aus und lasse Sie zu Kontrolle über die Messagebox anzeigen.

    Hier z.B. der Wert 1234

    Danach lese ich eine Zelle aus Excel aus, welche die 2. Variable bildet. Auch diese lasse ich per Messagebox anzeigen.

    Auch hier wird als Wert 1234 angezeigt.

    Zum Schluss gebe ich folgenden Befehl ein:

    [autoit]

    If $var_nr_ini = $var_nr_excel Then
    Msgbox(0,"info", "Ist gleich")
    Else
    Msgbox(0,"info", "Ist nicht gleich")
    EndIf

    [/autoit]

    Leider lande ich IMMER im Else Block, d.h. "Ist nicht gleich"

    OK, erst dachte ich

    a.) INI Datei = Textdatei
    b.) Excel = Zahl

    Daraufhin habe ich Excel mal per Hand formatiert und dort gesagt, das die Zelle TEXT enthält.

    Leider auch hier keine Besserung.

    Was muss ich bei Vergleichen von Strings beachten ?

    Gruss Hassan

  • Strg + C (copy / kopieren) in Excel

    • HassanMullah
    • 25. Oktober 2010 um 12:40

    Hallo zusammen,

    befinde mich in einer Zelle in Excel, und möchte Strg + C ausführen (also den Inhalt kopieren). Mach ich das von Hand, läuft in der Zelle ein animierter Rahmen.

    In AutoIT habe ich folgenden Befehl, der nicht funktioniert::

    [autoit]

    Send("^C")

    [/autoit]


    Habe auch schon

    [autoit]

    Send("{^C}")

    [/autoit]


    versucht. Beides mal ohne Erfolg.

    Was mache ich hier falsch ?

    Gruss Hassan

  • ClipBoard Manager v5.5

    • HassanMullah
    • 25. Oktober 2010 um 11:37

    Hallo, ich habe mal was versucht, aber nicht hinbekommen, von daher die Frage:

    Kann der Clipboard Manager "nur" Text verwalten ?

    Wenn ein Bild in der Zwischenablage ist, scheint er das nicht anzuzeigen.

    Gruss Hassan

  • Lokaler Server Stoppen Starten

    • HassanMullah
    • 25. Oktober 2010 um 11:14

    Guten Morgen,

    kommt auch darauf an, ob Du remote oder lokal agierst.

    2 Stichwort:

    1.) sc.exe
    2.) psexec.exe

    Gruss Hassan

  • windows 7 uac

    • HassanMullah
    • 22. Oktober 2010 um 13:30

    Vielleicht wäre ==> das hier <== auch ein Gedanken Ansatz

    Gruss Hassan

  • Frage zu verschiedenen Formular Feldern

    • HassanMullah
    • 21. Oktober 2010 um 13:30

    Danke für die Info,

    werde ich bei Gelegenheit ausprobieren

    Gruss Hassan

  • Forum lahmt [BugFix: Nicht mehr]

    • HassanMullah
    • 21. Oktober 2010 um 13:23

    OK, das wäre ein Grund. Wobei mir der Zeitintervall trotzdem viel zu groß vor kommt. Wenn jede Stunde die Session Table gelöscht wird, dürfte die nicht so riesig angewachsen sein. Gut ich kenne jetzt den Aufbau des Backbones nicht, aber ....

  • Frage zu verschiedenen Formular Feldern

    • HassanMullah
    • 21. Oktober 2010 um 11:59

    Hallo zusammen,

    ich habe mal nach einem passenden Formular gegoogelt und stelle es mal hier "unbekannter weiße" dar, um meine Fragen zu formulieren:

    [Blockierte Grafik: http://www.hasenmueller.de/files4forum/pics4forum_4.png] 
    Ich habe diverse Kunden, mit solchen oder ähnlichen Masken.

    Diese haben in der Regel 3 verschiedene Felder

    1.) Schreibgeschütze Felder, die man nicht markieren kann, und das "angezeigte" auch nicht in die Zwischenablage bekommt
    2.) Beschreibbare Felder mit weißem Hintergrund. Hier kann man reinschreiben und rauslesen
    3.) Schreibgeschütze Felder mit grauen Hintergrund, wo man jedoch das "angezeigt" markieren kann und in die Zwischenablage bekommt

    Mein Problem ist hier ganz klar die Nummer 1.

    Hattet Ihr sowas auch schon, wenn ja, wie bekommt man die Wert aus der Anzeige heraus ?

    BTW: Gibt es noch einen andere Methode - außer MouseClick - um Pulldownmenüs zu öffnen, wenn z.B. auf {DOWN} nicht geht ?

    Gruss Hassan

  • Forum lahmt [BugFix: Nicht mehr]

    • HassanMullah
    • 21. Oktober 2010 um 11:31

    Also die ca. 5 Minuten zur vollen Stunde kann ich bestätigen. Da der Server die restliche Zeit ja recht performant läuft - zumindest ist das mein Empfinden - stellt sich mir die Frage, was für ein CronJob da abläuft. Wenn es jede Stunde eine Sicherung ist, dann würde hier ja vielleicht eine Umstellung auf eine Incrementelle Sicherung was bringen.

    Vielleicht kann der Foren- bzw. Server Betreiber hierzu mal offene Auskunft geben :)

    Gruß Hassan

  • Umgebungsvariable SystemDrive auslesen

    • HassanMullah
    • 21. Oktober 2010 um 10:17

    Ja Homedrive geht nicht, das zeigt sehr oft auf ein Homelaufwerk im Netz.

    Trotzdem nochmals die Frage: Kann ich selbst so @... Macros erzeugen, oder sind die in AutoIT hardcoded ?

    Gruss Hassan

  • Mauszeiger verstecken / Maus Geschwindigkeit erhöhen

    • HassanMullah
    • 21. Oktober 2010 um 10:14

    Hallo Oscar,

    kaum hatte ich den Thread abgeschickt, bin ich in der Hilfe selbst drüber gestolper :D

    Trotzdem vielen Dank

    Gruss Holger

  • Umgebungsvariable SystemDrive auslesen

    • HassanMullah
    • 21. Oktober 2010 um 10:08

    Ja, aber es gibt nur

    Zitat

    @SystemDir

    Von daher werde ich wohl bei meiner Lösung bleiben

  • Mauszeiger verstecken / Maus Geschwindigkeit erhöhen

    • HassanMullah
    • 21. Oktober 2010 um 09:49

    Hallo,

    kann man AutoIT dazu bringen, wenn man die Maus simuliert ..

    1.) den Mauszeiger auszublenden
    2.) die Geschwindigkeit zu erhöhen.

    Es sieht einfach nicht so toll aus, wenn sich die Maus "von Geisterhand" bewegt

    Gruss Hassan

  • Umgebungsvariable SystemDrive auslesen

    • HassanMullah
    • 21. Oktober 2010 um 09:26

    Hallo,

    in AutoIT gibt es doch diese schönen Macro's, welche mit @... anfangen.

    Gibt es anstatt

    [autoit]

    $var_system_drive = EnvGet("SystemDrive")

    [/autoit]

    auch ein Macro ? Oder kann man sich selbst so ein Macro bauen ? Wenn ja wie ?

    Gruss Hassan

  • Problem mit _ExcelReadCell

    • HassanMullah
    • 21. Oktober 2010 um 09:12

    Guten Morgen meine Freunde vom Pferdefriedhof :party:

    Ich habe mit der Excel Funktion _ExcelReadCell folgendes Problem.

    Anbei ein Ausschnitt aus meinem Script

    [autoit]

    _ExcelSheetActivate($var_excel_open, "Erstens")
    $var_erste_wiegung = _ExcelReadCell($var_excel_open, 6, 8 )
    ;~ MsgBox(0,"Ergebnis erste Wiegung",$var_erste_wiegung & " Tonnen und " & @error)
    IniWrite($var_logpath & "\" & $var_date_ini, $var_aktuelle_bgs_nr, "OUT_ERSTE_WIEGUNG", $var_erste_wiegung)

    [/autoit]

    Wenn Excel noch nicht geöffnet ist, das wird es geöffnet, "_ExcelReadCell" lies meine Zelle aus, und schreibt den Wert in eine INI Datei.

    Soweit alles OK und gut.

    Wenn Excel jedoch dann offen ist, und ich das Script nochmals laufen lasse, dann steht im Ergebnis von "_ExcelReadCell" immer eine 0 (Null). Sobald ich Excel schließe und es wieder über das Script öffnen lasse geht es wieder - aber halt nur dieses eine mal.

    Da Excel eigentlich ja offen sein sollte - ich es jedoch vorher überprüfe - habe ich damit ein grosses Problem, da ich die Zelle eigentlich sehr oft auslesen sollte.

    Wie Ihr in der auskommentierten Messageboxzeile seht, habe ich mir auch schon @error ausgeben lassen.

    Beim Ersten "funktionierenden" Durchgang erhalte ich eine 0, beim Zweiten eine 1.

    Auszug aus der Hilfe:

    Zitat

    1 - festgelegtes Objekt existiert nicht

    Kann mir das bitte mal jemand erklären. Was genau ist hier als "Objekt" gemeint ?

    Hier noch der Teil des Scripts, welches Excel öffnet

    I

    [autoit]

    f WinExists("Microsoft Excel - Abfall.xlsx") Then
    ;MsgBox(0, "", "Das Fenster existiert")
    WinActivate("Microsoft Excel - Abfall.xlsx", "")
    WinSetState("[ACTIVE]", "", @SW_MAXIMIZE)
    Else
    $var_excel_file = @ScriptDir & "\Abfall.xlsx" ; Diese Datei sollte bereits existieren
    $var_excel_open = _ExcelBookOpen($var_excel_file); Excel Datei wird geöffnet

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

    If @error = 1 Then
    MsgBox(0, "Fehler!", "Das Excel-Objekt konnte nicht erstellt werden")
    Exit
    ElseIf @error = 2 Then
    MsgBox(0, "Fehler!", "Die Datei " & $var_excel_file & " existiert nicht!")
    Exit
    EndIf

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

    WinActivate("Microsoft Excel - Abfall.xlsx", "")
    WinSetState("[ACTIVE]", "", @SW_MAXIMIZE)
    EndIf

    [/autoit]

    Das Problem herrscht sowohl unter Win7x64 mit Office2010x32, als auch unter Win7x32 mit Office 2007x32

    Freue mich schon auf Eure Antworten

    Gruss Hassan

  • Wie implementiert man das Windows Handle ?

    • HassanMullah
    • 20. Oktober 2010 um 11:23

    Super - vielen Dank

  • Wie implementiert man das Windows Handle ?

    • HassanMullah
    • 20. Oktober 2010 um 10:34

    OK habe ich verstanden. Wie sieht jedoch die korrekte Syntax anhand meines Beispiels dann aus ?

  • Wie implementiert man das Windows Handle ?

    • HassanMullah
    • 20. Oktober 2010 um 10:17

    Hallo, bin gerade in der Hilfe darüber gestolpert, das man Fenster auch über die eindeutigen Handles identifzieren kann.

    Ich habe jetzt mal zum Test 2 Notepads geöffnet, in welchen zum einen "123" und zum zweiten "456" drin steht.

    Dann mit dem Info Tool die Handles ermittelt und folgende Zeilen geschrieben.

    Leider geht da was nicht ?(

    [autoit]

    Dim $var_handle

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

    $var_handle="0x00000000002505E8" ; 123
    ;$var_handle=0x00000000003D0B8C ; 456
    WinActivate($var_handle, "")

    [/autoit]

    Das Fenster mit "123" kommt nicht in den Focus. Es passiert gar nichts.

    Was mache ich falsch ?

    Gruss Hassan

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™