:: Visual Foxpro, Foxpro for DOS
Re: Сохранить переменную типа Object в файл
_vit

Сообщений: 5173
Дата регистрации: 29.07.2002
lulgu
Попробуйте предъявить работу ваших провайдеров на примере какого-нибудь приложения.
ЗЫ. ini-файлы, реестр - вроде давно уже не экзотика.

Все предъявлено. Копируй и пробуй. Это работающий код.
Я не публикую кода не проверив.
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Понятно, фирма гарантирует.
Рекламные чудеса отменяются, желающие обрывки кодов "?" могут проверить на Error.
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
В чем вкрадце затык, в довольно безобидной теме? (провайдеры, ini, 8 страниц споров...) Есть "квитессенция" текущей стадии спора?
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
of63
В чем вкрадце затык, в довольно безобидной теме? (провайдеры, ini, 8 страниц споров...) Есть "квитессенция" текущей стадии спора?

Еще с древних времен - замуторенные через класс Registry обычные обращения к Winapi-функциям вместо DECLARE.
Вроде, больше ничего там нет.



Исправлено 3 раз(а). Последнее : lulgu, 02.09.22 22:20
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Обьект - это набор свойств=значения, причем, значения могут быть общеупотребимые типы значений (текст, число, логическое, массив (уже сложно)... дальше не будем), но обычно, обьект содержит лишь "соответввие простым" типам значений "свойство".

Советую разобрать лишь вложенность при значении "обьект" (тут и возникает "нетривиальность" сохранения обьекта в мемо-поле), массивы напрягут тоже... Но все решаемо, при аккуратном разборе...


() какже этот знаменитый "разбиральщик"... типа смоы..., да хсн

> через класс Registry обычные обращения к Winapi-функциям через DECLARE
ты точно женщина! ?

() или тлп, не хотелось бы ошибиться (

Доб. Если хотите пройти этот путь - конвертацию обьект в строку, начтните (фоксовики) с AMEMBERS (вроде)

... (все, кто хотел, давно все сделали и знают технологии)



Исправлено 3 раз(а). Последнее : of63, 02.09.22 22:53
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
Я предпочитаю хранить в метаданных БД, таким образом в файле ini хранится только путь/IP адрес:порт сервиса:сервера если это двухзвенка


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)




Исправлено 1 раз(а). Последнее : PaulWist, 02.09.22 22:59
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
() в текстовом виде все значения?
Я не понимаю вас

() я представил задачу - обьект (все возможные фоксовые типы значений)
преобразовать в строку
и вернуть ее обратно в такой же обьект

() кто-то все излишне модерит...)



Исправлено 2 раз(а). Последнее : of63, 03.09.22 00:07
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
PaulWist
Я предпочитаю хранить в метаданных БД, таким образом в файле ini хранится только путь/IP адрес:порт сервиса:сервера если это двухзвенка

пауль, речь идет о тектовом представлении вего, Текстовое - это длинная строка, не "метаданные". Просто строка в мемо-поле

Доб. Возможно я переборщил. Сохранение "в файл" имелось ввиду в какоом то формате... но фоксовый обьект есть источник... опять не понимаю... Старею

Читаю себя и куею. Пишите сами !

() Сейчас востребованы все вменяемые



Исправлено 3 раз(а). Последнее : of63, 03.09.22 00:57
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
_vit

Сообщений: 5173
Дата регистрации: 29.07.2002
PaulWist
Я предпочитаю хранить в метаданных БД, таким образом в файле ini хранится только путь/IP адрес:порт сервиса:сервера если это двухзвенка

Это еще раз подтверждает рациональность идей вынести реализацию хранилища установок в отдельный класс.;)
Мне приходилось разрабатывать приложения с требованиями хранить настройки в электронных ключах.
Так что есть разные варианты.

Это относиться и к обработке ошибок. Я бы не стал вставлять MessageBox() в класс Settings потому что есть класс приложений которые не взаимодействуют с пользоветелем. Некому нажимать на кнопки всплывающих сообщений об ошибках. Ошибки пишутся в лог или рассылаются а приложение должно как то само выживать.

Цитата:
Повторное использование кода (англ. code reuse) — методология проектирования компьютерных и других систем, заключающаяся в том, что система (компьютерная программа, программный модуль) частично либо полностью должна составляться из частей, написанных ранее компонентов и/или частей другой системы. Повторное использование — основная методология, которая применяется для сокращения трудозатрат при разработке сложных систем.

Это я не тебе лично а вообще.
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
() угу, подпрограммы - это классичесская часть самосознания программмера, точнее непреодолимое желание ее использование, как экономия части его работы (сваливание на процессор очень умной работы прогера, точнее, превращение его умной программы в "простейший" код ЯП)

> вынести реализацию хранилища установок в отдельный класс.
() убивает называть все подряд "классом"... VCX-VCT-библиотекой, запись в ней. Экономнее надо быть...

пришло мое время реанимировать стару прогу (SetGetStringValue)? чтобы она возвращала строку из обьекта (функция(1O)), и возвращала обьект из функция(строка)... ну, там в иньтерфейсе этой проги надо расшевелить, возможно, в вызовах в проекте поменять интерфейс общения)



Исправлено 4 раз(а). Последнее : of63, 06.09.22 22:45
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Не нашел кнопку "изменить", сообщение в смысле.

Набросок (пока годится такой, упрощенный).
Сделан для "сериализации" (и обратной операции) одномерного массива, содержащего строки, простые Empty-обьекты, массивы пока нет, обычные фоксовые значения. Обычные значения (не обьекты) сделано на функции VALTOTIP (многострадальная функция моя) )


Доб. Вышло невнятно в описалове. Вобщем, встала необходимость сделать сохранениие обьекта в Мемо-поля, и потом обратная операция. У меня ВКПС-строку представляет 1-массив (один элемент массива - одна строка). Потом некоторые элементы 1-массива развились, стали обьектами (простыми), и написал вот такую простую штуку, превращает 1-массив, т.е. ALINES-представление ВКПС-строки (строку, составляющие разделены символами CHR(13)+CHR(10), типа:

[номер строки массива : тип (C,N,D... или O)]
имя = значение
имя = значение
...
[номер строки массива : тип]

Обратная операция собирает из вышеуказанного текста опять 1-массив с элементами (C,N,D... или O)

> "т.е. ALINES-представление ВКПС-строки"
намудрил, вобщем с описанием.
Вобщем, решалась задача:
1-массив <--> Мемо-поле таблицы
в массиве могут быть любые значения, в т.ч. обьекты. (массивы в массивах фокс не умеет, но нужно иметь ввиду. В обьектах массивы фокс умеет, так что...)
необходимо превратить этот исходный массив в строку для Мемо поля, желательно в текстовом человеческом виде
обратным преобразованием нужно получить исходный массив

ВКПС-строка - это то, что лежит в Мемо-поле как обрах об



[i]Исправлено 3 раз(а). Последнее : of63, 10.09.22 21:06
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Для развлечения. Нашлись недочеты в [де]сериализаторе обьект <--> строка. Сейчас так. Не обьясняю как, просто, для любителей читать чужой код, как книгу )
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Добавил про [де]сериализаторы. Получилось с JSON врукопашную. Пока чуть от"лажен" ), но работает на простом примере:
{"ERRORS":{"captcha":["Цифры с картинки введены неверно"]},"STATUS":"ERROR"}
Просто для почитать код. Ведь иногда хочется почитать "беллетристику", типа "вот я напесал" )

Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Для развлечения.
Вот есть в фоксе оператор SUBSTR, он возвращает C-кусок из С-строки (переменной C-типа). В ней первым параметром, естественно сама C-строка. Но, при работе с "памятью" (с числом, N-адресом на "память", "указателем", т.е. с физическим адресом этой строки) есть в наличии лишь адрес. Что делать? (ну, кроме нативного программирования каждый раз при обращении к строке по адресу)
В результате родилась такая функция "iSUBSTR", в которой первый параметр - это физический адрес строки в памяти.
Возвращать функция должна ЧИСЛО (не строку), т.к. строку выделить из строки можно и штатными способами. iSUBSTR заточена на возврат числа, немного в замен ф-ии CTOBIN...
...Ну, заодно, понадобилось и второе (естественно, похожее на основное) использование этой функции - когда вместо адреса (в 1-м параметре iSUBSTR) можно было бы указывать непосредственно (с небес взявшееся) CQ-содержимое этой памяти (в фоксовом типе C или Q), а не N-адрес.

Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
Цитата:
iSUBSTR заточена на возврат числа, немного в замен ф-ии CTOBIN..
Как обычно фигней страдаете, сэр. Для чтения и даже писания по конкретному адресу есть SYS(2600), а уж писать интерпретируемую замену С-шной Ctobin - извращение чистой воды.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Сохранить переменную типа Object в файл
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Примерно да, ЯП должен (кому?) быть максимально приближен к конкретной тематике, цели автоматизации. Для этого (мтк) и пишут фрейверки, и новые ЯП не стесняются писать (что, кстати, не сложно, имея хоть какой-то язык, например "ассемблер", или си, ну "с нуля" практически, или на основе, на максимально абстрактном языке (включая язык, возможности, конкретного процессора, и сигнального проца тоже).

Фигней назвать можно (возможно не нужно, т.к. эта фигня работает... не обижаюсь, свой код люблю, ... в определенном смысле), но вся цивилизованная деятельность человека и состоит из фигни...

() Мне так удобнее, когда я понятную мне сущность (хотя чуть недостаточную в нативных функциях фокса) я оформляю в подпрограмму... Привык с древних времен...

Доб. Добавлю за ассемблер (ЯП процессора). Он хоть и считается, естественно, неуниверсальным, но он приближен разрабами к операциям, которые необходимы (логичесукие операции, суммирования многоразрядные, деления... математика общечеловеческая!), и современные операции - копирования кусков памяти *не перебором), что-то еще там... "Ассемблер" - это изначальный ЯП, язык понимания, откуда взялось "программирование", язык АЛУ, язык разрабов процев (не берем постмодификации процев с микропрограммированием "внутри" проца)



Исправлено 1 раз(а). Последнее : of63, 11.01.23 20:24
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 10 kornienko_ru Guest (Гостей: 8)

© 2000-2024 Fox Club 
Яндекс.Метрика