Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Frage zum INI Handling


  • Please log in to reply
19 replies to this topic
fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012
Okay klappt.

Kannst du mir bitte noch bei den anderen Sachen helfen? Also Speichern und hinzufügen bzw. löschen? Das wäre super. Ich weiß nicht wie ich das lösen kann.

SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012
#SingleInstance, force

UserINI:="user.ini"

Sec:="User"

arr:=ArrayFromIniSec(userini,sec)

i := 0

Tabs := ""

for index, elem in arr

i++

if(i + 1 >= 20){

while((A_Index-1) * 20 <= i + 1)

  Tabs .= "Seite " A_Index "|"

}

if(Tabs)

Gui, Add, Tab, r26 w185, %Tabs%

for index, elem in arr

{

t := Ceil(A_Index / 20)

if(Tabs)

  Gui, Tab, % t

y := (A_Index - ((t-1)*20)) * 25 + 5

Gui, Add, Edit, % "x15 y" y " w80 h20 vsn" A_Index, % index

Gui, Add, Edit, % "x105 y" y " w80 h20 vln" A_Index, % elem

}

if(y = 505){

Gui, Tab, % t + 1

y := 5

}

Gui, Add, Edit, % "x15 y" y + 25 " w80 h20 vsn" i + 1

Gui, Add, Edit, % "x105 y" y + 25 " w80 h20 vln" i + 1

Menu, MenuBar, Add, Speichern, Save

Gui, Menu, MenuBar

Gui, Show,, xxx

return

Save:

Gui, Submit, Nohide

str := ""

while(A_Index <= i + 1){

if(sn%A_Index% OR ln%A_Index%)

str .= sn%A_Index% "=" ln%A_Index% "`n"

}

IniDelete, %UserINI%, %Sec%

IniWrite, % str, %UserINI%, %Sec%

Reload

return

IniSecFromArray(array)

{

txt:=""

for k,ak in array

txt.=k "=" ak "`n"

return rtrim(txt,"`n")

}

ArrayFromIniSec(ini,sec)

{

seca:={}

iniread, sct, % ini, % sec

loop, parse, sct, `n, `r

{

regexmatch(a_loopfield,"^(.+?)=(.*)", item)

if (item1)

seca[item1]:=item2

}

return seca

}


Edited by SAPlayer, 24 November 2012 - 09:53 AM.


fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012
Ja, was soll ich sagen... Funktioniert perfekt.
Jeder Username der gelöscht wird hinterlässt in der INI ein "=". Das Stört die Funktionen der Scripte aber nicht.
Beim nächsten speichern sind alle leeren "=" weg nur am Ende bleibt ein "=" übrig.

Hab vielen Dank! Auch an Babba!

SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012
Habs grad nochmal editiert, jetzt ist ne if-Abfrage drin, um das zu verhindern...

fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012
So simpel? Ich hatte es auch mit ner if-Abfrage versucht aber leider nicht sso funktional wie deine :)

Vielen Dank!