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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2007, 02:25   #1
Allexandr
Новичок
Джуниор
 
Регистрация: 24.02.2007
Сообщений: 2
По умолчанию сохранить параметры шрифта в текстовый файл

Здравствуйте!
Подскажите пожалуйста, как сохранить параметры шрифта в текстовый файл. если можно опишите по подробнее.
Желательно по каждой строке, т.е. название шрифта такой командой переводим в строку, такой то командой из строки в название..
и так же с начертанием и прочим.
Записать и прочитать в/из файл(а) я смогу
Спасибо!

Последний раз редактировалось Allexandr; 24.02.2007 в 04:10.
Allexandr вне форума Ответить с цитированием
Старый 24.02.2007, 09:34   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Сохраняет в строковом массиве
  1. Название шрифта
  2. Цвет
  3. Размер
  4. Стиль
  5. Кодировка/набор символов
Код:
var
  Form1: TForm1; s: array [1..5] of string;

...

//запись в массив параметров шрифта

procedure TForm1.Button1Click(Sender: TObject);
begin
S[1]:=Edit1.Font.Name;
S[2]:=ColorToString(Edit1.font.Color);
S[3]:=inttostr(Edit1.font.Size);
if fsBold in Edit1.font.Style then S[4]:='fsBold ';
if fsItalic in Edit1.font.Style then S[4]:=S[4]+'fsItalic ';
if fsUnderline in Edit1.font.Style then S[4]:=S[4]+'fsUnderline ';
if fsStrikeOut in Edit1.font.Style then S[4]:=S[4]+'fsStrikeOut';
S[5]:=inttostr(Edit1.font.Charset);
end;

//чтение из массив параметров шрифта
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit2.Font.Name:=S[1];
Edit2.font.Color:=StringToColor(S[2]);
Edit2.font.Size:=StrToInt(S[3]);
if pos('fsBold',s[4])<>0 then Edit2.font.Style:=Edit2.font.Style+[fsBold];
if pos('fsItalic',s[4])<>0 then Edit2.font.Style:=Edit2.font.Style+[fsItalic];
if pos('fsUnderline',s[4])<>0 then Edit2.font.Style:=Edit2.font.Style+[fsUnderline];
if pos('fsStrikeOut',s[4])<>0 then Edit2.font.Style:=Edit2.font.Style+[fsStrikeOut];
Edit2.font.Charset:=StrToInt(S[5]);
end;

Последний раз редактировалось zetrix; 24.02.2007 в 09:36.
zetrix вне форума Ответить с цитированием
Старый 24.02.2007, 11:04   #3
Allexandr
Новичок
Джуниор
 
Регистрация: 24.02.2007
Сообщений: 2
По умолчанию

Спасибо!
Вот только я не могу понять:
S[1]:=Edit1.Font.Name;
мы сохранили название шрифта в переменную стринг.
вообще в программе я все сохранял напрямую в файл

f: Tstringlist;

f:=TstringList.Create;
f.LoadFromFile('option.txt');

f.Strings[13]:=colortostring(form1.ColorDialog1. Color);
f.Strings[15]:=colortostring(form1.fontdialog1.F ont.Color);
f.Strings[17]:=inttostr(form1.fontdialog1.Font.S ize);

эти строки все нормально сохранялись в файле, но вот такая строка сразу же при записи выдавала ошибку:

f.Strings[19]:=form1.fontdialog1.Font.name;

Но почему? name - вроде бы стринговая переменная.
если сделать переменную s: string; то name в нее нормально запишется.. а вот опять же f.Strings[19]:=S; тоже не получается?

Вы можете чем-нибудь помочь по этому поводу? Спасибо!

Пожалуйста, извините. Это моя ошибка. Я этот код писал в 3 ночи и допустил ошибку. Сейчас переписал. Name отлично записывается в файл.

Последний раз редактировалось Allexandr; 24.02.2007 в 11:09.
Allexandr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текстовый файл werser Общие вопросы Delphi 3 06.06.2008 08:42
Текстовый файл subsonic Общие вопросы Delphi 5 09.03.2008 21:20
текстовый файл Var17 Общие вопросы Delphi 1 22.12.2007 02:20
Текстовый файл в текстовый массив Kimimaru Общие вопросы C/C++ 1 02.12.2007 11:55
Как с помощью Delphi открыть/сохранить/удалить текстовый документ SeRhy Помощь студентам 4 02.11.2007 20:27