18.11.2018, 18:23 [+3 UTC]
в нашей команде: 3 117 чел. | участники онлайн: 18 (рекорд: 19)

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

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

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.55 (06.11.2018)

Общие новости:
24.09.2018, 16:49

Форум:
08.11.2018, 13:36

Последний вопрос:
18.11.2018, 18:06

Последний ответ:
18.11.2018, 17:58

Последняя рассылка:
18.11.2018, 17:15

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

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

Наша кнопка:

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

Отзывы о нас:
11.11.2009, 11:38 »
Arkadiy
Спасибо! Прибор хороший, и я сам готов оплатить за его ремонт, но и в этом мне отказали. [вопрос № 174132, ответ № 256381]
16.09.2009, 22:22 »
Sergey66
...Спасибо за оперативность! [вопрос № 172211, ответ № 254230]
08.01.2011, 12:41 »
Посетитель - 356874
Спасибо за помощь! [вопрос № 181765, ответ № 265280]

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

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

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

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

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 684
Степанов Иван /REDDS
Статус: 4-й класс
Рейтинг: 26
Асмик Гаряка
Статус: Советник
Рейтинг: 6

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

Консультация онлайн # 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.

Состояние: Консультация активна (до закрытия: 1 сут. 06 час. 17 мин.)

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.19585 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.55 от 06.11.2018