Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.12.2016, 00:20
MissIren MissIren вне форума
Прохожий
 
Регистрация: 28.12.2016
Сообщения: 8
Версия Delphi: Turbo Delphi
Репутация: 10
По умолчанию Текст с ударениями в Delphi

Доброй ночи!

Работаю с базой данных Access в Delphi.

Появилась следующая проблема. Мне необходимо вывести на экран содержимое поля MEMO с существующими в нем знаками. В частности, мне необходимо выводить буквы с ударениями.
Сейчас выводятся все дополнительные символы (например, апострофы), а вместо буквы с ударением выходит буква с апострофом после нее.

Для вывода текста на экран в программе пользуюсь dbMemo.
Понимаю, что проблема должна быть в кодировке, но как ее решить?

Заранее благодарна за помощь.
Ответить с цитированием
  #2  
Старый 28.12.2016, 05:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Во первых, скорее всего оно так сохранено в БД, ибо DBMemo только показывает информацию, он ее НИКАК не изменяет.
Если это не так и в Access буквы видны правильно, то, возможно, конвертация происходит где-то в недрах драйвера по причине того, что БД, видимо, в Unicode, а приложение - ANSI (какая версия Delphi?). В этом случае есть шанс, что поможет переход на Unicode версию Delphi. Можно брать любую из последних (XE и выше). Вообще, если мне мой склероз не изменяет, то Unicode поддерживается, начиная с версии 2010.
Ответить с цитированием
  #3  
Старый 28.12.2016, 16:26
MissIren MissIren вне форума
Прохожий
 
Регистрация: 28.12.2016
Сообщения: 8
Версия Delphi: Turbo Delphi
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Во первых, скорее всего оно так сохранено в БД, ибо DBMemo только показывает информацию, он ее НИКАК не изменяет.
Если это не так и в Access буквы видны правильно, то, возможно, конвертация происходит где-то в недрах драйвера по причине того, что БД, видимо, в Unicode, а приложение - ANSI (какая версия Delphi?). В этом случае есть шанс, что поможет переход на Unicode версию Delphi. Можно брать любую из последних (XE и выше). Вообще, если мне мой склероз не изменяет, то Unicode поддерживается, начиная с версии 2010.

Да, у меня древний TurboDelphi, по старой памяти работаю с ним, попрбую все-таки поставить что-то более новое
Ответить с цитированием
  #4  
Старый 28.12.2016, 19:22
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от MissIren
Да, у меня древний TurboDelphi, по старой памяти работаю с ним, попрбую все-таки поставить что-то более новое

Ты сначала все-таки проверь что в БД лежит.
Ответить с цитированием
  #5  
Старый 28.12.2016, 22:04
MissIren MissIren вне форума
Прохожий
 
Регистрация: 28.12.2016
Сообщения: 8
Версия Delphi: Turbo Delphi
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Ты сначала все-таки проверь что в БД лежит.

Да, посмотрела, ударение в БД есть
Ответить с цитированием
  #6  
Старый 28.12.2016, 22:52
MissIren MissIren вне форума
Прохожий
 
Регистрация: 28.12.2016
Сообщения: 8
Версия Delphi: Turbo Delphi
Репутация: 10
По умолчанию

Поставила XE3, теперь и проект не запускается, говорит, что не создается project.exe
Ответить с цитированием
  #7  
Старый 28.12.2016, 22:55
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

ну дык надо посмотреть почему. Ошибка компиляции? Файл заблокирован?
Ответить с цитированием
  #8  
Старый 28.12.2016, 23:35
MissIren MissIren вне форума
Прохожий
 
Регистрация: 28.12.2016
Сообщения: 8
Версия Delphi: Turbo Delphi
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
ну дык надо посмотреть почему. Ошибка компиляции? Файл заблокирован?

Попробовала сделать новый проект с dbmemo - все работает. Осталось определить почему проект, созданный в TurboDelphi не работает в XE3.

При компиляции он теперь говорит Not connected to remote host. Я только не понимаю при чем здесь удаленный хост или это что-то другое

Последний раз редактировалось MissIren, 28.12.2016 в 23:39.
Ответить с цитированием
  #9  
Старый 29.12.2016, 01:29
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Удали файлы конфигурации проекта. Похоже, там есть небольшая несовместимость. В простом варианте можно просто создать новый прокет и просто добавить туда формы и модули из старого.
Ответить с цитированием
  #10  
Старый 29.12.2016, 03:35
MissIren MissIren вне форума
Прохожий
 
Регистрация: 28.12.2016
Сообщения: 8
Версия Delphi: Turbo Delphi
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Удали файлы конфигурации проекта. Похоже, там есть небольшая несовместимость. В простом варианте можно просто создать новый прокет и просто добавить туда формы и модули из старого.

К сожалению, ни один из этих вариантов не решает проблему(((
Ответить с цитированием
  #11  
Старый 29.12.2016, 20:04
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

удали все файлы проекта, кроме .dpr и попробуй открыть в XE3.
Я так перетаскивал проекты из D7. XE3 "ругается" на отсутствующие ресурсы, потом их пересоздает и, вроде, все работало.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter