parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

_ответ

Ramesses II 07.11.2002 22:13 / 07.11.2002 23:04

Примерно принцип (да не убиёт меня кто-нить из асов...):
@save_msg[]
$nick[$form:nick]
$text[$form:text]

# проверяет наличие файла-базы данных
^if(-f "/cfg/dbase.cfg"){

# файл найден -- добавляем к уже существующему новые строки
$old_msg[^table::load[/cfg/dbase.cfg]]

# составляем таблицу с новыми записями в tab-delimited формате
$new_msg_store[^table::create{nick text
$nick $text}]

# объединяем старое с новым -- здесь или через join или через append
^old_msg.join[$new_msg_store]

# сохраняем объединенную базу
^old_msg.save[/cfg/dbase.cfg]
}{

# файл НЕ найден -- создаем новую таблицу
$new_msg_store[^table::create{nick text
$nick $text}]

# сохраняем базу
^new_msg_store.save[/cfg/dbase.cfg]
}
Принцип взят из кода гостевухи. Некоторые поля, значения форм и переменные (как следствия значения форм) отсутствуют по нескольким причинам,

1. Ну не хочу я выкладывать свой голый текст... (из сообр. безопасности) :)
2. столбцы id и time я пока убрал -- в пред. мессах (http://parser.ru/forum/?id=9081) поставили вопрос об их целесообразности (по крайней мере, поля id), и я теперича не уверен, нужны ли они вовсе...

а так, принцип тот же, но советую перейти по вышеупомянутой ссылке (http://parser.ru/forum/?id=9081) м прочитать соображения по поводу .cfg файлов как баз данных...

а так... все это действительно подпадает под RTFM...
http://parser.ru/docs/lang/lesson1.htm
http://parser.ru/docs/lang/tableclass.htm (и далее... всю главу)