Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вставка собственного сивола [D7]


Вася ©   (2006-07-18 12:45:00) 

Возникла такая вот задача:
Требуется записывать в файл строки которым предшествует определенный сивол, т.е. например #178 + 'строка', пока это делается так, но требуется вставлять "нужный" символ который отсутсвует в списке стандартных.
Честно говоря незнаю даже и в какую сторону копать. Т.е. по сути надо "нарисовать" нужный символ довать его куда-то(наверно создать собственный шрифт?????) и из этого шрифта его добавлять.
Вообщем может есть у кого какие идеи, или каким макаром это можно сделать.


Desdechado   (2006-07-19 13:13:00) [1]

Еще раз повторю. Символы - это всего лишь способ представления.Он зависит от шрифта, от кодировки. Поэтому в блокноте ты увидишь то, что есть в файле с учетом выбранного из меню шрифта и кодировки в нем.
Если инсталлируешь свой шрифт, то сможешь его там выбрать. Но помни, что блокнот показывает все ОДНИМ шрифтом, а не как ворд, у которого каждый символ можно своим шрифтом сделать.
Поэтому #178 в одном шрифте будет иметь один символ, а в другом - другой. Аналогично и с содержимым остальной строки (может оказаться так, что в твоем шрифте будет правильно показываться твой символ и неправильно - остальные).


StriderMan   (2006-07-19 13:11:00) [2]


> IceBeerg ©   (19.07.06 10:22) [2]
> Procedure WriteHemoroyToFile(HemoroyStr,HemoroyFile:String);
> Var
> HemoroyList:TStringList;
> HemoroyNum:Integer;
> Begin
> HemoroyList:=TStringList.Create;
> For HemoroyNum:=1 to 255 do
>  HemoroyList.Add(Chr(HemoroyNum)+HemoroyStr);
> HemoroyList.SaveToFile(HemoroyFile);
> End

HemoroyList надо бы разрушить в конце. И try...finally не повредит.


Вася   (2006-07-19 13:02:00) [3]

Да, но допустим строка #149 + "строка", запишет в файл "жирную" точку и строку, и при откурытии блокнотом так и отбразиться, а мне нужно что-бы при открытии тем-же блокнотом отобразился мой символ + строка

to IceBeerg
Ща по-пробую...


IceBeerg   (2006-07-19 10:22:00) [4]

Procedure WriteHemoroyToFile(HemoroyStr,HemoroyFile:String);
Var
HemoroyList:TStringList;
HemoroyNum:Integer;
Begin
HemoroyList:=TStringList.Create;
For HemoroyNum:=1 to 255 do
 HemoroyList.Add(Chr(HemoroyNum)+HemoroyStr);
HemoroyList.SaveToFile(HemoroyFile);
End;


Вызов

procedure TForm1.Button1Click(Sender: TObject);
begin
WriteHemoroyToFile('йцукен+qwerty','c:\hem.txt');
end;


Далее см. c:\hem.txt, еще вопросы есть?


Desdechado   (2006-07-18 12:47:00) [5]

В файл пишутся не символы, а байты.
Поэтому никаких шрифтов для записи не требуется. Шрифты нужны для отображения (если оно тебе вообще нужно). Поэтому вариант #178 + 'строка' вполне нормален.


Наверх

Титульная страница Поиск, карта сайта Написать письмо