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

Beiträge von ugt100

  • IniRead bzw. IniReadSection Problem mit dem '=' als Delimiter, weil das '=' im Datensatz mehrfach vorkommt

    • ugt100
    • 30. April 2013 um 08:20

    Hallo Alcros,
    dem geht so ... - sehr gute Idee.
    Ich habe den RegEx noch angepasst, damit ich solch eine 'Ergebniszeile' erhalte.

    1 | CN=Phlipp Roesler/OU=FDP/OU=MdB/O=BRD | 123

    alt
    StringRegExp($sFile,"(.+?)=(.+)=(.+)",3)

    neu
    Local $aStrReg = StringRegExp($sFile,"(.+?=.+=.+)=(.+)",3)

    Danke
    mfg
    ugt100 :rock::P:rock:

  • IniRead bzw. IniReadSection Problem mit dem '=' als Delimiter, weil das '=' im Datensatz mehrfach vorkommt

    • ugt100
    • 29. April 2013 um 15:49

    Hi Alcros,

    werde das versuchen, allerdings erst heute abend oder schlimmstenfalls morgen im Laufe des Tages - aber die Idee erscheint mir gut, so muesste/könnte es klappen.

    Danke schon mal


    Gruss
    ugt100

    :P:P:P

  • IniRead bzw. IniReadSection Problem mit dem '=' als Delimiter, weil das '=' im Datensatz mehrfach vorkommt

    • ugt100
    • 29. April 2013 um 15:14

    Hallo zusammen,
    mal wieder eine Frage an das Forum hier, mit der Hoffnung auf einen Tip bzw. Rat

    Ich habe eine Datei, die mit lauter E-Mail artigen Namen zur Weiterverarbeitung genutzt werden soll (s. Bsp). Damit die lieben Userlein sich das schön anschauen können und ggf. Änderungen vorschlagen können, wäre eine Darstellung mittels ListView aus meiner Sicht gut.
    Das Problem ist jetzt, wenn ich diese Datensätze mittels GUICtrlCreateListView und IniReadSection in eine entsprechende GUI packen will, wird das erste '=' zum Trennen
    der Spalten (Columns) genommen.
    Frage: Kann ich darauf Einfluss nehmen und mittels, ich nenne es mal MASKIERUNG, das letzte '=' als Trennung bestimmen, sodass als Ergebnis sich Folgendes ergibt ?

    Col1 (Nummer) | Col2 (Name) | Col3 (ID)
    1 |CN=Phlipp Roesler/OU=FDP/OU=MdB/O=BRD | 123


    Ausgangsdatei:
    [test]
    CN=Phlipp Roesler/OU=FDP/OU=MdB/O=BRD = 123
    CN=Guido Westerwelle Pazic/OU=FDP/OU=MdB/O=BRD = 456
    CN=Horst Seehofer/OU=CSU/OU=MdB/O=BRD = 789
    CN=Angela Merkel/OU=CDU/OU=MdB/O=BRD = 101
    CN=Peer Steinbrueck/OU=SPD/OU=MdB/O=BRD = 112
    CN=Frank-Walther Steinmeier/OU=SPD/OU=MdB/O=BRD = 131
    CN=Christina Schroeder/OU=CDU/OU=MdB/O=BRD = 415
    CN=Claudia Roth/OU=Gruene90/OU=MdB/O=BRD = 161
    CN=Cem Oezdemir/OU=Gruene90/OU=MdB/O=BRD = 718


    P.S.
    Die GUI Erstellung bzw. ListView Erstellung ist nicht das Problem - das funktioniert schon.
    Wobei meine Befürchtung ist, dass das Trennzeichen rel. fix sein dürfte


    Danke
    mfg
    ugt100

  • LUA Script zum erstellen eines Funktionsheaders.

    • ugt100
    • 27. April 2013 um 13:54

    Hallo zusammen, hallo Raupi (Du als Ersteller der Funktion)
    Ich wollte die o.g. Erweiterung bei mir hinzufügen und habe alles so gemacht, wie es in der Anleitung beschrieben ist.
    Doch es tut sich nichts.

    Anmerkungen:
    a) ich nutze die 'portable' Version vom AutoIT 3.3.8.1 unter Win8 (64)
    b) die Datei SciTEUser.properties gab es bei mir nicht (weder in UserVerzeichnis noch sonst wo)
    c) die Datei konnte innerhalb von Scite mittels --> Options - Open User Option File im UserVerzeichnis erstellt werden (allerdings ist diese dann erst mal 'blank')
    d) in die Datei habe ich dann Deinen Aufruf mit #1 kopiert

    # 1 Insert AutoIt3 Function Header as per UDF guidlines
    command.name.1.*.au3=InsertFunctionHeader
    command.subsystem.1.*au3=3
    command.1.*.au3=InsertFunctionHeader
    command.save.before.1.*.au3=2
    command.shortcut.1.*.au3=Ctrl+Shift+Alt+C

    e) Scite schliessen und neu öffnen - bringt leider nicht den erwünschten Erfolg :(
    Vielleicht hast Du ja jemand eine Idee.

    Danke auf jedenfall schon einmal im voraus.

    LG
    ugt100
    (auch aus FFM !)

  • Timer in einer Statusbar anzeigen und hochzählen lassen.

    • ugt100
    • 23. April 2013 um 10:48

    Guten Morgen zusammen,

    Erst einmal grundsätzlich Danke für die Antworten.
    Nach einmal drüber schlafen habe ich es jetzt hinbekommen und sehe nun die aktuell hochlaufende Zeit pro Suchzyklus.
    Die eigentliche Lösung meines Problems lag darin, die Variable cde_begin (Starten des Timers) mittels cde_begin="" immer wieder zurückzusetzen.

    [autoit]


    ...
    $cde_begin = "" ; reset variable to 'NULL' - don't forget
    $cde_begin = TimerInit() ; measuring search duration time -start-
    $cdeUhr = _GUICtrlStatusBar_SetText($cdeStatus, "00:00:00",3)
    AdlibRegister("_Timer", 1000)

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

    ;----> hier läuft das eigentliche Script für den Dir/File Compare

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

    AdlibUnRegister("_Timer")

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

    ;das ist die TimerFunc
    Func _Timer()
    If Not @error Then
    $cdeTime = _TicksToTime(Int(TimerDiff($cde_begin)), $Hour, $Mins, $Secs)
    $cdeTimeNew = $cdeTime
    $cdeTime = StringFormat("%02i:%02i:%02i", $Hour, $Mins, $Secs)
    If $cdeTimeNew <> $cdeTime Then _GUICtrlStatusBar_SetText($cdeStatus, $cdeTime,3)
    EndIf
    EndFunc ;==>Timer()

    [/autoit]


    Da das ganze Script ziemlich lang (und aufwendig - zumindest aus meine Sicht) ist, wollte ich nur die Teile die im Zusammenhang mit dem Timer stehen in den Thread bringen.
    Aber wenn es jemanden interessiert - also das ganze Script als solches - stelle ich es natürlich zur Verfügung
    Grundsätzlich tut es das was es 'für meine Zwecke' tun soll - nämlich den Kollegen die Möglichkeit zu geben einen Dir bzw. File Compare zu machen,
    wobei die zu vergleichenden Laufwerke/Dirs bequem auswählbar sind. Als Ergebnis ergibt sich eine Übersicht der Differenzen und - wenn gewünscht - sind auch die 'Dir-Listen'
    verfügbar. Alle anderen Dinge (Timer, Logo, Animation etc..) sind meinem Spieltrieb geschuldet + letztlich 'nice to have'.
    Inwieweit das alles gut und 'sauber' programmiert ist, kann ich nicht beurteilen. Sicher wird es aus Sicht der Profis erhebliches Verbesserungspotential geben, aber als 'Newbie' stehe ich dazu.


    Raupi
    Ich hoffe das erklärt mein Anliegen + die nicht Snips

    BugFix
    Ich glaube da habe ich mich wohl etwas missverständlich ausgedrückt. Eigentlich will/wollte ich nicht die aktuelle Uhrzeit einblenden, sondern die Laufzeit des aktuellen Suchzykluses.


    Nochmals vielen Dank und wie gesagt wenn Interesse besteht am Script - einfach Bescheid geben

    mfg
    ugt100

  • Timer in einer Statusbar anzeigen und hochzählen lassen.

    • ugt100
    • 22. April 2013 um 15:08

    Hallo zusammen,

    irgendwie drehe ich mich im Kreis und komme nicht so recht weiter mit meinem Problem (sofern es überhaupt eines ist)

    Ich versuche in einer Statusbar einen (hochzählenden) Timer zum Laufen zu bringen.
    Dieser soll einfach die Laufzeit des Scripts (ich nutze das Script um einen (Datei/Dir)Vergleich zu machen) hochzählen.
    Mittels der _TicksToTime Funktion und AdlibRegister wollte/will ich das umsetzen.

    Leider passiert aber nichts, es wird nicht hochgezählt - warum ?
    Wahrscheinlich ist es eine Kleinigkeit, aber ich jedenfalls sehe diese nicht.
    Weiss jemand vielleicht Rat?
    Ich habe mal die entsprechenden Stellen des Scripts beigefügt

    [autoit]


    Local $cdeParts[5] = [9, 130, 180, 240, 10] ;StatusBar (-parts & Splitting)
    $cdeStatus = _GUICtrlStatusBar_Create($cde_Form1) ;Statusbar
    _GUICtrlStatusBar_SetMinHeight($cdeStatus, 20)
    _GUICtrlStatusBar_SetParts ($cdeStatus, $cdeParts)
    cdeCR = _GUICtrlStatusBar_SetText($cdeStatus, " - cde 2013-",4)
    ...
    Local $cde_begin = TimerInit() ;measuring search duration time -start-
    $cdeUhr = _GUICtrlStatusBar_SetText($cdeStatus, "00:00:00",2)
    AdlibRegister("Timer", 1000)
    ...

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

    Func Timer()
    _TicksToTime(Int(TimerDiff($cde_begin)), $Hour, $Mins, $Secs)
    Local $sTime = $Time ;Letzten Timerstand merken, um den Vergleich zu ermöglichen und Flackern zu vermeiden..
    $Time = StringFormat("%02i:%02i:%02i", $Hour, $Mins, $Secs)
    If $sTime <> $Time Then _GUICtrlStatusBar_SetText($cdeStatus, $cdeUhr, 2)
    EndFunc ;==>Timer

    [/autoit]


    Danke schon einmal im voraus

    mfg
    ugt100

  • textfile (komma separiert) in ein 2d Array einlesen

    • ugt100
    • 11. April 2013 um 21:35

    Nochmal ein hallo,

    erstens ein generelles Feedback:

    ich habe die angebotenenen Lösung durch gespielt und festgestellt, dass letztlich alle funktionieren (viele Wege führen nach Rom - oder so).
    Soweit sogut.

    Alerdings habe ich auch feststellen müssen, dass mein 'QuellFile' - wie auch immer - einen CRLF (glaube ich zumindest) als letztes Zeichen des Textfiles mitbringt.
    D.h. z.B. bei 23 Accounts die geliefert werden, sind es letztlich nicht 23 Datensätze=Zeilen sondern 23 +1.
    OK - im Prinzip nicht schlimm kann ich mittels $cdeLine = StringTrimLeft($cdeLine, $cdeTrim-1) abfangen.

    Vllt. ist es aber auch eine Idee das Quellfile nochmal zu überarbeiten, bevor es weiter prozessiert wird in ein xlm file.
    Wobei ich noch nicht so genau weiss was da sinnvoll ist ... @CRLF ist es sicherlich nicht.
    Nun gut ich werde sehen.


    Danke an alle -> Alcros, UEZ, Make-Grafik

    :rock: - :thumbup:

    Gruss
    ugt100

  • textfile (komma separiert) in ein 2d Array einlesen

    • ugt100
    • 10. April 2013 um 21:27

    Hallo zusammen,

    so nun mit etwas Ruhe, kann ich vermelden, dass das ich im 1. Schritt das Script von Alcros nun zum Laufen gebracht habe.
    Warum ist mir noch nicht so ganz klar, aber da das $aSplit eine ungrade Anzahl Elemente listet, erklärt sich der Fehler im Nachgang (w/ DIV/2 ...).
    Mittels _ArrayPop($aSplit) klappt es dann !

    Anm.: Im QuellFile sehe ich nichts Fehlerhaftes - aber erstmal zweitrangig.

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

    #include <Array.au3>

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

    Global $sFile = FileRead("z3.txt") ; Datei einlesen
    $sFile = StringReplace($sFile,@CRLF,@LF) ; Alle Zeilenumbrüche in @LF ändern
    $sFile = StringReplace($sFile,@CR,@LF) ; Alle Zeilenumbrüche in @LF ändern
    Global $aSplit = StringSplit($sFile,@LF&",") ; Bei Komma und Zeilenumbruch splitten

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

    ArrayPop($aSplit); <----------------------- That's the clue

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

    Global $aNamen[$aSplit[0]/2+1][2] ; Array erstellen
    $aNamen[0][0] = UBound($aNamen)-1 ; Anzahl in Array schreiben
    Global $i
    FOr $i=1 To UBound($aSplit)-1 Step 2 ; Werte in Array schreiben
    $aNamen[($i+1)/2][0] = $aSplit[$i]
    $aNamen[($i+1)/2][1] = $aSplit[$i+1]
    Next
    _ArrayDisplay($aNamen)

    [/autoit]


    Nochmals vielen DANK an alle.
    Ich werde - wenn ich Zeit habe - die anderen Wege mir auch anschauen und ggf. im Forum entsprechende Infos/Antworten schreiben bzw. posten.


    mfg
    ugt100 :thumbup:

  • textfile (komma separiert) in ein 2d Array einlesen

    • ugt100
    • 10. April 2013 um 17:23

    Hallo

    erst einmal ein DANKE an alle di so schnell und kompettent geantwortet haben.
    Ich habe das ganze zwar noch nicht so ganz verdaut, denke aber das ich es verstehe.

    Desweiteren ist mir aufgefallen, dass ich offensichtlich eine Tatbestand meines TextFiles unterschätzt habe, der wohl doch zu Problemen führt.
    Ich hatte der Übersicht wegen das Textfile etwas gekürzt.

    In natura sieht das so aus (Canonischer Namen) + verursacht m.E. die Probleme:

    CN=Angela Merkel/OU=CDU/OU=Bundestag/O=BRD, AR12345
    CN=Guido Westerwelle/OU=FDP/OU=Bundestag/O=BRD, GR84029
    CN=Phillip Roesler/OU=FDP/OU=Bundestag/O=BRD, PR75375

    Kann das sein ?

    Asche auf mein Haupt - das war ziemlich ungeschickt - :cursing:


    DANKE
    mf
    ugt100

  • textfile (komma separiert) in ein 2d Array einlesen

    • ugt100
    • 10. April 2013 um 16:36

    Hi Alcros,

    puh - das ist ja nicht ganz so trivial.
    Zu Meinem Verständnis, was da passiert:
    Zeilen 3 - 6 ---- da werden alle möglichen Zeichen ersetzt um einen einheitliche Darstellung zu erhalten und in ein Array eingelesen - soweit OK, verstanden
    Zeile 8 ---- Aufbau des 2d Arrays: da in $aSplit in Summe immer ungerade Anzahl an Elementen vorliegen muss -> $aSplit[0]/2+1 = gerade Anzahl(Paare) + [2]- soweit OK, verstanden
    Zeile 9 ---- Anzahl der 'Paare' ins Array schreiben- soweit OK, verstanden
    Zeile 11 ---- Schleife zum Auslesen des $aSplit --> Anzahl / immer im 2er Schritt
    Zeile 12 ---- Ins 2d Array schreiben: 1. Element Row1/Col1 (1+1)/2 = 1 also an Pos [1] + [0] = $aSplit[1], weil i=1
    Zeile 13 ----- Ins 2d Array schreiben: 1. Element Row1/Col2 (1+1)/2 = 1 also an Pos [1] + [1] = $aSplit[2], weil i=i+1=2
    Zeile 15 ------ Array anzeigen - soweit OK, verstanden

    Liege ich richtig ?
    Beim test erhalte ich leider den Fehler (den ich nicht erkenne) - ich habe eine Testfile mit 8 Elementen genutzt.
    Array variable has incorrect number of subscripts or subscript dimension range exceeded.:

    Danke auf alle Fälle

    Gruss
    ugt100

  • textfile (komma separiert) in ein 2d Array einlesen

    • ugt100
    • 10. April 2013 um 15:31

    Hallo zusammen,

    ich stehe im Augenblick etwas auf dem Schlauch und komme nicht so recht weiter.
    Daher erhoffe ich mir hier einen Tip o.ä.


    Im Zuge einer Auswertung eines grossen Textfiles komme ich an eine Stelle in der ich gerne ein Textfile in ein Array einlesen muss (wie das funktioniert weiss ich)
    Die ieinzulesende Datei hat nach mehreren 'grep' Aktionen folgendes Format (stark vereinfacht)

    Angela Merkel, AR12345
    Guido Westerwelle, GR84029
    Phillip Roesler, PR75375
    ....

    Jetzt kann ich diese natürlich mittels _FileReadToArray einlesen was zu u.a. Ergebnis führt:

    [0]|3
    [1]|Angela Merkel, AR12345
    [2]|Guido Westerwelle, GR84029
    [3]|Phillip Roesler, PR75375
    ....


    ich hätte es aber viel lieber bzw. um den weiteren Fortgang rel. einfach umsetzen zu können, wäre folgende Form die Lösung meines Problems.
    (denn dann könnte ich auf die jeweiligen Elemente des Arrays direkt zugreifen und müsste nicht Nachgang das Ganze wieder auseinander'schneiden')

    [0][0]|3
    [1][0]|Angela Merkel
    [1][1]|AR12345

    [2][0]|Guido Westerwelle
    [2][1]|GR84029

    [3][0]|Phillip Roesler
    [3][1]|PR75375

    und da klemmst es jetzt bei mir :(


    Danke schon mal im voraus

    mfg
    ugt100

  • RegEx Ausdruck

    • ugt100
    • 5. April 2013 um 19:17

    stimmt - da war ein Fehler in der Zuordnung ... blöde
    Aber Dank Deiner Erklärung habe ich / bin ich dem 'Schwarzen Loch' REGEX wieder ein Stück näher.
    Das bleibt jedenfakks spannend - wird mich echt beschäftigen.


    Allen nochmals DANKE

    @James1337
    auch Dir explizit - Danke - für den Lösungsvorschlag (auch eine gute Version)
    Ich muss mit dem REGEX Thema intensiver beschäftigen, das echt grosses Potential

    mfg
    ugt100

  • RegEx Ausdruck

    • ugt100
    • 5. April 2013 um 16:56

    Super Danke an Name22 und UEZ für die schnellen Antworten
    Beide 'Versionen' funktionieren.

    Zu meinem Verständnis, sehe ich das richtig
    Variante UEZ:
    StringRegExpReplace($cdeArray[$i], "(\d{4}-\d{2}-\d{2}) ((?:\d{2}:){2}\d{2})", "\1" & @TAB & "\2")
    zu prüfender String steht in der Variablen $cdeArray[i]

    'pattern' - Teil 1: 4 Ziffern-2 Ziffern-2 Ziffern
    'pattern' - Teil 2: nachfolgend 2 Ziffern:2 Ziffern:2 Ziffern

    Replace - zw. Teil1 und Teil2 setze das Zeichen = TAB

    Variante name22
    StringRegExpReplace($sLog, "(?m)(\d+\-\d+\-\d+)(\h)(\d+\:\d+\:\d+.*)", "\1" & @TAB & "\3")
    warum am Ende die \3 ???


    Gruss und nochmals Danke

    mfg ugt100

  • RegEx Ausdruck

    • ugt100
    • 5. April 2013 um 16:27

    Hallo zusammen,

    ich hätte da eine Bitte und zwar

    benötige ich für ein Script, welches eine 'Aufarbeitung' eines rel. grossen LogFiles durchführt einen RegEx Ausdruck (denke ich zumindest).
    Es soll in dem Textfile in dem zeilenweise Einträge geschrieben wurden - siehe Bsp. - genau das eine Leerzeichen zwischen dem Datum und der Uhrzeit
    durch ein TAB ersetzt werden. Ich denke da an so etwas wie

    Ersetze das Leerzeichen, welches zwischen einer Gruppe von 10 Zeichen (im Format dddd-dd-dd) vor und einer zweiten Zeichengruppe von 8 Zeichen (im Format dd:dd:dd) danach steht

    2013-04-05 16:12:04 : Aufz. Start Mustermann AG
    vorher: 10 Zeichen vor - LEERZEICHEN - 8 Zeichen nach
    nachher: 10 Zeichen vor - TABULATOR- 8 Zeichen nach

    Leider bekomme ich den Ausdruck nicht hin :( - Wahrscheinlich ist das für einen REGEX Mächtigen ein ganz einfaches Ding

    DANKE

    mfg
    ugt100

  • Mehrere Instanzen eines Programmes

    • ugt100
    • 4. April 2013 um 11:10

    Hi James,

    ich habe das auch nicht als 'Böse' empfunden ... aber ein bischen 'Spass' muss auch sein - oder ?


    Gruss
    ugt100

  • Mehrere Instanzen eines Programmes

    • ugt100
    • 4. April 2013 um 10:46

    Hallo James,

    wie versprochen hier mein Feedback.
    Nachdem ich Deinen Hinweis registriert und auch verstanden hatte, war das ganze ziemlich schnell gelöst.
    Im Prinzip habe ich folgendes gemacht:


    Spoiler anzeigen
    [autoit]


    ;Main (wegen Mehrfachstartabfrage)
    If (_Singleton("xyz.exe", 1) = 0) Then
    $MsgBox = MsgBox(36, "Das Programm läuft bereits", "Eine Instanz der xyz.exe läuft bereits!" & @CRLF & "Wollen Sie tatsächlich eine weitere Instanz starten ?")
    If ($MsgBox = 6) Then
    MsgBox(64, "Neue Instanz", "Die Anwendung wurde nochmals gestartet. Ein weiteres SystemTray Icon ist vorhanden")
    _cdeXYZ()
    EndIf
    EndIf
    _cdeXYZ()

    [/autoit]

    Der Kniff bestand also darin mein eigentliches Script einfach als Func zu handeln ...
    (was ich jetzt allerdings nicht weiss, ob das 'sauber' programmiert ist ?)

    Nochmals Danke - :thumbup:

    mfg
    ugt100

    P.S. man beachte den Spoiler & Co 8)

  • Mehrere Instanzen eines Programmes

    • ugt100
    • 3. April 2013 um 16:36

    Hi James1337,

    da kannst Du mal sehen, ich habe vor lauter Bäumen den Wald nicht gesehen bzw. habe Deinen Kniff irgendwie total missverstanden.
    Wenn ich das jetzt richtig verstanden habe, wird sich das so machen lassen.

    Ich teste das (wahrscheinlich schon gleich morgen) und gebe DIR auf jedenfall ein Feedback.

    Supi - Danke

    mfg
    ugt100

    :thumbup:

  • Mehrere Instanzen eines Programmes

    • ugt100
    • 3. April 2013 um 14:57

    Hallo James1337,

    sorry - das mit dem Post - da habe ich zu schnell geklickert und nicht geprüft (normalerweise mache ich das schon richtig)

    So nun zu meinem Dilemma.
    Gibt es ggf. irgendeinen anderen Weg den Du Dir vorstellen kannst.
    Sinn und Zweck der Übung ist es dem lieben Userlein es zu ermöglichen eine x-te Instanz (wobei x > 1) zu starten,
    wobei allerdings eine 'Warnung' aufpoppt. Nach dessen Erscheinen soll er halt selbst ja oder nein sagen.
    Wenn NEIN - schliessen der akt. Instanz
    Wenn JA - ausführen der Instanz ohne erneute 'Prüfung/PopUp

    Danke schon mal

    mfg
    ugt100

  • Mehrere Instanzen eines Programmes

    • ugt100
    • 3. April 2013 um 12:33

    Hallo zusammen,
    in meiner 'Not' wende ich mich mal wieder hier an das Forum.
    (anmerken möchte ich, dass ich sowohl hier im Forum als auch allgemein dem Problem schon geraume Zeit nachgehe und leider zu keiner Lösung komme, vllt. ja auch zu dumm)


    Problem:
    Ein als .exe kompiliertes AutoIT Script wird im zum erstenmal gestartet (das Prog ist eine Art Log - ist aber letztlich egal) und nistet sich ausschliesslich als TrayIcon in den SystemTray (die möglichen Aktionen innerhalb des Programms werden dort über ein Tray Menue durchgeführt - also nix Active and/or Existing Window)

    Nun gibt es die seltene Situation das diesselbe .exe nochmal gestartet werden soll/muss. Um versehentliches Starten zu verhindern bzw. zumindest auf den Umstand hinzuweisen, würde ich dies gerne dem Anwender mitteilen. Nach dem Motto: Die Anwendung läuft schon, willst du wirklich diese nochmals starten.

    Und genau hier komme ich nicht so recht weiter:

    Im aufgeführten Snip ist alles schön, bis auf die Tatsache, das die Prüfung (natürlich) beim Starten der 2. Instanz wieder durchlaufen wird und 'fragt',
    was nach dem Bestätigen des erneuten Startens unschön ist.

    Irgendwie drehe ich mich da im Kreis - weiss jemand Rat oder hätte einen Tip ???

    Spoiler anzeigen


    If _Singleton("cdeZeiterfassung.exe", 1) = 0 Then
    $cdeInstance = MsgBox(36,"Das Programm läuft bereits", "Eine Instanz der EXE läuft bereits!" & @CRLF & "Wollen Sie tatsächlich eine weitere Instanz starten ?")
    If $cdeInstance = 6 Then
    ShellExecute(@ScriptDir & "\xyz.exe")
    MsgBox(64,"Neue Instanz", "Die Anwendung wurde nochmals gestartet")
    Else
    MsgBox(64,"Neue Instanz", "Die Anwendung wurde NICHT nochmals gestartet")
    Exit
    EndIf
    Else
    MsgBox(64,"Neue Instanz", "SingleStart")
    EndIf


    Danke schon einmal hier an das SUPER FORUM


    mfg
    ugt100

  • Aus Textfile (liste) einzelne Dateien erzeugen und abspeichern

    • ugt100
    • 22. März 2013 um 20:39

    Hallo zusammen.
    es ist wie immer einfach gut hier im Forum. Es gibt immer wieder schnelle Hilfe.

    Ein Dank in diesem Fall an PainTain und Autobert :thumbup:

    Da das Ganze mir keine Ruhe gelassen hat, habe ich eine kleine Nachtschicht eingelegt und die Kuh vom Eis bekommen.
    Letztlich ähnelt meine Lösung der Vorgehensweise von Autobert (das mit iniread usw. habe ich nicht genutzt)

    Wenn es von Interesse sein sollte, kann ich ja das Script posten - einfach Bescheid geben (ist aber eigentlich nichts so Bewegendes - letztlich)

    Also nochmals DANKE

    mfg
    ugt100

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™