Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2011, 18:30   #21
Lex_Liven
Пользователь
 
Аватар для Lex_Liven
 
Регистрация: 21.04.2010
Сообщений: 15
По умолчанию

Цитата:
А зачем такое делать у себя в коде? Почему бы не использовать БД вроде какой-нибудь SQLite?
Затем, что не хочу привязываться к СУБД. Приложение должно быть кроссплатформенным.
Цитата:
> ShortString - это ВСЕГДА 1 байт на символ. А кириллица в UTF8 пишется ДВУМЯ байтами.
да хоть десятью, какая разница?
Вам что-нибудь вообще говорит слово UTF8? Мне нужен Юникод, а не привязка к кодовой странице. Мне нужны строки от 30 до 500 символов ЮНИКОДА. А ShortString - максимум 255 символов в ANSI.
Lex_Liven вне форума Ответить с цитированием
Старый 01.06.2011, 18:42   #22
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> Вам что-нибудь вообще говорит слово UTF8?

да, это один из многочисленных способов представления юникодных code points.

> Мне нужен Юникод, а не привязка к кодовой странице.

путаете горячее и белое.

> максимум 255 символов

это да, не хватит.

> символов в ANSI.

это зависит от способа интерпретации этих самых символов.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 01.06.2011, 18:44   #23
Swarog
Форумчанин
 
Аватар для Swarog
 
Регистрация: 26.01.2010
Сообщений: 215
По умолчанию

Цитата:
А ShortString - максимум 255 символов в ANSI.
или 127 в юникоде, один символ просто занимает несколько знакомест

Если используете типизированые файлы то о динамических компонентах можно забыть(если это не так, просьба не кидать испорченые продукты в меня, просто значит мало знаю). Для димнамики нужно подумать о другой структуре файлов, (что нить с индексами - укзателями на элементы)
Могу лишь пнуть в нужном направлении (ну или как получится)
Swarog вне форума Ответить с цитированием
Старый 01.06.2011, 18:58   #24
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Сообщение от Lex_Liven Посмотреть сообщение
Затем, что не хочу привязываться к СУБД. Приложение должно быть кроссплатформенным.
А я что предлагаю? SQLite кроссплатформенная и есть.

Мне действительно не видно большого смысла в реализации БД своими руками. Ладно бы ещё 100-1000 записей, но несколько миллионов... Наверняка же нужны индексы, выборки. Зачем впустую свои ресурсы тратить на изобретание велосипеда? Когда можно взять готовую встраиваемую in-memory БД.

SQLite не единственный вариант - тысячи их.

Как вариант можно глянуть в сторону ClientDataSet.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 01.06.2011, 20:23   #25
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Цитата:
SetText - это, надо полагать, моя процедура заполнения массива строкой? Но ведь массива в описанном вами классе уже нет
Да по барабану что она там заполняет - массив или бассейн с пивом)
Суть одна и гениальна по сути - за свойством заданного типа скрыты методы, делающие с заданным типом всё что тебе нужно.

Цитата:
Как превратить файл в Стрим и что значит регистрация класса?
Стрим := TFileStream.Create('Файл', ..)

Класс объекта, сохраненного ранее в файл, хранится там же - в файле.
Когда дельфийская стриминг-система читает этот файл, она тем самым получает инф-цию о классе, и поскольку класс тобой зарегистрирован система знает что это за класс и умеет вызвать конструирующий метод этого класса, чтобы создать его экз-р.

p.s.
Delphi - великолепная, чрезвычайно мощная и сложная система.
Ее изучение с целью высокоэффективного ее использования, даже в этой малой ее части - встроенной штатной сериализации объектов - требует не обрывочных знаний, как ты сейчас возжелал, а серьезного фундаментального теоретического освоения.

Последний раз редактировалось mss; 01.06.2011 в 20:30.
mss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как записать файл UNICODE ? MakTpaxep Общие вопросы C/C++ 0 24.02.2011 17:05
как создать проект содержащий ОДИН файл в visual LOST94 Visual C++ 4 23.06.2010 16:17
Дан файл, содержащий текст на русском языке.Составить в алфавитном порядке список слов в файл. JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2008 12:05
Как записать файл в файл программы? Хамяг Общие вопросы Delphi 2 02.11.2008 16:01
как записать record в файл Kn793 Общие вопросы Delphi 5 01.08.2008 08:10