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

Beiträge von Springstil

  • Email VersandSystem für Gutscheine

    • Springstil
    • 12. Februar 2019 um 11:50
    Zitat von alpines

    Bekommt ihr dann das Interface schon gestellt oder wird es erst dann programmiert? Ihr könntet doch direkt auf die Webvariante gehen und spart euch den Umweg über eine Exe oder sehe ich das falsch?

    Wir bekommen ein ganz neues Warenwirtschaft System. Mit Lager Verwaltung, Versand, ERP usw usw.. Dazu kommt auch ein B2B Shop und B2C. Angedacht ist der 1.10.2019 für den echt start (erst war es der 1.2 dann der 1.6..... ^^ )

    Das ganze wird später in den B2B Shop mit Intigriert. Nur kann es sein das das noch länger dauert weil dies erst mit einem Update nach geliefert wird. Daher suchen wir zur zeit nach einer Variante das ganze schneller lösen zu können. Und dafür reichen meine Programmier Kenntnisse absolut nicht aus :D Das wäre eine Lebensaufgabe für mich. Zu mindestens der teil der dafür sorgt das es gesendet wird bzw immer ein neuer Gutschein genutzt wird. Vielleicht findet sich ja jemand der lust darauf hat, und mir ein Angebot abgeben kann dafür. Dann kann ich das mal vorlegen :)

  • Email VersandSystem für Gutscheine

    • Springstil
    • 12. Februar 2019 um 11:29

    Hallo zusammen,

    Ich würde nur gern wissen ob es machbar ist bzw was das in etwa kosten würde wenn jemand so ein Skript erstellen würde :)

    Folgendes:

    Wir schicken unseren kunden Emails mit Aktuellen Katalogen. Diesen werden zur zeit händisch ein Gutschein für die jeweilige messe mit angehängt. Das sind aber massen an Email Adressen und Gutscheinen...

    Jeder Gutschein gilt nur einmal und darf auch nur an einen Kunden gesendet werden! Diese Gutscheine liegen einzeln im PDF Format vor.

    Nun wäre es schön, das wenn man beispielsweise eine Excel liste hat oder eine Outlook Verteiler Liste mit den Email Adressen, das Automatisch an diese Kunden der Link mit dem Katalog geschickt wird, und jeweils ein Gutschein mit an gehangen wird. Dieser Gutschein sollte dann am liebsten auch Archiviert werden evtl sogar mit dem Kunden Namen davor.

    Sprich ein Ordner wo die Aktuellen Gutscheine drin liegen und einen wo sie hinkopiert werden sollen wenn sie verschickt worden sind.

    Frage ist halt A: Wie lange würde es dauern das zu machen? und B: Was würde das Kosten?

    Das ganze würde nur für ca ein Jahr genutzt denn dann wird das alles über unsere Webseite gesteuert.


    Wir haben einen Exchange Server im Hause falls das weiterhilft oder Wichtig ist. :)

    LG

  • ProcessExists für einzelne Benutzer

    • Springstil
    • 12. Februar 2019 um 10:57
    Zitat von Bitnugger

    Ok, dann will ich mal ritterlich sein...

    Im Anhang findest du zwei Versionen. Eine die es via WMI macht, und eine die es via ProcessList macht - such dir eine aus!

    Ich denke mal, so hast du dir das gedacht...

    Edit: While- Schleife vergessen/eingebaut, damit sich das Script nicht selbst beendet.

    Danke noch mal für das Skript. Das Skript bleibt zwar offen, aber es loggt sich beim beenden nicht aus. Wo bekommt die schleife denn das Signal das die Anweisung zum ausloggen gegeben wird?

  • ProcessExists für einzelne Benutzer

    • Springstil
    • 6. Februar 2019 um 13:42

    Verständlich aber habe dir den Grund dazu per PN geschrieben. Ist vielleicht nicht der richtige Ort hier im Forum für die Gründe .

  • ProcessExists für einzelne Benutzer

    • Springstil
    • 6. Februar 2019 um 13:26

    Für mich dann doch ein wenig Kompliziert :saint: werde ich mir wohl eine andere Lösung einfallen lassen müssen.

  • ProcessExists für einzelne Benutzer

    • Springstil
    • 6. Februar 2019 um 12:38
    Zitat von alpines

    Ein Blick in die Dokumentation genügt:

    Es erlaubt dir dein AutoIt-Skript nur einmal pro System am laufen zu haben. Das $sOccurenceName ist dabei der Identifikator.

    Du nimmst als Identifikator einfach den Benutzernamen und versuchst das Skript zu starten, startet es mit einer Fehlermeldung von _Singleton weißt du, dass der aktuelle Benutzer es noch benutzt.

    Startet es ohne Fehlermeldung, weißt du, dass es nicht läuft und kannst es beenden und dich ausloggen.

    Bedeutet also, das ich gar nicht den Prozess abfrage, sondern nur Abfrage ob dieses Skript läuft?

    Das würde mir ja auch nichts bringen, da das Programm ja geschlossen wurde aber das Script läuft ja weiterhin.

    Kann mir das vielleicht jemand genauer erklären? Ich verstehe es irgendwie nicht. Sry

  • ProcessExists für einzelne Benutzer

    • Springstil
    • 6. Februar 2019 um 10:35

    Was macht denn _Singleton genau? und wie kann ich denn angeben um welchen Prozess es sich handelt?

  • ProcessExists für einzelne Benutzer

    • Springstil
    • 6. Februar 2019 um 09:01

    Hallo zusammen,

    ich habe schon ein wenig gegoogelt aber leider nicht die richtige Lösung für mich gefunden, die ich auch verstehe :P

    Grundproblem:

    Es geht darum, das sich Benutzer mit MDE Geräten am Terminal Server anmelden sollen. Hier soll eine Software gestartet werden für die Lagerverwaltung.

    Natürlich möchte ich vermeiden das die einfach das Programm aus machen und anfangen am Server rum zuspielen. Daher weise ich den Benutzern im DC eine umgebung zu die nur ein Programm ausführen soll und der Rest gesperrt bleibt bzw nicht sichtbar ist.

    Natürlich kann es aber auch vorkommen das dass Programm abstürzt oder jemand einfach auf Beenden klickt... Nun kann er das Programm natürlich nicht mehr Starten da er ja nicht ein mal einen Desktop hat. Er muss also ausgeloggt werden.

    Hierfür wollte ich einfach ein kleines einfaches Script zusammen schustern ^^ Soweit der Plan....

    Idee:

    Script wird ausgeführt, das Script startet das Programm mit den Argumenten und checkt alle Paar sekunden ob das Programm noch läuft. Wenn nicht einfach ausloggen

    Code
        $cmd1 = "shutdown.exe -l"
    run ("C:\sog\tools\bin\hhexew.exe -asstartcond -hhproj sogerp -hhfirm 01 hhpxProjWinFrame.exe -mskvar mini -nas -liz vstore","C:\sog\tools\bin\")
    While 1
    if ProcessExists("hhpxprojwinframe.exe") Then
    Else
        Sleep (3000)
    RunWait(@ComSpec & " /c " & $cmd1)
    Sleep (3000)
    EndIf
    WEnd

    Probleme:

    Das Script läut an sich super... nur wenn jemand anderes (also Benutzer) das Programm auf hat, denkt das Script das der Prozess noch läuft und tut nichts... Aber ich muss dies ja Benutzer abhängig steuern.

    Hat jemand dafür eine einfach und Simple Lösung? Leider bin ich nicht gerade sehr Firm in dem Thema mit UDF´s usw.. Hoffe ihr habt noch weitere Ideen und könnt mir Helfen.


    Lg

  • Aus Textdatei Zahlen bis zum bestimmten wert weiterführen

    • Springstil
    • 20. Juni 2018 um 14:12

    Stimmt jetzt wo du es sagst ich hatte eigendlich was anderes vor :x

    Ich war wohl so in Aufregung das es auch in Excel mit nem makro klappen könnte das ich mein eigentliches vorhaben übern Haufen geworfen habe :saint:

    Das schöne an dieser Sache mit dem VB ist, das ich noch ein Tool habe was in VB geschrieben ist wo ich mir zu diesen Artikel Nummern, bestimmte werte aus der Datenbank ziehen kann.

    Daher dachte ich es wäre einfach es mit der anderen Vorgabe zu erledigen. Also das in Reihe A von drin steht und in Reihe B Bis drin steht. Das soll das Makro dann hoch zählen. ABER es soll nur bis zu dem "-" hoch zählen und das was dahinter steht stehen lassen.

    Kurze Erklärung zu dem "-" Die ersten zahlen geben den Artikel an, das "-" gibt den Farbcode an. Nun sagt mein Kollege erst, das jeder Artikel unterschiedliche Farbcodes hat und diese nicht in der liste aufgeführt sind.

    Jetzt habe ich allerdings gesehen das diese doch aufgeführt werden...

    Kurz und Knackig gesagt, NEIN es muss nicht mehr möglich sein eine Range zu Definieren wie hoch er zählen soll nach dem "-" da diese Info ja fest steht. Es muss also nur vor dem "-" hochgezählt werden und dann wieder dahinter gesetzt werden.

    Ausgeben kann er das gerne 3 spalten daneben also wenn er von A und B etwas ausgeben soll kann er das gerne D reinschreiben einfach knall Hard untereinander.

  • Aus Textdatei Zahlen bis zum bestimmten wert weiterführen

    • Springstil
    • 20. Juni 2018 um 13:09

    Also

    1017820-00bis1017822-00.jpg
    4119000-51bis4119002-51.jpg
    4119000-84bis4119002-84.jpg
    4119000-92bis4119002-92.jpg
    4219000-00bis4219002-00.jpg
    4219000-10bis4219002-10.jpg

    So kommt die liste bei mir an. Ich setze dann filter bzw ersetze alles das es dann so aussieht

    1017820-00 1017822-00
    4119000-51 4119002-51
    4119000-84 4119002-84
    4119000-92 4119002-92
    4219000-00 4219002-00
    4219000-10 4219002-10

    halt mit Spalte A für die ersten zahlen (Von) und Spalte B für die 2te zahlen (Bis)

    Nun möchte ich gerne das er mir unter einander das so ausgibt:

    1017820-00

    1017821-00

    1017822-00

    4119000-51

    4119001-51

    4119002-51

    usw. Er muss also weiter zählen bis zum - und das was hinter dem - kommt wieder dahinter schreiben.

    Hoffe es ist so einfach erklärt.

    Hier auch mel nen Screenshot

    Dateien

    Unbenannt.PNG 26,26 kB – 0 Downloads
  • Aus Textdatei Zahlen bis zum bestimmten wert weiterführen

    • Springstil
    • 20. Juni 2018 um 12:35

    Hey Bugfix,

    Das ganze als Macro wäre natürlich der Hammer! eine kurze sache noch ich hab versucht das selber zu ändern aber bekomme es nicht hin.

    Ich habe in spalte A 479 Spalten und in B natürlich genau so viele. A ist von und B ist bis. Wie muss man das Makro umschreiben, damit er diese als Range nimmt und nicht B1 und B2 ? und ist es möglich das - nach den zahlen zu halten und wieder dahinter zu setzen? Die Tabelle sieht so aus: 8519022-40 8519024-40 und im nächsten dann zb 8519022-90 8519024-90 daher die frage ob ich ihn zählen lassen kann ohne das er das -90 mit nimmt, das aber am ende wieder dahinter schreibt. Also das dabei rauskommt: 8519022-90 8519023-90 8519024-90 8519022-40 8519023-40 8519024-40

    Ist das noch änderbar ?

  • Aus Textdatei Zahlen bis zum bestimmten wert weiterführen

    • Springstil
    • 20. Juni 2018 um 09:38

    Hallo zusammen,

    Folgendes Problem. Ich habe eine Textdatei mit Artikel Nummern die so aussehen: 3019180-91bis3019199-91

    Jetzt muss ich aus unserer Datenbank dazu die Preise ausziehen. Generell ist das ja kein Problem, nur stört mich dieses BIS... Ich habe in dem Beispiel jetzt 19 weitere Artikelnummern dahinter. Wenn ich die jetzt aber alle ausschreiben würde sitze ich noch morgen daran. Das sind einige :/ Mir fällt leider keine Möglichkeit ein das ganze in Excel zu lösen.

    Das Script sollte am besten hin gehen und sollte die zahlen weiterführen von der 3019180-91 bis hin zu der 3019199-91. Am besten wäre es auch wenn ich die zahlen nach - selber wählen kann die er mir überall mit rein schreibt. Also das er dann z.b blockweise 3019180-91, 3019180-92, 3019180-93 macht. Ich das aber vorher auswählen kann. womit er mir das auffüllen soll.

    Preislich gesehen weiß ich nicht was man dafür geben sollte :/ Würde mich einfach über nen Angebot freuen bzw schnelle Umsetzung. (wenn das überhaupt möglich ist)


    Ich bin leider nicht so gut im Programmieren und habe mit einem anderen Script von mir noch ziemlich zu kämpfen, und diese Aktion hier ist relativ wichtig und muss recht zügig erledigt werden... Die zeit drängt bei mir ein wenig. Ich brauche ca ne Woche um die ganze Sache Manuell zu machen und hoffe das es mit einem Script schneller geht

    Lg

  • Wenn Programm nicht gestartet dann abfrage ob starten oder nicht

    • Springstil
    • 19. Juni 2018 um 15:53

    AutoItler Wenn ich dich richtig verstehe, ist es doch eigendlich egal wenn ich auf einen wert nicht reagiere ? mein problem ist doch eigendlich das er bei der schelife wieder anfängt, und die erste schleife überspringt er weil der prozess ja vorhanden ist. Nur bei der 2ten schleife hab ich kein Argument ob er diese ausführen soll oder nicht. Somit müsste ich doch eigendlich irgendwie verhinden das die zweite If abfrage gestartet wird. also soetwas wie

    Code
    While 1
    if ProcessExists("calc.exe") Then WEnd

    damit er also wieder von vorne anfängt bis er else ausführen kann. oder sehe ich das falsch

    EDIT:

    Habe mal ein

    Code
    ContinueLoop

    dazwichen geschoben.

    Code
    While 1
    if ProcessExists("Calculator.exe") Then
        sleep (3000)
        ContinueLoop
    
    
    
    Else
        Dim $iMsgBoxAnswer
    $iMsgBoxAnswer = MsgBox(65,"Kilas Monitor Starter","Kilas Monitor wird in ca 15 Sekunden Gestartet." &@CRLF& "Zum Unterbrechen Abbrechen drücken!" ,15)
    Select
       Case $iMsgBoxAnswer = 1 ;Ok
    
        Case $iMsgBoxAnswer = 2 ;Abbrechen
    
        case $iMsgBoxAnswer =-1 ;Timeout
    
    EndSelect
    EndIf
    
    if $iMsgBoxAnswer = 1 or $iMsgBoxAnswer = -1 then
    run("C:\Windows\System32\calc.exe", "C:\Windows\System32\")
    sleep (1800)
    
    winwaitactive("KILAS","Gasper - KILAS MONITOR",60)
    Sleep(500)
    ControlClick("KILAS","","[CLASS:ThunderRT6OptionButton; INSTANCE:2]")
    Sleep (3000)
    
    else
        ExitLoop
    exit
    EndIf
    WEnd
    Alles anzeigen

    jetzt scheint es auf dem ersten blick mim Taschenrechner zu klappen? Kann man das so stehen lassen oder ist das blödsinn

  • Wenn Programm nicht gestartet dann abfrage ob starten oder nicht

    • Springstil
    • 19. Juni 2018 um 15:15

    Aber es gibt doch keinen wert mehr worauf ich reagieren kann?

    Wie löse ich das Problem am besten in leihen Sprache :P Ich bin grade ein wenig schwer von begriff sorry

  • Wenn Programm nicht gestartet dann abfrage ob starten oder nicht

    • Springstil
    • 19. Juni 2018 um 15:01

    Wie setze ich das denn zurück oO jetzt bin ich schon wieder verwirrt.


    Ist es nicht möglich bei

    Code
     if ProcessExists("Calculator.exe") Then

    die schleife von vorn beginen zu lassen? also das er wieder oben anfäng zu checken ob der Prozess da ist oder nicht? also Quasi then sleep 5000 und wend damit er wieder oben anfängt?

  • Wenn Programm nicht gestartet dann abfrage ob starten oder nicht

    • Springstil
    • 19. Juni 2018 um 14:53

    alpines ich habs einfach mit mit dem Designer von autoit versucht daher das select...

    autoiter wie meinst du das genau? wenn ich es ändere kommt das gleiche dabei raus :/ er startet immer das programm erneut

  • Wenn Programm nicht gestartet dann abfrage ob starten oder nicht

    • Springstil
    • 19. Juni 2018 um 13:58

    Ich habe das ganze jetzt so gemacht

    Code
    While 1
    if ProcessExists("KILAS_Monitor.exe") Then
    
    Else
        Dim $iMsgBoxAnswer
    $iMsgBoxAnswer = MsgBox(65,"Kilas Monitor Starter","Kilas Monitor wird in ca 15 Sekunden Gestartet." &@CRLF& "Zum Unterbrechen Abbrechen drücken!" ,15)
    Select
       Case $iMsgBoxAnswer = 1 ;Ok
    
        Case $iMsgBoxAnswer = 2 ;Abbrechen
    
        case $iMsgBoxAnswer =-1 ;Timeout
    
    EndSelect
    EndIf
    if $iMsgBoxAnswer = 1 or $iMsgBoxAnswer = -1 then
    run("K:\KILAS_Monitor.exe SUR_Monitor.cfg", "k:\")
    sleep (1800)
    
    winwaitactive("KILAS","Gasper - KILAS MONITOR",60)
    Sleep(500)
    ControlClick("KILAS","","[CLASS:ThunderRT6OptionButton; INSTANCE:2]")
    Sleep (3000)
    
    else
        ExitLoop
    exit
    EndIf
    WEnd
    Alles anzeigen

    Es scheint auch zu klappen (zumindest auf meinem Rechner) Produktiv habe ich es noch nicht testen können da ich das Monitor Programm grade nicht ausmachen kann :/ Aber werde es später mal versuchen.

    Aber bevor ich das versuche nur eine kurze frage zu dem jetzigen script.

    Wenn ich sage

    Code
    if ProcessExists("KILAS_Monitor.exe") Thenif ProcessExists("KILAS_Monitor.exe") Then

    macht er dann nichts und springt zum ersten Endif? Von da aus Fragt er ja dann den nächsten IF befehl ab. Hier bekommt er ja aber keine Rückmeldung weil ja nichts eingegeben wurde. Somit springt er doch dann in die schleife und fängt von vorne an oder ? Möchte halt vermeiden das er jede Min versucht Kilas zu starten weil was mit den IF befehlen nicht stimmt

  • Wenn Programm nicht gestartet dann abfrage ob starten oder nicht

    • Springstil
    • 19. Juni 2018 um 12:51

    Das habe ich ja durchaus verstanden. Nur weiß ich nicht wie ich ihm vorher sagen soll das er schauen soll ob der Prozess läuft oder nicht. bzw danach handeln. Also wenn er nicht läuft dann die abfrage mit IF und wenn es läuft soll er in 30 sekunden noch mal versuchen. Ich mache das ja jetzt zur zeit mit ner if abfrage. Also Wenn es läuft mach nichts und wenn es nicht läuft dann starte es. Was ich mir nur vorstellen kann wie es gehen könnte, wäre ja if ProcessExists("KILAS_Monitor.exe") Then spring wieder an den anfang else endif und dann wieder mit if anfangen und die msgbox checken. Nur weiß ich nicht genau wie ich ihn dazu bewegen soll wieder oben anzufangen

  • Wenn Programm nicht gestartet dann abfrage ob starten oder nicht

    • Springstil
    • 19. Juni 2018 um 12:29

    Wegen der abfrage von ja oder nein. Ich verstehe es einfach nicht wie ich das richtig hinbekommen soll.. Ich glaube dafür habe ich einfach zu wenig Ahnung vom Programmieren.... Ich denke ich lasse es am besten einfach sein es zu versuchen -.-

  • Wenn Programm nicht gestartet dann abfrage ob starten oder nicht

    • Springstil
    • 19. Juni 2018 um 12:14

    If Verzweigung ?

    Mein problem ist ja das ich keine if hinter einander setzen kann. Sonst würde ich es ja lösen können. Denke ich :/

    Code
    if  ProcessExists("KILAS_Monitor.exe") Then
    Else
    if msgbox (1,"test"," kials starten?",30) then = 1
        run("K:\KILAS_Monitor.exe SUR_Monitor.cfg", "k:\")
    sleep (1800)
    WinActivate ("KILAS","Gasper - KILAS MONITOR")
    winwaitactive("KILAS","Gasper - KILAS MONITOR")
    Sleep(500)
    ControlClick("KILAS","","[CLASS:ThunderRT6OptionButton; INSTANCE:2]")
    Sleep (3000)
    EndIf
    WEnd
    Alles anzeigen

    Aber das würde ja nicht gehen da ich hintereinander if verwende. Reden wir aneinander vorbei, oder bin ich nur zu blöd zu verstehen was du meinst :D

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™