21.03.2019, 05:38 [+3 UTC]
в нашей команде: 3 475 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.72 (17.03.2019)
JS-v.1.33 | CSS-v.3.35

Общие новости:
09.03.2019, 10:08

Форум:
18.03.2019, 16:49

Последний вопрос:
19.03.2019, 15:15
Всего: 149055

Последний ответ:
20.03.2019, 15:13
Всего: 258006

Последняя рассылка:
21.03.2019, 02:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
22.09.2009, 19:20 »
Науменко петр
Спасибо, заработало! [вопрос № 172454, ответ № 254495]
20.06.2011, 15:58 »
Julia Mechenaya
Большое спасибо экспертам портала за неоценимую помощь.
01.02.2010, 17:24 »
Wopross
Мне все ясно, спасибо. Придется сходить с ней в пенсионный фонд, помочь. Спасибо. [вопрос № 176371, ответ № 259088]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 471
zdwork
Статус: 1-й класс
Рейтинг: 126
puporev
Статус: Профессионал
Рейтинг: 104

Перейти к консультации №:
 

Консультация онлайн # 193870
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: wzn (Посетитель)
Отправлена: 10.11.2018, 00:40
Поступило ответов: 0

Здравствуйте! Прошу помощи в следующем вопросе:

Lazarus. Windows платформа (только). Вопрос про DBF.
Хочу открыть список файлов с расширением DBF, выбрать по имени и открыть на редактирование (естественно не зная и не описывая его структуру). Редактировать размер полей, имена полей, выбранные записи средствами Lazarus (v1.2, v1.4) и кодировку файла DBF (866,1251). При этом на текст в текстовом поле не должно отводиться двойное место в расчете на перекодировку.

Вопрос-дайте пример программы для решения аналогичной задачи. Надеюсь, что такой имеется.
Без использования сторонних приблуд или установки чего либо кроме исполнимого EXE-файла.

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

Ничего из этого у меня корректно работать не желает. Я - новичек в программировании на Lazarus.

Состояние: Консультация закрыта

Oтветов пока не поступило.

Мини-форум консультации № 193870
wzn
Посетитель

ID: 402440

# 1

= общий = | 13.11.2018, 04:49 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

М-м, да. Наверное вопрос оказался слишком сложный для местных экспертов. Или эксперты перевились.
Давайте, хотя бы по частям.
1. Как средствами Лазаруса (командой/функцией) считать кодировку текста у открываемого DBF (без бинарного чтения DBF файла)?
2. Как установить, что теперь сохранять в этот файл тексты нужно в кодировке ХХХ? На лету.
3. Как не дать текстовым полям в файле распухнуть после операции перекодировки и при этом не потерять половину текста?

Накопал нечто близкое, но не знаю как воспользоваться:
myTable.DbfFile.FileCodePage:=866 или cp866 или cp1251
или обратно
s:= myTable.DbfFile.FileCodePage; и что вернёт? Цифру? Строку?
В какое место воткнуть в программе? Уже должно быть чтото сделано? Активация, открытие?
Есть примеры?

4 Как сделать, чтоб перекодировались не поля DBF, а в момент переноса данных из файла в экранную таблицу с удвоенной длинной каждого текстового поля?
4.1 И обратно, разумеется. При модификации/добавлении и без потери половины русского текста, но с половинной длинной. Т.е. обратно, в свой прежний размер поля.

5. ... Вопросов много. Что толку их озвучивать, если ответами не пахнет?
Я что? Спросил не так или не то? Хоть что нибудь! smile

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 2

= общий = | 13.11.2018, 10:33 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
wzn:

© Цитата: wzn
М-м, да. Наверное вопрос оказался слишком сложный для местных экспертов. Или эксперты перевились.

1)Не у всех есть Лазарус под рукой, тот комп, на котором у меня он стоит, сейчас мне не доступен.
2)Работа с базами, это можно сказать отдельная ветка программирования в Паскале.
3)
© Цитата: Сорокин А.В. - Delphi. Разработка базы данных
На сегодняшний день существует множество технологий доступа к данным, таких как BDE, OLE, ODBC, ADO, и до сих пор разрабатываются новые, более надежные, удобные в работе и более быстродействующие технологии.

4)Почитайте это и это.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 3

= общий = | 16.11.2018, 20:15 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
wzn:

Что нить ответите?

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

 

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13641 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.72 от 17.03.2019
Версия JS: 1.33 | Версия CSS: 3.35