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

Beiträge von Mikki

  • Zeilen aus Textdatei löschen

    • Mikki
    • 25. März 2020 um 22:24

    Guten Abend zusammen,

    danke für die vielen Antworten :) Musste noch lange arbeiten und dementsprechend antworte ich jetzt erst.

    Ich werde mir Morgen die Funktionen anschauen und das ganze mal in Ruhe genauer betrachten. Vorerst werde ich das Thema schließen.

    @Musashi : Danke noch für die Short Version ;)

    Vielen Dank an alle :)

    Bleibt Gesund :thumbup:

    Gruß Mikki

  • Zeilen aus Textdatei löschen

    • Mikki
    • 25. März 2020 um 16:24

    Hallo zusammen,

    die Arrays verstehe ich. Meine Frage ist: Da steht ja schon -15. Warum dahinter also noch mal -1?

    Gruß Mikki

  • Zeilen aus Textdatei löschen

    • Mikki
    • 25. März 2020 um 15:35

    Hallo @Musashi

    vielen Dank für die schnelle Hilfe. Habe soweit alles verstanden bis auf Zeile 25:

    Code
    $g_sRange = String(UBound($g_aFileArr) - 15) & "-" & String(UBound($g_aFileArr) -1)

    An welcher Stelle schreibt er denn die Anzahl der Zeilen in die Variable $g_aFileArr? Ubound kann ich noch nachvollziehen. Aber dann hört es auf.

    Auch dahinter: String(Ubound($g_aFileArr) -1). Warum hier noch mal -1?

    Gruß Mikki

  • Zeilen aus Textdatei löschen

    • Mikki
    • 25. März 2020 um 12:31

    Hallo zusammen :)

    ich möchte gerne aus mehreren Textdateien die ersten 8 Zeilen und die letzten 15 Zeilen löschen.

    Ich finde zwar viel zum Thema Leere Zeilen löschen oder Text ersetzen, aber leider nichts zum löschen einer kompletten Zeile. Gibt es überaupt einen Befehl für dafür?

    Danke im Voraus.

    Gruß Mikki

  • Dateiinhalte von mehreren Dateien vergleichen

    • Mikki
    • 23. März 2020 um 10:48

    Hallo alpines ,

    verstehe. Naja die Textdateien befinden sich im Bereich 10kB bis maximal 20kB. Also sollte sich nichts geben.

    Vielen Dank für eure Hilfe :)

    Gruß Mikki

  • Dateiinhalte von mehreren Dateien vergleichen

    • Mikki
    • 23. März 2020 um 10:40

    Hallo @Musashi ,

    danke für den Nachtrag :) .

    Ist denn meine Lösung für Textdateien prinzipiell richtig, oder ist deine Methode die bessere Wahl? Wie gesagt es geht mir erst mal nur um Textdateien.

    Gruß Mikki

  • Dateiinhalte von mehreren Dateien vergleichen

    • Mikki
    • 23. März 2020 um 09:03

    Guten Morgen Alpines ,

    der Denkanstoß hat geholfen. Ich wollte nur den Inhalt auf Übereinstimmung prüfen. Also ein True/False.

    Funktioniert alles.

    Vielen lieben Dank

    Hier noch der Code:

    So kann ich weiter arbeiten.

    C
    #include <File.au3>
    #include <Array.au3>
    #include <FileConstants.au3>
    
    Global $FileOpen[1000], $FileRead[1000], $FileList, $Vergleich[1000]
    
    Global $FileOpen_Master, $MasterFile = "C:\Users\Mikki\Desktop\master.txt", $FileRead_Master
    
    Global $Path = "C:\Users\Mikki\Desktop\test\"
    
    Example()
    
    Func Example()
    
        $FileOpen_Master = Fileopen($MasterFile)
        $FileRead_Master = FileRead($FileOpen_Master)
    
        $FileList = _FileListToArray($Path, "*")
    
        For $a = 1 To Ubound($FileList) -1
    
            $FileOpen[$a] = FileOpen($Path & $FileList[$a])
            $FileRead[$a] = FileRead($FileOpen[$a])
    
            If $FileRead_Master = $FileRead[$a] Then
                MsgBox(0, "Treffer", "")
            EndIf
            FileClose($FileOpen[$a])
        Next
        FileClose($FileOpen_Master)
    
    EndFunc
    Alles anzeigen
  • Dateiinhalte von mehreren Dateien vergleichen

    • Mikki
    • 22. März 2020 um 21:57

    Hallo Alpines,

    habe es gerade gesehen. Aber auch wenn ich dort einen Index oder die $a Zähler hinschreibe, passiert nichts.

    Ich weiß auch nicht wie ich die Dateien an sich vergleichen soll. Ist StringCompare überhaupt das Mittel zur Wahl?

  • Dateiinhalte von mehreren Dateien vergleichen

    • Mikki
    • 22. März 2020 um 21:48
    C
    #include <File.au3>
    #include <FileConstants.au3>
    #include <Array.au3>
    
    Global $FileRead[1000], $aFileList, $FileOpen[1000], $Path = "C:\Users\Mikki\Desktop\test\"
    
    Global $Vergleich
    
    $aFileList = _FileListToArray("C:\Users\Mikki\Desktop\test\", ".txt")
    
    For $a = 1 To UBound($aFileList) -1
       $FileOpen[$a] = FileOpen($Path & $aFileList)
       $FileRead[$a] = FileReadToArray($FileOpen[$a])
       
       $Vergleich = StringCompare($FileRead[$a]
       
    Next
    Alles anzeigen

    Hallo Musahsi,

    also oben der Klägliche Versuch. Wie gesagt ich habe überhaupt keinen Plan wie ich das machen soll.

    Ich möchte eine True/False Abfrage. Das reicht mir.

  • Dateiinhalte von mehreren Dateien vergleichen

    • Mikki
    • 22. März 2020 um 21:26

    Guten Abend zusammen,

    wie der Titel bereits vermuten lässt, würde ich gerne den Inhalt von mehreren Dateien miteinander vergleichen, und ggf. eine Meldung bekommen, sollte ein Unterschied vorhanden sein.

    Zur Info: Es sind alles .txt-Files

    Ich versuche mich die ganze Zeit daran, aber ich bekomme es nicht hin. Die Versuche bis jetzt sind sehr Bescheiden.

    Könntet Ihr mir da helfen?

    Vielen Dank im Voraus.

    Mit freundlichen Grüßen

    Mikki:)

  • Label überlappen

    • Mikki
    • 19. Februar 2020 um 16:08

    Hallo autoiter

    super das war´s schon. Wenn es doch immer so einfach gehen würde :)

    Vielen Dank :)

    Mfg Mikki

  • Label überlappen

    • Mikki
    • 19. Februar 2020 um 15:59

    Hallo zusammen,

    ich habe folgendes Problem:

    Ich versuche mir gerade ein Template anzulegen für die Zukunft. Es geht hier um das Flat Design. Ich weiß es gibt schon viele Vorlagen, ich möchte aber mein eigenes Design entwickeln.

    Hier mal der Code:

    Spoiler anzeigen

    #include <GUIConstantsEx.au3>

    #include <MsgBoxConstants.au3>

    #include <FontConstants.au3>

    #include <StaticConstants.au3>

    #Region Deklaration

    Global $aWindow

    Global $aMenue_Button[5][2]

    $aMenue_Button[0][1] = "Menü Button 1"

    $aMenue_Button[1][1] = "Menü Button 2"

    $aMenue_Button[2][1] = "Menü Button 3"

    $aMenue_Button[3][1] = "Menü Button 4"

    $aMenue_Button[4][1] = "Menü Button 5"

    Global $Button

    Global $Color_MenuButton_Font_default = 0xFFFFFF, $Color_MenuButton_Font_clicked = 0xFFFFFF

    Global $Color_MenuButton_Bk_default = 0x67809f, $Color_MenuButton_Bk_clicked = 0x2e3131

    Global $Window_Bk_Color = 0xececec

    Global $Bk_Color_Menu[2]

    $Bk_Color_Menu[1] = 0x67809f

    #EndRegion Deklaration

    Opt("GUIOnEventMode", 1)

    $aWindow = GUICreate("GUI Test", 800, 350)

    GUISetOnEvent($GUI_EVENT_CLOSE, "Close", $aWindow)

    GUISetBkColor($Window_Bk_Color, $aWindow)

    $Bk_Color_Menu[0] = GUICtrlCreateLabel("", 0, 0, 170, 350)

    GUICtrlSetBkColor($Bk_Color_Menu[0], $Bk_Color_Menu[1])

    For $a = 0 To 4

    $aMenue_Button[$a][0] = GUICtrlCreateLabel($aMenue_Button[$a][1], 10, 50 + $a * 50, 150, 27, $SS_CENTER)

    GUICtrlSetOnEvent($aMenue_Button[0][0], "Menu_Button_1")

    GUICtrlSetBkColor($aMenue_Button[$a][0], $Color_MenuButton_Bk_default)

    GUICtrlSetFont($aMenue_Button[$a][0], 15, 400)

    GUICtrlSetColor($aMenue_Button[$a][0], $Color_MenuButton_Font_default)

    Next

    $Button = GUICtrlCreateButton("Test", 500, 300, 100, 30)

    GUICtrlSetOnEvent($Button, "Button")

    GUISetState(@SW_SHOW)


    While 1

    Sleep(100)

    WEnd


    Func Menu_Button_1()

    GUICtrlSetBkColor($aMenue_Button[0][0], $Color_MenuButton_Bk_clicked)

    GUICtrlSetFont($aMenue_Button[0][0], 15, 400, $GUI_FONTUNDER)

    GUICtrlSetColor($aMenue_Button[0][0], $Color_MenuButton_Font_clicked)

    EndFunc

    Func Button()

    MsgBox(0, "Test", "Button clicked")

    EndFunc

    Func Close()

    Exit

    EndFunc

    Mein Frage lautet: Wie ist es möglich, dass die Menülabel die Funktion ausführen?

    Wenn ich auf das erste Label klicke, passiert nichts. Ist das farbliche "Band" nicht da, funktionieren diese Menülabel einfwandfrei.

    Vielen Dank im Voraus.

    Mfg Mikki

  • Mit Uhrzeiten rechnen

    • Mikki
    • 2. November 2018 um 09:44

    Hallo,

    ja habe es auch in der Hilfe gesehen. Hatte aber den Denkfehler, dass das optional wäre.

    Super vielen Dank an euch :)

    MfG Mikki

  • Mit Uhrzeiten rechnen

    • Mikki
    • 2. November 2018 um 09:31

    Hallo gmmg,

    okay das funktioniert. Das muss mir mal jetzt jemand erklären :D warum muss ich da ein fiktives Datum eintragen, damit das funktioniert?

    Mfg Mikki

  • Mit Uhrzeiten rechnen

    • Mikki
    • 2. November 2018 um 08:53

    Guten Morgen zusammen,

    vielen Dank für die Beispiele.

    Hier mal mein Code:

    C
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <Date.au3>
    
    
    Global $Window
    
    Global $aButton[10]
    Global $aButtonText[6]
    $aButtonText[0] =  "Beginn Arbeit"
    $aButtonText[1] =  "Beginn Pause"
    $aButtonText[2] =  "Ende Pause"
    $aButtonText[3] =  "Ende Arbeit"
    $aButtonText[4] =  "Auftrag Wechsel, Anfang"
    $aButtonText[5] =  "Auftrag Wechsel, Ende"
    
    Global $aButtonFunc[6]
    $aButtonFunc[0] =  "_Beginn_Arbeit"
    $aButtonFunc[1] =  "_Beginn_Pause"
    $aButtonFunc[2] =  "_Ende_Pause"
    $aButtonFunc[3] =  "_Ende_Arbeit"
    $aButtonFunc[4] =  "_Auftrag_Wechsel_Anfang"
    $aButtonFunc[5] =  "_Auftrag Wechsel_Ende"
    
    Global $ListView,  $aColumn[100],  $aItem[100000],  $aSubItem[100000]
    
    Global $Arbeit, $Pause, $Soll = 8, $Ist, $Mehrarbeit
    
    Global $NowDate, $aNowTime[4]
    
    
    Opt("GUIOnEventMode",  1)
    Opt("MustDeclareVars",  1)
    
    
    $Window =  GUICreate("Arbeitszeiterfassung 1.0",  1100,  620)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_Main")
    
    $ListView =  _GUICtrlListView_Create($Window, "", 10,  10, 900, 500)
    
    $aColumn[0] =  _GUICtrlListView_InsertColumn ($ListView,  0,  "Datum",  100)
    $aColumn[1] =  _GUICtrlListView_InsertColumn ($ListView,  1,  "Beginn Arbeit",  100)
    $aColumn[2] =  _GUICtrlListView_InsertColumn ($ListView,  2,  "Beginn Pause",  100)
    $aColumn[3] =  _GUICtrlListView_InsertColumn ($ListView,  3,  "Ende Pause",  100)
    $aColumn[4] =  _GUICtrlListView_InsertColumn ($ListView,  4,  "Ende Arbeit",  100)
    $aColumn[5] =  _GUICtrlListView_InsertColumn ($ListView,  5,  "Soll",  100)
    $aColumn[6] =  _GUICtrlListView_InsertColumn ($ListView,  6,  "Ist",  100)
    $aColumn[7] =  _GUICtrlListView_InsertColumn ($ListView,  7,  "Mehrarbeit",  100)
    $aColumn[8] =  _GUICtrlListView_InsertColumn ($ListView,  8,  "Std / Woche",  100)
    
    For $i =  0 To 3
    $aButton[$i] =  GUICtrlCreateButton($aButtonText[$i], 10 + 150 * $i, 520, 140, 30)
    GUICtrlSetOnEvent($aButton[$i], $aButtonFunc[$i])
    For $ii =  1 To 3
    GUICtrlSetState($aButton[$ii], $GUI_DISABLE)
    Next
    Next
    
    For $j =  4 To 5
    $aButton[$j] =  GUICtrlCreateButton($aButtonText[$j], -590 + 150 * $j, 570, 140, 30)
    Next
    
    GUISetState(@SW_SHOW)
    
    While 1
        Sleep(20)
    Wend
    
    Func _Beginn_Arbeit()
        $NowDate = _NowDate()
        $aNowTime[0] = _NowTime(3)
        
        $aItem[0] = _GUICtrlListView_AddItem($ListView, $NowDate, 0)
        $aSubItem[0] = _GUICtrlListView_AddSubItem($ListView, 0,  $aNowTime[0], 1)
        
        GUICtrlSetState($aButton[0], $GUI_DISABLE)
        GUICtrlSetState($aButton[1], $GUI_ENABLE)
    
    EndFunc
    
    Func _Beginn_Pause()
        $aNowTime[1] = _NowTime(3)
        $aSubItem[1] = _GUICtrlListView_AddSubItem($ListView, 0, $aNowTime[1], 2)
        
        GUICtrlSetState($aButton[1], $GUI_DISABLE)
        GUICtrlSetState($aButton[2], $GUI_ENABLE)
        
    EndFunc
    
    Func _Ende_Pause()
        $aNowTime[2] = _NowTime(3)
        $aSubItem[2] = _GUICtrlListView_AddSubItem($ListView, 0, $aNowTime[2], 3)
        
        GUICtrlSetState($aButton[2], $GUI_DISABLE)
        GUICtrlSetState($aButton[3], $GUI_ENABLE)
        
    EndFunc
    
    Func _Ende_Arbeit()
        $aNowTime[3] = _NowTime(3)
        $aSubItem[3] = _GUICtrlListView_AddSubItem($ListView, 0, $aNowTime[3], 4)
        $aSubItem[4] = _GUICtrlListView_AddSubItem($ListView, 0, $Soll, 5)
        
        $Arbeit = _DateDiff('s', $aNowTime[0], $aNowTime[3])    
        $aSubItem[5] = _GUICtrlListView_AddSubItem($ListView, 0, $Arbeit, 6)        
        
        GUICtrlSetState($aButton[3], $GUI_DISABLE)
    EndFunc
    
    
    
    Func CLOSE_Main()
        Exit 
    EndFunc
    Alles anzeigen

    Soweit funktioniert das. Nur leider funktioniert die Berechnung der Differenz nicht. Ich habe jetzt extra mal auf 's' gestelllt, damit man das schneller testen kann.

    Und im Feld "Ist" kommt leider immer 0 raus.

    Habe ich da irgendwie nen groben Fehler drin? (Würde mich nicht wundern) :D

  • Mit Uhrzeiten rechnen

    • Mikki
    • 1. November 2018 um 15:17

    Hallo zusammen,

    wie der Titel schon vermuten lässt, würde ich gerne ein Programm schreiben, welches mit Uhrzeiten rechnen kann.

    Das heißt: Im Endeffekt eine Art erweiterte Arbeitszeiterfassung. Wann komme, wann mache ich mittag, wann gehe ich. Daraus die Soll / Ist Zeiten auswerten und speichern. Das ganze auch mit Wochenstunden.

    Auch sollen auf Projekte bezogene Zeiten gespeichert werden.

    Ich habe auch schon im Kopf wie ich das machen will. Also das Schema.

    Die einzige Sache: wie bekomme ich vernünftige Zeiten raus? Also ich fange um 8 an. Habe um 12 bis 13:00 Pause. Verlasse dann um 17:00 die Firma.

    Mein soll: 8Std.

    Zum Beispiel wenn ich Überstunden habe, sollte da folgendes stehen +00:20.

    Habt ihr da eine Idee? Bin da am verzweifeln:(

    Danke im Voraus!

  • _FileListToArray

    • Mikki
    • 20. September 2018 um 09:20

    borsTiHD

    kann ich dir gerade noch so verzeihen :D

    Nein Spaß alles gut ;) ist ja schön dass dir geholfen wurde.

    MfG Mikki

  • _FileListToArray

    • Mikki
    • 15. September 2018 um 19:38

    Hallo Oscar

    I see :-). Ob es schneller ist muss ich mal testen.

    Aber meiner Meinung nach ist es egal ob ich mit meiner Methode 6 Sekunden benötige, oder mit deiner Methode 2 Sekunden.

    Wir haben maximal 500 Dateien im gesamten Verzeichnis. Und da kommt es auf ein paar Sekunden nicht an.

    Aber Danke für den Post. Ich werde es morgen in Ruhe mal testen :)

    MfG Mikki

  • _FileListToArray

    • Mikki
    • 15. September 2018 um 16:18

    Hallo Oscar

    das hört sich interessant an :) Hast du da ein Beispiel parat?

    MfG Mikki

  • _FileListToArray

    • Mikki
    • 14. September 2018 um 20:09

    Ja stimmt habe ich ganz verdaddelt.

    also mal hier wie es jetzt aussieht:

    Code
    $aFileList_Source = _FileListToArray($INI_READ_SECTION_1_KEY[0], "*.bmf_*", $FLTA_FILES)
        $aFileList_Dest = _FileListToArray($INI_READ_SECTION_1_KEY[12], "*.bmf_*", $FLTA_FILES)
        For $i = 0 To UBound($aFileList_Source) - 1
            $Dateiname_Source = StringLeft($aFileList_Source[$i], 100)
            For $ii = 0 To UBound($aFileList_Dest) - 1
                $Dateiname_Dest = StringLeft($aFileList_Dest[$ii], 100)
                If $Dateiname_Source == $Dateiname_Dest Then
                    $aMsgBox[54][0] = MsgBox(65, "Info: Doppelte Dateinamen vorhanden", "Im Ordner " & $INI_READ_SECTION_1_KEY[12] & " sind folgende Dateinamen schon vorhanden: " & $Dateiname_Dest & " Bitte prüfen Sie die Daten!" & @CRLF & @CRLF & @CRLF &  "Hinweis: Sollten Sie mit dem Vorgang fortfahren, werden alle Daten überschrieben!")
                    Switch $aMsgBox[54][0]
                        Case 1
                        Case 2
                            Call("_Button_freigeben_erstellen")
                            Return
                    EndSwitch
                EndIf
            Next
        Next
    Alles anzeigen

    Ich habe jetzt nur noch 4 Variablen. Also $aFileList_Source, $aFileList_Dest, $Dateiname_Source und $Dateiname_Dest.

    Habe diese für sämtliche Dateitypen und Pfade genommen. Funktioniert Einwandfrei. Jede Datei wird korrekt mit Pfad angezeigt, indem sie doppelt vorkommt.

    Mfg Mikki

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™