Problem: ini-wert 380kb groß :(

  • hallo leute, ich nutze eine ini datei mit einem wert der 380kb groß ist...

    Code
    [commandlist]
    commands=command1|beschreibung^command2|beschreibung^...


    ...dieser wird dann in ein listview eingtragen und ist editierbar. und wird dann wieder zurückgeschrieben ...
    na ja, auf jeden fall hat das alles noch toll geklappt als die datei < 65kb war. jetzt fehlt der überhang :(
    ich hab schon versucht das ganze aufzusplitten in verschiedene werte: commands0=, commands1=..aso
    das geht auch, allerdings besteht das problem jetzt darin, dass der user auch die befehle editieren kann...
    wenn ich jetzt also das listview schreibe, dann weiss ich nicht wie ich das am besten splitten soll was ja sein müsste ...

    wie würdet ihr das problem lösen ?

    Einmal editiert, zuletzt von WhiteLion (14. August 2010 um 01:27)

  • Genau das gleiche Problem hatte ich bei meinem Minigame auch, Ich hab es so gelöst:
    Schreiben:

    [autoit]

    If IniRead("data/config.ini", "Audio", "Kollisionsound", "") = "" Then IniWrite("data/config.ini", "Audio", "Kollisionsound", "")
    $kss = StringRegExpReplace(FileRead("data/config.ini"), "Kollisionsound=.*", "Kollisionsound=" & GUICtrlRead($kollisionsound))
    FileWrite("data/config.ini", $kss)

    [/autoit]


    Lesen:

    [autoit]

    $hits = StringRegExp(FileRead("data/config.ini"), "(.*)\nKollisionsound=(.*)", 3)
    If IsArray($hits) Then $hits = StringReplace($hits[1], @CR, "")

    [/autoit]
  • Eine Frage: Warum hast du nicht dieses Ini-Format?

    Code
    [commands]
    Kommando1=Beschreibung1
    Kommando2=Beschreibung2
  • Eine Frage: Warum hast du nicht dieses Ini-Format?

    Code
    [commands]
    Kommando1=Beschreibung1
    Kommando2=Beschreibung2

    Eine Frage: Warum hast du nicht dieses Ini-Format?

    Code
    [commands]
    Kommando1=Beschreibung1
    Kommando2=Beschreibung2

    das ganze so zu verwenden darauf bin ich noch gar nicht gekommen ... naja, nun ist es zu spät, aber gute idee fürs nächste mal :D

    der link von fabian hat geholfen, allerdings ist in der udf auf seite eins noch ein regex fehler bei _inireadex ... den konnte ich allerdings lösen.

    danke für die antworten jungs!