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. oh-ha-2

Beiträge von oh-ha-2

  • Doppelte Einträge aus *.ini löschen

    • oh-ha-2
    • 28. Dezember 2014 um 19:15

    Hallo BugFix,


    kommt in Wirklichkeit noch eine Sektion dabei und auch bei 2014/12/01=1 kann es eine =2 oder =3 sein.
    Wollte das Beispiel halt nicht so aufblähen. Mir wäre ja schon geholfen gewesen das eine Problem zu lösen.

    Mit SQLite kenne ich mich null aus, werde es mir aber mal anschauen müssen für andere Projekte.
    Dieses Kalendarium hat alleine schon 4 Ini Dateien. Um das noch alles zu ändern müßte ich alles neu schreiben.
    Ist bis dato auch schon lauffähig bis auf ein paar kleine sachen.


    Gruss
    oh-ha-2

  • Doppelte Einträge aus *.ini löschen

    • oh-ha-2
    • 28. Dezember 2014 um 14:59

    Ups,

    Nü komme selbst ich durcheinander ?( . Habe ich das oben denn so schlecht erklärt?
    Wie man an Radios/Checkboxen einen Haken macht weiss ich und auch wie man den weg bekommt.
    War aber auch nicht gefragt.
    Wie man in den einzelnen Sektionen etwas reinschreibt oder löscht weiss ich auch.
    Nur das zusammenspiel Löschen, reinschreiben plus die beiden Inputs entsprechend anpassen da hakt es bei mir.

    Anhand meines Beispielskrips,Post1, noch mal erklärt, hoffe mal das ich es jetzt besser mache.
    Inhalt der Test.ini

    Code
    [Übernachtung]
    2014/12/01=1
    2014/12/02=1
    2014/12/03=1
    2014/12/04=1
    [Keine Übernachtung]
    2014/12/05=1
    2014/12/06=1
    2014/12/07=1

    Anzeige $Input1 = 4
    Anzeige $Input2 = 3
    Wenn man nun im Kalender zB den 02.12.2014 anklickt und das Radio2=keine Übernachtung Checkt dann soll zum einen in der Test.ini
    bei Übernachtung der Eintrag 2014/12/02=1 raus und bei keine Übernachtung der Eintrag 2014/12/02=1 rein.
    Desweiteren müssen dann ja auch die beiden Inputs angepasst werden.
    Das ganze müßte dann so aussehen in der Test.ini.

    Code
    [Übernachtung]
    2014/12/01=1
    2014/12/03=1
    2014/12/04=1
    [Keine Übernachtung]
    2014/12/05=1
    2014/12/06=1
    2014/12/07=1
    2014/12/02=1


    Anzeige $Input1 = 3
    Anzeige $Input2 = 4

    Gruss
    oh-ha-2

  • Doppelte Einträge aus *.ini löschen

    • oh-ha-2
    • 28. Dezember 2014 um 14:33

    Der doppelte Eintrag kommt ja automatisch wenn man eine falsche Eingabe berichtigen möchte.
    Wie ich den aus der Sektion löschen kann weiss ich, nur bekomme ich es nicht zum laufen den zum einen zu löschen plus die
    Inputs dementsprechend anzupassen. Quasi beides zusammen macht mir kopfzerbrechen.


    Gruss
    oh-ha-2

  • Doppelte Einträge aus *.ini löschen

    • oh-ha-2
    • 28. Dezember 2014 um 14:21

    Hmmm,

    habe ich mich wohl falsch ausgedrückt oder verstehe nicht was du mir damit sagen möchtest.
    Die ini in ein Array einlesen ist nicht das Problem das ich habe. Ich möchte halt nur den
    Eintrag aus der einen Sektion [Übernachtung] weghaben und und in der anderen Sektion [Keine Übernachtung] eintragen und andersherum.
    Des weiteren dann halt auch die Inputs endsprechend aktualisieren wie sie halt in der ini stehen.

    Gruss
    oh-ha-2

  • Doppelte Einträge aus *.ini löschen

    • oh-ha-2
    • 28. Dezember 2014 um 12:41

    Hallo,

    wie bekommt man es hin das man doppelte Einträge in einer *.ini wieder löscht?
    Im Beispielscript trägt man per Tag ein ob man übernachtet hat oder nicht.
    Wenn man zB. am 01.12 versehentlich "Übernachtung" eingetragen hat und dies wieder ändern möchten in "keine Übernachtung"
    muss zum einen der Eintrag "Übernachtung" in der *.ini gelöscht werden bei "keine Übernachtung" wieder eingetragen werden.
    Das ganze soll dann auch noch korrekt in den Inputs angezeigt werden.

    Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <DateTimeConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=
    Global $Form1 = GUICreate("Form1", 219, 438, 543, 159)
    Global $Input1 = GUICtrlCreateInput("0", 48, 272, 121, 21)
    Global $Input2 = GUICtrlCreateInput("0", 48, 328, 121, 21)
    $Label1 = GUICtrlCreateLabel("Übernachtungen", 64, 248, 84, 17)
    $Label2 = GUICtrlCreateLabel("Keine Übernachtungen", 56, 304, 114, 17)
    Global $Button1 = GUICtrlCreateButton("Eintragen", 72, 360, 75, 25)
    Global $Button2 = GUICtrlCreateButton("Beenden", 136, 408, 75, 25)
    Global $MonthCal1 = GUICtrlCreateMonthCal("2014/12/28", 16, 8, 191, 164)
    $Group1 = GUICtrlCreateGroup("Übernachtung", 48, 184, 129, 57)
    Global $Radio1 = GUICtrlCreateRadio("Ja", 65, 210, 49, 17)
    Global $Radio2 = GUICtrlCreateRadio("Nein", 120, 209, 49, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    GUICtrlSetState($Radio1, $GUI_CHECKED)

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

    GUICtrlSetOnEvent($Button1, "lesen_schreiben")
    GUICtrlSetOnEvent($Button2, "Ende")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Ende")

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

    Func Lesen_Schreiben()
    $kalender_lesen = GUICtrlRead($MonthCal1)
    $uebernachtungen = GUICtrlRead($Input1)
    $keine_uebernachtungen = GUICtrlRead($Input2)

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

    If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then
    IniWrite(@ScriptDir & '\test.ini', 'Übernachtung', $kalender_lesen, '1')
    GUICtrlSetData($Input1, $uebernachtungen +1)
    EndIf

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

    If BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED Then
    IniWrite(@ScriptDir & '\test.ini', 'Keine Übernachtung', $kalender_lesen, '1')
    GUICtrlSetData($Input2, $keine_uebernachtungen +1)
    EndIf
    EndFunc;==>lesen_schreiben

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

    Func Ende()
    Exit
    EndFunc;==>Ende

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

    While 1
    Sleep(100)
    WEnd

    [/autoit]


    Hatte schon versucht das über Arrays zu machen, da bin ich aber immer dran gescheitert das diese bei Monatsanfang leer sind und
    das Script zum absturz brachten.
    zB so:

    [autoit]

    Local $uebernachtungen_vergleich = IniReadSection(@ScriptDir & '\test.ini', 'Hotel')
    $suche_doppelt_eintrag = _ArraySearch($uebernachtungen_vergleich, $kalender_lesen)

    [/autoit]

    Hoffe mal mich nicht zu umständlich ausgedrückt zu haben.

    Das ganze ist nur ein sehr kleiner Teil eines größeren Scriptes, das ich hier aber nicht Posten kann/darf da dort realdaten stehen.
    Schaut so aus:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.


    Gruss
    oh-ha-2

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™