62 lines
1.6 KiB
Text
62 lines
1.6 KiB
Text
integer fn = open("RCTEST.INI","r")
|
|
sequence lines = get_text(fn,GT_LF_STRIPPED)
|
|
close(fn)
|
|
constant dini = new_dict()
|
|
for i=1 to length(lines) do
|
|
string li = trim(lines[i])
|
|
if length(li)
|
|
and not find(li[1],"#;") then
|
|
integer k = find(' ',li)
|
|
if k!=0 then
|
|
string rest = li[k+1..$]
|
|
li = upper(li[1..k-1])
|
|
putd(li,rest,dini)
|
|
else
|
|
putd(upper(li),1,dini)
|
|
end if
|
|
end if
|
|
end for
|
|
|
|
deld("NEEDSPEELING",dini)
|
|
setd("SEEDSREMOVED",1,dini)
|
|
setd("NUMBEROFBANANAS",1024,dini)
|
|
setd("NUMBEROFSTRAWBERRIES",62000,dini)
|
|
|
|
for i=1 to length(lines) do
|
|
string li = trim(lines[i])
|
|
if length(li)
|
|
and li[1]!='#' then
|
|
if li[1]=';' then
|
|
li = trim(li[2..$])
|
|
end if
|
|
integer k = find(' ',li)
|
|
if k!=0 then
|
|
string rest = li[k+1..$]
|
|
li = upper(li[1..k-1])
|
|
k = getd_index(li,dini)
|
|
if k=0 then
|
|
lines[i] = "; "&li&" "&rest
|
|
else
|
|
object o = getd_by_index(k,dini)
|
|
if not string(o) then o = sprint(o) end if
|
|
lines[i] = li&" "&o
|
|
deld(li,dini)
|
|
end if
|
|
else
|
|
if getd(li,dini) then
|
|
lines[i] = li
|
|
deld(li,dini)
|
|
else
|
|
lines[i] = "; "&li
|
|
end if
|
|
end if
|
|
end if
|
|
end for
|
|
function visitor(object key, object data, object /*user_data*/)
|
|
lines = append(lines,key&" "&sprint(data))
|
|
return 1
|
|
end function
|
|
traverse_dict(routine_id("visitor"),0,dini)
|
|
fn = open("RCTEST.INI","w")
|
|
puts(fn,join(lines,"\n"))
|
|
close(fn)
|