|
|
|
мысли...
^context[vote;
^load[named;vote.cfg]
^locate[^item[value];^number[vote]]
^var[^item[count];+;1]
<b>^item[cont]</b>
]
1. ^locate[^item[value];^number[vote]] - согласно доке нужно писать так: ^locate[value;^number[vote]]
2. ^var[^item[count];+;1] - это что? Эта инструкция говорит, что мы должны увеличить переменную с именем ^item[count] на 1. А ^item[count] вернет "0", т.е. инструкция равносильна ^var[0;+;1] По моему не этого хотелось...
3. собственно нигде в коде не записывается файл voit.cfg на диск. И когда дойдет до записи, выяснится (и это уже не раз упоминалось), что писать ^save[] именованые контексты нормально не умеет, он не пишет строку с именами.
Поэтому в данном случае лучше использовать неименованый контекст.
4. изменить содержимое какой-либо записи в текущем контексте низя (ну точнее можно, но через одно место: ^config[remove, ^config[insert), поэтому нужно променюшить загруженый контекст (а не делать locate) и перезаписать содержимое в новый, по ходу увеличив где надо значение...
5. все это плохо, т.к. ^save не использует блокировки, поэтому при одновременном доступе будет нехорошо, данные будут хериться. Для реализации подобного нужно юзать БД, или на крайняк ^counter с кучкой файликов, т.к. counter блокировки юзает...
|