Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как хранить log'и / 9 сообщений из 9, страница 1 из 1
06.04.2005, 11:50
    #32999937
новичек1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как хранить log'и
хочу хранить логи в .dbf таблице. в каком поле это лучше делать: memo или большой char?

лог лучше чтоб был составной, т.е. одна запись в таблице - все логи за текущий запуск программы. Следовательно наверное memo поле.
Тогда вопрос как добывлять записи в текущую запись memo?
...
Рейтинг: 0 / 0
06.04.2005, 11:54
    #32999954
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как хранить log'и
пилите шура пилите

CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE employee && Open Employee table
WAIT WINDOW 'Employee notes memo field - press ESC' NOWAIT
MODIFY MEMO notes NOEDIT && Open the notes memo field
COPY MEMO notes TO test.txt && Create test file from memo field
WAIT WINDOW 'TEST.TXT text file - press ESC' NOWAIT
MODIFY FILE test.txt NOEDIT && Open the text file
WAIT WINDOW 'Employee notes now appended - press ESC' NOWAIT
APPEND MEMO notes FROM test.txt && Add contents of text file

MODIFY MEMO notes NOEDIT && Display memo field again
WAIT WINDOW 'Overwrite Employee notes- press ESC' NOWAIT
APPEND MEMO notes FROM test.txt OVERWRITE && Replace notes
MODIFY MEMO notes NOEDIT NOWAIT
DELETE FILE test.txt

наверняка моно лучше но так на вскидку
...
Рейтинг: 0 / 0
06.04.2005, 12:05
    #33000018
новичек1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как хранить log'и
а так нельзя?
use таблицу где memo поле
событие1: добвляем в текущую запись memo строку(не из тхт а просто)
событие2: добвляем в текущую запись memo строку(не из тхт а просто)
закрываем таблицу

событие это просто некое место в коде, т.е. ловить их не надо.
...
Рейтинг: 0 / 0
06.04.2005, 12:52
    #33000224
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как хранить log'и
replace <MemoFieldName> with <MemoFieldName>+chr(13)+<EventString>
...
Рейтинг: 0 / 0
06.04.2005, 12:54
    #33000228
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как хранить log'и
Или так replace <MemoFieldName> with <EventString> additive
...
Рейтинг: 0 / 0
06.04.2005, 12:59
    #33000244
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как хранить log'и
Сам подход в принципе неверный... Одно событие - одна запись...

Ну уж если memo - то лучше хранить в виде XML - хоть какая-то видимость порядка, да и просто работать потом с такими записями - так как они легко преобразуются в cursor...
...
Рейтинг: 0 / 0
06.04.2005, 13:12
    #33000300
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как хранить log'и
новичек1хочу хранить логи в .dbf таблице. в каком поле это лучше делать: memo или большой char?

лог лучше чтоб был составной, т.е. одна запись в таблице - все логи за текущий запуск программы. Следовательно наверное memo поле.
Логика должна быть другая:

Одно событие - одна запись.

При такой логике одно событие разбивается на ряд реквизитов: Дата-Время, Таблица, тип события и т.п. Т.е., возможно, собстыенно memo-поля и не понадобиться. Оно будет "разрезано" на ряд реквизитов.

Потом, если нужно, делаешь выборку из таблицы логов по условиям

Хотя, конечно, мемо-поле можно и оставить.

новичек1Тогда вопрос как добывлять записи в текущую запись memo?
Также, как и в обычное поле, командой REPLACE. Но, если использовать опцию ADDITIVE, то новое значение не заменит старое, а добавиться в конец:

Код: plaintext
1.
2.
3.
4.
CREATE CURSOR test (test M)
APPEND BLANK
REPLACE test WITH "начало строки "
REPLACE test WITH "продолжение строки " ADDITIVE
?test.test
...
Рейтинг: 0 / 0
06.04.2005, 13:13
    #33000302
lesha_spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как хранить log'и
а как добавить символ перевода строки?
т.е. replace <MemoFieldName> with <EventString перевод строки> additive

2Sergey: log будут только смотреть, прога может работать в безоболочечном режиме и после ее работы нужно смотреть как она отработала.
...
Рейтинг: 0 / 0
06.04.2005, 13:29
    #33000351
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как хранить log'и
lesha_spbа как добавить символ перевода строки?
т.е. replace <MemoFieldName> with <EventString перевод строки> additive

Это зависит от того, что будет происходить с записью... Обычно:
Код: plaintext
 chr( 13 )+chr( 10 )
или только:
Код: plaintext
 chr( 13 )
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как хранить log'и / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]