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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2012, 12:24   #1
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию Как сделать замену символов в Memo на личные?

Есть не большой файлик символов (приват юзер) хочу программно сделать замену букв на символы. Как это понятно здесь нет привязки символа к букве это должна делать функция.
Мне нужно искать как я понял так: смотреть на символ в Memo далее менять его на какой я хочу по коду символа на нужный в моем приватном? И как тогда определить коды личных символов?
Зод вне форума Ответить с цитированием
Старый 04.03.2012, 12:29   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

функция stringreplace(s,b,a,[rfreplaceall]);вернет string
s:строка в которой менять
b:что менять
a:на что менять
Кольша вне форума Ответить с цитированием
Старый 04.03.2012, 16:10   #3
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию

Эм...как бы вопрос на что менять то? Функция о замене валялась где то а вот как узнать коды символов в личном шрифте? Ведь там не просто буквы вот как например в ворде выделил и поменял шрифт там значки, и каждому значку свой код по идеи. В таблице символов это отображается как U+0002 и т.д. а в Делфи как будет? И еще хотел спросить если файл шрифта с символами перекинуть на чужой комп вместе с текстовым файлом переделанным, на нем он нормально ведь прочитается?

Последний раз редактировалось Зод; 04.03.2012 в 16:23.
Зод вне форума Ответить с цитированием
Старый 04.03.2012, 16:54   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

не понятно немного вам нужно шрифт в программу свой загрузить ? если да то не давно такая тема обсуждалась на форуме
Кольша вне форума Ответить с цитированием
Старый 04.03.2012, 17:06   #5
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

вот она
Кольша вне форума Ответить с цитированием
Старый 05.03.2012, 14:46   #6
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию

Здесь скорее и шрифт и перенос его и замена.
Ну вот ладно я загрузил шрифт в программу.
Пишу обработку Button:
Код:
Memo2.Text:=(stringreplace(Memo2.Text,'й','2x',[rfreplaceall]));
НО вместо 2х хочу заменить на символ из шрифта. Если просто включить таблицу символов (xp) и скопировать нужный значок Делфи не распознает его и напишет ?
Вопрос в том как на не знакомый символ для Делфи произвести замену в Мемо?
Ну вот более понятно может будет:
Я открываю редактор личных символов и рисую единственный символ, какуе-нибудь карякулу а теперь хочу что бы моя программа в Мемо1 заменила все буквы "а" на эту карякулу. Вот в чем суть.
Или если я захочу заменить все буквы русские на их аналоги на английском (но с учетом что делфи не знает американский шрифт)

Если произвести просто команду Memo2.Font.Name:='XXX'; то просто будет применен новый шрифт к тексту а у меня там просто набор символов, это как бы нет связки с буквами.

Последний раз редактировалось Зод; 05.03.2012 в 14:53.
Зод вне форума Ответить с цитированием
Старый 05.03.2012, 14:52   #7
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

кодировка символа? если utf8 то так
Код:
var
t:Tstringlist;
begin
t:=Tstringlist.create;
t.loadfromfile('****');
Memo2.Text:=utf8toansi(stringreplace(Memo2.Text,'й',t.text[позиция символа],[rfreplaceall]));
возможны опечатки
Кольша вне форума Ответить с цитированием
Старый 05.03.2012, 16:43   #8
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию

А что грузить в переменную?)
код нужного мне символа в таблице Юникода U+E005: Private use
Как-то так, не уже ли нельзя как-то просто заменить букву на нужный мне код?
Вообще если я в мемо даже загружи на прямую текстовый файл в котором есть этот символ то в мемо ни чего похожего не будет. Видимо по стандарту не поддерживает такие коды, это как то загрузить наверно в программу нужно. У меня есть файл *tte что с ним делать я не знаю.
Зод вне форума Ответить с цитированием
Старый 05.03.2012, 17:47   #9
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

скиньте файл
Кольша вне форума Ответить с цитированием
Старый 05.03.2012, 21:18   #10
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию

http://www.sendspace.com/file/b9u1pn
Зод вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на замену символов Walter Bishop Паскаль, Turbo Pascal, PascalABC.NET 0 18.10.2011 18:16
Delphi. как добавить в Memo 5 строк, длина каждой 10 символов. Nostalgia Помощь студентам 3 21.03.2010 12:31
Как в компоненте memo сделать ... }{oт@бь)ч Компоненты Delphi 21 07.02.2009 07:10
как сделать Memo прозрачным 1234 Общие вопросы Delphi 1 21.02.2008 16:38
как сделать в memo строку не 256 символов, а 1024 например. Alar Компоненты Delphi 0 29.10.2006 18:46