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

Beiträge von MadCatz

  • Tage und Monat minus bestimmte Zahl subtrahieren

    • MadCatz
    • 28. Januar 2014 um 10:13

    Guten Morgen,

    hab keinen Plan wie ich die Überschrift sonstsinnvoll benennen soll.

    Mein Probelm ist folgendes. Ich möchte gerne z.B. den heutigen Tag (28.01.2014) - 10 Tage rechnen, das klappt auch wunderbar, aber wenn ich z.b den 09.01.2013 - 10 Tage rechne, dann klappt das nicht, dass dann das Datum angepasst wird auf den 31.12.2013.

    Mein Programm schmiert dann ab und eine selbst erstellte MsgBox zeigt mir an lediglich an das Tag1(09.01.2013)-Tag2(10) = -1 ist.


    Wie bekomme ich es hin, dass mir der richtige Tag angezeigt wird?

  • Compile Dateiversion verändern?

    • MadCatz
    • 28. Januar 2014 um 10:04

    Vielen Dank =)

  • Compile Dateiversion verändern?

    • MadCatz
    • 27. Januar 2014 um 15:08

    Hallo Zusammnen,

    ich hab jetzt mein erstes Projekt fast fertig. Hab auch Bereits die erste Version Komiliert, allerdings steht da Dateiverison: 0.0.0.0

    Gibts es eine Möglichkeit, dass Autoit diese Dateversion in 1.0.0.0 ändert? Da ich weis dass ich mit der Zeit einige Updates für mein Programm bringen werden muss wäre das sehr Hilfreich :)

  • Passwort auf Schreibweise prüfen

    • MadCatz
    • 27. Januar 2014 um 08:13

    Hab es so hinbekommen wie es chesstiger empfolen hat. =) Funktioniert perfekt :)

    [autoit]

    Do
    $Kennwort = InputBox("Kennwort Abfrage", "Kennwort:","","*", 75,130)
    If @error = 1 Then
    Exit
    ElseIf StringCompare($Kennwort,"TC5s6t",1) = 0 Then;$Kennwort = "TC5s6t" Then
    GUISetState(@SW_ENABLE, $Konsole_Uebersicht)
    GUISetState(@SW_SHOW, $Konsole_Uebersicht)
    MSgBox(0+64,"","Anmeldung erfolgreich.",1)
    ElseIf StringCompare($Kennwort,"TC5s6t",1) = -1 Or StringCompare($Kennwort,"TCP5s6t",1) = 1 Then
    MsgBox(0+64,"Fehler","Falsches Kennwort",1)
    EndIf
    Until StringCompare($Kennwort,"TC5s6t",1) = 0

    [/autoit]
  • Passwort auf Schreibweise prüfen

    • MadCatz
    • 27. Januar 2014 um 07:38

    Guten Mrgen Zusammen,

    Vielen Dank für die ganzen Antworten =)

    Micha_he : Dein Tipp, steht schon so in meinem Script. Das funktioniert allerdings nicht wie gewünscht, da nicht getestet wird, ob Groß- oder Kleinschreibung vorhanden ist. Es wird nur überprüft, ob die Zeichen enthalten sind sonst nichts.

    Skerg: Ich verstehe leider nicht was du damit meinst ?( Meinst du ich soll das PW als Varriable setzten?

    NightmarePhoenix: Der Tipp wäre natürlich perfekt, da man damit das Problem sofort löst. Aber leider habe ich das vorher schon so geschrieben gehabt, aber da ich die Funktion für die Enter-tasten Betätigung nicht kenne und auch selbst nicht weis, wie ich das schreiben könnte, habe ich mich dann entschieden eine InputBox zu verwenden.

    @YaeroxXO: Das mit Case-Senitive habe ich mir angesehen und komm nicht dahinter, wie das Funktionieren soll, aber werde mich nochmal dran setzten und das dann ausprobieren.

    chesstiger : Werde ich mir auf jenden Fall mal ansehen, weils stark danach aussieht, als wäre es genau das was ich benötige.

  • Passwort auf Schreibweise prüfen

    • MadCatz
    • 24. Januar 2014 um 14:18

    Hallo Leute,

    ich glaub ich stell mich grade ein bisschen dumm an bei der Umsetzung der Passwort abfrage :S

    [autoit]

    Do
    $Kennwort = InputBox("Kennwort Abfrage", "Kennwort:","","*", 75,130)
    If $Kennwort = "TC5s6t" Then
    GUISetState(@SW_ENABLE, $Konsole_Uebersicht)
    GUISetState(@SW_SHOW, $Konsole_Uebersicht)
    MSgBox(0+64,"","Anmeldung erfolgreich.",1)
    ElseIf @error = 1 Then
    Exit
    Else
    MsgBox(0+64,"Fehler","Falsches Kennwort",1)
    EndIf
    Until $Kennwort = "TC5s6t"

    [/autoit]

    so, dass ist zwar generell richtig, aber das Beispiel Passwort wird auch angenommen, die Buchstaben belieben groß oder klein geschrieben sind.
    Ich versuch es hinzubekommen, dass die Schreibweise geprüft werde hab dazu dann follgendes ausprobiert:

    [autoit]

    Do
    If StringRegEXP ("TC5s6t", $Kennwort, "[.]") Then
    GUISetState(@SW_ENABLE, $Konsole_Uebersicht)
    GUISetState(@SW_SHOW, $Konsole_Uebersicht)
    MSgBox(0+64,"","Anmeldung erfolgreich.",1)
    ElseIf @error = 1 Then
    Exit
    Else
    MsgBox(0+64,"Fehler","Falsches Kennwort",1)
    EndIf
    Until $Kennwort = "TC5s6t"

    [/autoit]

    und noch einiges anderes, aber entweder nimmt er alles an oder alles bis auf das was ich als Beispiel PW gebe oder er fällt in eine entlosschleife die nicht mal mit @error geclosed wird.


    Kann mir bitte wer helfen. ^^:?:

  • 1 Diminsionales Array addieren

    • MadCatz
    • 22. Januar 2014 um 08:57

    Okey Funktioniert, was AspirinJunkie gepostet hat, vielen Dank =)

  • 1 Diminsionales Array addieren

    • MadCatz
    • 21. Januar 2014 um 15:23

    Hallo Zusammen,

    ich bin nochmal :)

    Also wie die Überschrift schon sagt habe ich vor ein Array zuaddieren, allerdings ist das nicht so einfach, da in dem Array !!!keine Zahlen stehen!!!, sonst wäre es ja zu einfach ;)

    Das Array sieht Beispielsweise so aus: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Die Einträge varrieren allerdings, und ich weis wie in der Mathematik ebenfalls nicht, was vorher für Einträge darin stehen werden.

    Meine Frage wäre nun, wie ich herausbekomme, wie oft welches Wort vorkommt, also z.B wie oft Etage1 in dem Array steht.
    Geht das wie wenn ich einfach Zahlen im Array addieren würde oder anders?

    =)

    Bilder

    • Unbenannt.PNG
      • 28,44 kB
      • 247 × 612
  • ListView füllen mit Ini Datei

    • MadCatz
    • 21. Januar 2014 um 15:14

    Lösung für das beschriebene Problem:

    [autoit]

    ;~ -------ListView Übersicht komplett füllen---------------------------------------
    Func ListView_Uebersicht_fuellen()
    $Tag=@MDAY
    $Tag2=$Tag-5
    For $x= $Tag To $Tag2 step -1
    ListViewLaden($Pfad_Start&"\Start.ini",0,$x)
    ListViewLaden($Pfad_Stopp&"\Stopp.ini",1,$x)
    ListViewLaden($Pfad_Ende&"\Ende.ini",2,$x)
    next
    EndFunc

    [/autoit]

    Und hier die Funktion in der Funktion:

    [autoit]

    ;~ -------ListView Übersicht Komplett füllen Func----------------------------------
    Func ListViewLaden($Pfad_ListViewLaden,$Auswahl,$h)
    $SectionsCount = IniReadSectionNames($Pfad_ListViewLaden)

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

    If NOT @error Then
    $Count = $SectionsCount[0]
    For $e = 1 To $Count
    $ArrayStartName = IniReadSection($Pfad_ListViewLaden, $SectionsCount[$e]) ;$SectionsCount auslesen Array[][] geht nicht
    $Name = $ArrayStartName[1][1]
    $Spool = $ArrayStartName[2][1]
    $Stopp = $ArrayStartName[3][1]
    $Time = $ArrayStartName[4][1]
    $Date = $ArrayStartName[5][1]

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

    $Kom = IniRead($Pfad_Auftragserfassung_Archiviert&""&$h&".ini", $Spool ,"Kom","")
    $Bemerkung = IniRead($Pfad_Auftragserfassung_Archiviert&""&$h&".ini", $Spool ,"Bemerkung","Fehler")
    $Express = IniRead($Pfad_Auftragserfassung_Archiviert&""&$h&".ini", $Spool ,"Express","Fehler")
    $EndGe = "-"

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

    If $Bemerkung <> "Fehler" AND $Express <> "Fehler" Then
    If $Auswahl = 0 Then
    GUICtrlCreateListViewItem($Name&"|"&$Kom&"|"&$Spool&"|"&$Time&"|"&$Date&"|"&$EndGe&"|"&$EndGe&"|"&$EndGe&"|"&$EndGe&"|"&$Bemerkung&"|"&$Express,$Voll_Uebersicht_List);Start
    ElseIf $Auswahl = 1 Then
    GUICtrlCreateListViewItem($Name&"|"&$Kom&"|"&$Spool&"|"&$EndGe&"|"&$EndGe&"|"&$EndGe&"|"&$EndGe&"|"&$Time&"|"&$Date&"|"&$Bemerkung&"|"&$Express,$Voll_Uebersicht_List);Stopp
    ElseIf $Auswahl = 2 Then
    GUICtrlCreateListViewItem($Name&"|"&$Kom&"|"&$Spool&"|"&$EndGe&"|"&$EndGe&"|"&$Time&"|"&$Date&"|"&$EndGe&"|"&$EndGe&"|"&$Bemerkung&"|"&$Express,$Voll_Uebersicht_List);Ende
    EndIf
    EndIf
    If $Express = "Ja" Then GUICtrlSetBkColor(-1,0xFF0000)
    Next
    EndIf
    EndFunc

    [/autoit]


    Das ist dann auch schon alles gewesen =)

    Der Quelltext vom Eingangstext zum Thema war nur ein kleiner Ausschnitt von dem, was ich vor hatte.

  • ListView füllen mit Ini Datei

    • MadCatz
    • 21. Januar 2014 um 11:44

    So hab meine Funktion verbessert und siehe da, es läuft einwandfrei =)

    Nicht mal mehr die hälfte von dem was ich gepostet habe

    Wenn Lösung erwünscht, kann ich die gerne posten.

  • ListView füllen mit Ini Datei

    • MadCatz
    • 20. Januar 2014 um 14:31

    Also Ini Satze in der INI-Datei varrieren, könnten sogar 1000 oder mehr sein.

    Ini Dateien werden 1 mal täglich angelegt

  • ListView füllen mit Ini Datei

    • MadCatz
    • 20. Januar 2014 um 14:15

    Danke für deine antwort =)

    ich hab leider die Vorgabe, dass ich mit INI Datei das ganze erledigen muss

  • ListView füllen mit Ini Datei

    • MadCatz
    • 20. Januar 2014 um 08:40

    Hallo Leute,

    kleines Problem, dass evtl. nur besteht weil ich ein weinig "faul" programmieren möchte, aber nicht genau weis wie ich dass anstellen soll ^^

    Also folgendes:

    Ich habe eine ListView, die sich die daten aus INI-Dateien list, die so angelegt werden:

    [autoit]

    $Pfad_Auftragserfassung_Archiviert = @ScriptDir&"\Daten\Archiv\Aufragserfassung"&@YEAR&""&@MON

    [/autoit]

    halt jeden Tag eine neue Ini-Datei.

    Nun ist das Problem, dass die ListView sich so nach diesem Schema füllt:

    [autoit]

    $SectionsCount2 = IniReadSectionNames($Pfad_Ende&"\Ende.ini")

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

    If NOT @error Then
    $Count2 = $SectionsCount2[0]
    For $b = 1 To $Count2
    $ArrayEndeName = IniReadSection ($Pfad_Ende&"\Ende.ini", $SectionsCount2[$b])
    $NameE = $ArrayEndeName[1][1]
    $SpoolE = $ArrayEndeName[2][1]
    $StoppE = $ArrayEndeName[3][1]
    $TimeE = $ArrayEndeName[4][1]
    $DateE = $ArrayEndeName[5][1]

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

    $StartTime = IniRead($Pfad_Start&"\Start.ini", $SpoolE ,"Uhrzeit","")
    $StartDate = IniRead($Pfad_Start&"\Start.ini", $SpoolE ,"Datum","")
    $Kom2 = IniRead($Pfad_Auftragserfassung_Archiviert&""&@MDAY&".ini", $SpoolE ,"Kom","")
    $Bemerkung2 = IniRead($Pfad_Auftragserfassung_Archiviert&""&@MDAY&".ini", $SpoolE ,"Bemerkung","Fehler")
    $Express2 = IniRead($Pfad_Auftragserfassung_Archiviert&""&@MDAY&".ini", $SpoolE ,"Express","Fehler")
    $StartGe = "-"

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

    GUICtrlCreateListViewItem($NameE&"|"&$Kom2&"|"&$SpoolE&"|"&$StartGe&"|"&$StartGe&"|"&$TimeE&"|"&$DateE&"|"&$StartGe&"|"&$StartGe&"|"&$Bemerkung2&"|"&$Express2,$Voll_Uebersicht_List)
    If $Express2 = "Ja" Then GUICtrlSetBkColor(-1,0xFF4500)
    Next
    EndIf

    [/autoit]

    heißt ja auf gut deutsch, dass immer die die Datensätze die nicht mehr @MDay sind die Meldung "Fehler" haben.
    Wie kann ich jetzt dafür sorgen dass, alle Daten eingelsen werden, die auch ein anderes Datum haben, ohne @MDay-1,@Mday+1 usw. schreiben muss.
    Geht dass mit eeiner For-schleife oder lässt sich das auch mit einer While-Schleife sinnvoll umsetzten?

  • Datei abfrage in Minutenintervall

    • MadCatz
    • 17. Januar 2014 um 13:46

    Danke für eure Antworten und eure schnelle Hilfe :)

    @YaeroxXO : Deine erste Varriante, war so einfach, da hätte ich selbst drauf kommen müssen :pinch:
    Deine zweite Varrinate fand ich gut, aber war leider nicht so richtig mit meinem Projekt zukombinieren.

    @ AspirinJunkie: Deine Methode scheint zu funktionieren hab es selbst nicht ausprobiert, weil ich selbst auf eine Lösung gekommen bin. Das die Festplatte nicht in den Ruhemodus geschaltet werden kann ist vollkommen egal.


    Hier noch meine Lösung, im Prinzip wie die von YaeroxXO:

    [autoit]

    If Mod(@MIN, 2) = 0 And $Aktua = 0 Then
    $Aktua = 1
    $First_Time = 0
    ComboBox_Spool_fuellen()
    ElseIf $First_Time = 1 Then
    $First_Time = 0
    ComboBox_Spool_fuellen()
    EndIf

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

    If Mod(@MIN, 2) = 1 Then $Aktua = 0

    [/autoit]


    Ich danke euch =)

  • Datei abfrage in Minutenintervall

    • MadCatz
    • 17. Januar 2014 um 10:07

    Hallo Zusammen,

    ich habe eine Frage: Wie kann ich eine Ini Datei im Minutentakt abfragen, ob neue Datensätze hineingeschrieben werden?


    Hintergrund:

    Ich habe ein Tool geschrieben, dass Datensätze aus einer Ini Datei in eine ComboBox einliest, allerdings nur beim Starten des Tools. Wenn aus der ComboBox ein Wert ausgewählt wird und ein Button gedrückt wird, dann wird der Datensatz aus der Ini gelöscht und in eine andere Ini mit einem anderen Status (z.B. Start eingetragen), dann wird die ComboBox auch aktualisiert.

    Mein Problem ist jetzt allerdings, dass wenn keine Daten mehr in der Ini enthalten sind die ComboBox dementsprechend eine Meldung ausgibt, das keine Daten zum einlesen vorhanden sind.
    Die INi Datei aus der sich diese Combobox die Datensätze holt, wird mit einem anderen Tool erstellt, heist wenn beide Tools offen sind und die Ini wieder einen Datensatz erhält, bekommt das mein Tool mit der ComboBox nicht mit, da die Intervall abfrage fehlt.

    Kann mir vielleicht einer sagen, wie ich eine Intervall abfrage erstellen kann z.B im Minutentakt? Damit würde mir sehr geholfen werden =)

  • ListView Absatz zwischen Einträgen verändern

    • MadCatz
    • 15. Januar 2014 um 07:00

    Also gibt es keine richtige Möglichkeit einen Absatz zu machen, der weniger groß ist, als eine ganze Zeile?

  • ListView Spalten Füllungsproblem

    • MadCatz
    • 14. Januar 2014 um 12:01

    Problem gelöst =) Hier die Lösung


    [autoit]

    $SectionsCount = IniReadSectionNames($Pfad_Start&"\Start.ini")
    $Count=$SectionsCount[0]

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

    For $a = 1 To $Count
    $ArrayStartName = IniReadSection($Pfad_Start&"\Start.ini", $SectionsCount[$a]) ;$SectionsCount auslesen Array[][] geht nicht

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

    $Name = $ArrayStartName[1][1]
    $Spool = $ArrayStartName[2][1]
    $Stopp = $ArrayStartName[3][1]
    $Time = $ArrayStartName[4][1]
    $Date = $ArrayStartName[5][1]
    $EndeTime = IniRead($Pfad_Ende&"\Ende.ini", $Spool ,"Uhrzeit","")
    $Kom=IniRead($Pfad_Auftragserfassung&"\Aufträge.ini", $Spool ,"Kom","")
    $Bemerkung=IniRead($Pfad_Auftragserfassung&"\Aufträge.ini", $Spool ,"Bemerkung","Fehler")
    $Express=IniRead($Pfad_Auftragserfassung&"\Aufträge.ini", $Spool ,"Express","Fehler")
    Next

    [/autoit]
  • ListView Absatz zwischen Einträgen verändern

    • MadCatz
    • 14. Januar 2014 um 11:56

    Hallo Leute :)

    Ich habe eine ListView gebastelt uns lese dort eine Menge Datensätze ein, sodass es ziemlich schnell unübersichtlich wird. Gibt es eine Möglichkeit innerhalb einer ListView den Absatz zwischen 2 Wärtern, die untereinander stehen zu verändern?

    Gruß,
    MadCatz

  • Problem: 2D Array wird nicht in Excel (.xlsx) eingefügt

    • MadCatz
    • 13. Januar 2014 um 07:11

    Entschuldigt bitte hatte vergessen mein Thema zu abonnieren :S

    Ich danke euch beiden für eure Hilfe und werde mir mal beide Tipps ansehen :)
    Falls es klappt sag ich bescheid :)

    Edit:

    Andy
    Danke war genau der Fehler den ich hatte =)
    Die Autoit Hilfe benutze ich immer zuerst wenn ich ein Problem habe, konnte damit aber nix anfangen

  • Problem: 2D Array wird nicht in Excel (.xlsx) eingefügt

    • MadCatz
    • 10. Januar 2014 um 13:48

    Hallo Leute =)

    Ich hab eine Problem, dass sieht so aus: Ich kann mein 2 Diminsionales Array nicht in eine xlsx Datei einlesen, obwohl das ja normalerweise einfach gehen sollte.

    Quellcode:

    [autoit]

    $ArrayListView = IniReadSection($Pfad_Techniker&"\Techniker\Techniker.ini","Techniker")
    $Excel_Techniker = (@Scriptdir &"\Excel Sheets\Techniker.xlsx")
    _ExcelBookOpen($Excel_Techniker,1)

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

    For $NewInt2 = 1 To Ubound($ArrayListView)-1 Step 1
    For $i = 2 To Ubound($ArrayListView)-1 Step 1
    _ExcelWriteCell($Excel_Techniker, $ArrayListView[$NewInt2][1],$i,2)
    MsgBox(0,"",$ArrayListView[$NewInt2][1])
    Next
    Next

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

    _ExcelBookSave($Excel_Techniker)
    _ExcelBookClose($Excel_Techniker)

    [/autoit]

    In der For Schleife wird ja zuerst der Arrayinhalt erfasst und dann in der weiteren Vorschleife wird das Array in die Excel Datei eingelesen, aber das funktioniert nicht ?(?(?(

    Das Array wird definitiv erkannt und ausgelesen nur nicht eingefügt. (Die ArrayWerte)


    Kann mir vielleicht einer erklären wo mein Fehler ist ?(

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™