powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Variant to ANSI TXT-файл
15 сообщений из 15, страница 1 из 1
Variant to ANSI TXT-файл
    #39572618
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озадачился универсальным транспортом данных между формами, приложениями и файлами. :)

Суть задачи: отправить значения полей датасетов и значений контролов в ANSI-файл и обратно без потерь.

Почему именно ANSI ? Для универсальности. Хранить в любом контейнере: любая БД(в т.ч. неуникодная), любой файл (ini, txt, csv), реестр Win.

Первичные данные могут быть в любой форме и кодировке в т.ч. уникод. Могут быть БЛОБ и бинарные поля, разные виды Float, Даты с временем до мсек. Внятная передача пустых значений (хорошо, если пустая строка/0/NULL будут разными понятиями).
Кодирование данных в ANSI-файле может быть на выбор HEX/base64/MIME и пр. Не принципиально. XML/JSON/TXT - не принципиально.
Главное - преобразование туда и обратно без избыточной инфы.

Пока речь про обмен между вин-приложениями, т.е. всякие NIXы с ихними странными датами пока опустим.
Изначально допускаем, что каждое "поле" после транспортировки попадет заведома в нужное место: int в int, Float в Float, дата в дату, бинари в бинари.
Задача не такая простая, как может показаться на первый взгляд.

Итак, обмениваемся опытом, ссылками и пр.
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572621
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начать можно с простого велосипеда https://ru.wikipedia.org/wiki/Tag-length-value
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572622
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVОзадачился универсальным транспортом данных между формами, приложениями и файлами. :)

Суть задачи: отправить значения полей датасетов и значений контролов в ANSI-файл и обратно без потерь.

Почему именно ANSI ? Для универсальности. Хранить в любом контейнере: любая БД(в т.ч. неуникодная), любой файл (ini, txt, csv), реестр Win.

Первичные данные могут быть в любой форме и кодировке в т.ч. уникод. Могут быть БЛОБ и бинарные поля, разные виды Float, Даты с временем до мсек. Внятная передача пустых значений (хорошо, если пустая строка/0/NULL будут разными понятиями).
Кодирование данных в ANSI-файле может быть на выбор HEX/base64/MIME и пр. Не принципиально. XML/JSON/TXT - не принципиально.
Главное - преобразование туда и обратно без избыточной инфы.

Пока речь про обмен между вин-приложениями, т.е. всякие NIXы с ихними странными датами пока опустим.
Изначально допускаем, что каждое "поле" после транспортировки попадет заведома в нужное место: int в int, Float в Float, дата в дату, бинари в бинари.
Задача не такая простая, как может показаться на первый взгляд.

Итак, обмениваемся опытом, ссылками и пр.

Utf8 - наше все
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572625
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо я чего-то не понимаю, маршалинг вроде давно придуман, ObjectBinaryToText придуман примерно тогда же, в чем суть обмена опытом ?
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572626
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV> Почему именно ANSI ? Для универсальности.

Это шутка такая? Пятница послезавтра.

> Главное - преобразование туда и обратно без избыточной инфы.

Служебная инфа (теги и пр.) считает избыточной?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572633
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамLSV> Почему именно ANSI ? Для универсальности.

Это шутка такая? Пятница послезавтра.

> Главное - преобразование туда и обратно без избыточной инфы.

Служебная инфа (теги и пр.) считает избыточной?
1. А что не так ? :)
2. СИ(теги) не считаются.
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572651
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ANSI, серьезно что ли? ты не поверишь, но мазохистов, добровольно стреляющих себе в ногу, почти не осталось.
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572660
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2ANSI, серьезно что ли? ты не поверишь, но мазохистов, добровольно стреляющих себе в ногу, почти не осталось.ОК. Ты пока ничего не предложил.

зы: А разве какой-нибудь XML/JSON по сути не ANSI-файл ?

Говоря про ANSI имелось в виду: в файле только латиница и цифры .
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572665
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVasutp2ANSI, серьезно что ли? ты не поверишь, но мазохистов, добровольно стреляющих себе в ногу, почти не осталось.ОК. Ты пока ничего не предложил.

зы: А разве какой-нибудь XML/JSON по сути не ANSI-файл ?

Говоря про ANSI имелось в виду: в файле только латиница и цифры .

Base64 - наше все
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572672
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiBase64 - наше всеЭто все хорошо, но сначала нужно получить байты, которые потом завернутся в Base64.
Есть датасет с полями:
int
string
Float
Datetime
image(mssql BLOB) допустим там иконка 4х4
binary(16) а-ля ключ из 1С.

как это должно выглядеть перед заворачиванием в Base64 ?
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572768
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVкак это должно выглядеть перед заворачиванием в Base64 ?Так и должно. Для кодирования в Base64 нужно указать указатель на данные и размер данных. На выходе - строка
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572781
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_LSVкак это должно выглядеть перед заворачиванием в Base64 ?Так и должно. Для кодирования в Base64 нужно указать указатель на данные и размер данных. На выходе - строкаПеречитай вопрос. До заворачивания в base64.
До, Карл !
Как энкодить в base64 тут наверно все знают и это неинтересно.
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572839
LSVно сначала нужно получить байты... а потом узнать в куда их задвинуть. ))

Даёшь универсальный универсализатор с типами и оффсетками!
Код: pascal
1.
2.
3.
4.
5.
uses REST.JSON;

    Memo1.Lines.Text := TJson.ObjectToJsonString(Foo);
    //
    Foo := TJson.JsonToObject<TFoo>(Memo1.Lines.Text);
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39572940
LSVЕсть датасет с полями:
int
string
Float
Datetime
image(mssql BLOB) допустим там иконка 4х4
binary(16) а-ля ключ из 1С.

как это должно выглядеть перед заворачиванием в Base64 ?
Поток по аналогии с DFM
...
Рейтинг: 0 / 0
Variant to ANSI TXT-файл
    #39573007
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новый ДОГ! (ртти) ?Даёшь универсальный универсализатор с типами и оффсетками!

Даёшь универсальный универсализатор с типами и оффсетками?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Variant to ANSI TXT-файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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