Chief-NET

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Chief-NET » Паскаль в среде Borland Delphi » Delphi 5 - Memo & ini


Delphi 5 - Memo & ini

Сообщений 1 страница 15 из 15

1

Как всякий начинающий я создаю свой текстовой редактор... Написал инишку - в ней сохраняю параметры текста Memo... С этим у меня проблем нет:

//создание ини перед закрытием программы
inifile:=TIniFile.Create('.\myapp.ini')  ;

     IniFile.WriteString('tabGUYver 1.0.1', 'Name font',Original.Font.Name);
{Сохранить размер шрифта, компонента Memo1}
     IniFile.WriteInteger('tabGUYver 1.0.1', 'Size', Original.Font.Size);
{Сохранить цвет шрифта, компонента Memo1}
     IniFile.WriteInteger('tabGUYver 1.0.1', 'Color',Original.Font.Color);
 
inifile.Free; // освободить память

и потом при открытии программы загружаю все эти сфойства:

{выставляем имя шрифта для Memo1}
    Original.Font.Name:=IniFile.ReadString('tabGUYver 1.0.1', 'Name font','');
{выставляем размер шрифта для Memo1}
    Original.Font.Size:=IniFile.ReadInteger('tabGUYver 1.0.1', 'Size',0);
{выставляем цвет шрифта для Memo1}
    Original.Font.Color:=IniFile.ReadInteger('tabGUYver 1.0.1', 'Color', 0);

inifile.Free;

Вопрос вот в чём - как то же самое сделать для цвета фона Memo

(я его изменяю в программе с помощью стандартного диалога

procedure TForm1.N27Click(Sender: TObject);
begin
if ColorDialog1.Execute then
Original.Color:=ColorDialog1.Color;
end; )

- как я не пробовал - у меня не получается... Хелп...

2

ColorDialog почему-то глючит, и задает цвет по выбранному шаблону в предыдущий раз (то есть отстает на один шаг).
Да и нужно ли тебе это?
Мое мнение: черный текст не белом фоне - лучший вариант работы.

3

Вот что сделал я

Создание формы и чтение Ini файла с применением параметров;

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Mainini:=Tinifile.Create(Extractfiledir(application.exename)+'\myini.ini');
  Memo1.color:=Mainini.ReadInteger('Const','Bg',clWindow);
  Mainini.Free;

end;

Вызов ColorDialog, изменение фона и запись настройки в INi

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
   if colordialog1.Execute then begin
    Mainini:=Tinifile.Create(Extractfiledir(application.exename)+'\myini.ini');
    memo1.Color:=colordialog1.Color;
    MainIni.WriteInteger('Const','Bg',colordialog1.Color);
    Mainini.Free;

   end;
end;

полный текст проги тут
http://www.chief-net.fatal.ru/files/guyverprg.zip

4

Ссылка не бачит

5

Работает теперь.

6

Спасибо! Я сделал так:

//создание ини перед закрытием программы
inifile:=TIniFile.Create('.\myapp.ini') ;

  IniFile.WriteInteger('цвет фона оригинала', 'Color Original',Original.Color);
  IniFile.WriteInteger('цвет фона перевода', 'Color Perevod',Perevod.Color);

inifile.Free; // освободить память

и потом при открытии программы загружаю все эти сфойства:

Original.Color:=IniFile.ReadInteger('цвет фона оригинала', 'Color Original', 16777215);
Perevod.Color:=IniFile.ReadInteger('цвет фона перевода', 'Color Perevod', 16777215);

inifile.Free;

Всё работает отлично!!!

7

Ну да ладно, с инишками я кое-как разобрался... У меня новый вопрос, касаемый синхронизации прокрутки двух Мемо:

procedure TMainForm.ScrollBar1Scroll(Sender: TObject;
ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
  ScrollBar2.Position:=ScrollPos;
end;

procedure TMainForm.ScrollBar2Scroll(Sender: TObject;
ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
  ScrollBar1.Position := ScrollPos;
end;

Это если у меня созданы 2 скроллбара в каждой Меме, а если я их не создавал, если у меня стандартные 2 вертикальных скроллбара  (я им не задавал никаких свойств, они есть по умолчанию) - можно ли как-то к ним обратиться? На программном уровне? Есть идеи - или может у меня подход не тот совсем... Может синхронизации прокрутки можно добиться по-другому, например перемещая курсор с одной Мемы на другую или ещё как нибудь??? Хелп...

8

А почему мемо?
Вообще там много способов подберу лучший выложу.

9

Почему Мемо? Ну не люблю я РичЭдит, хотя у него много плюсов <;о)

Хотелось бы разобраться, а на РичЭдит переходить уже поздно, да и не дело это - всё бросать после первой неудачи... Надо пытаться сделать то, что не получается... Или хотя бы попытаться :о(

Эх... Мне бы книжку по Дэлфи :*((((((((

10

ШЭФ!!! Хээээээээлп!!!

11

Люди а как установить Delphi 7. А то когда я её устанавливаю то она выдаёт сообщение (подробней посмотрите здесь) где у меня есть выбор на "Да" и "Нет" и в любом случае она отказывется устанавливатся. Делал как говорил Джин все равно ничего не выходет.

12

Нафига тебе 7? Бери 6 или 5, тебе хватит... 100% Я, кстати, сам её (7) плохо установил - она у меня глючила, так я её стёр и установил 5, а потом и 6... Не жалуюсь...

13

Да вот купил и не знаю что с ним делать теперь.

Отредактировано kupo (2006-01-07 04:19:40)

14

Тогда понятно :о) У меня был диск с 7 и 6 на одном, так вот - я установил 7 - она идёт, потом диск отформатировал, потом опять поставил - не идёт, и так через раз... Почему - не знаю, ведь каждый раз на чистый хард её ставлю... А 6 отлично работает...

15

Люди а как установить Delphi 7. А то когда я её устанавливаю то она выдаёт сообщение (подробней посмотрите здесь) где у меня есть выбор на "Да" и "Нет" и в любом случае она отказывется устанавливатся. Делал как говорил Джин все равно ничего не выходет.

Там ты говорил что 8-мую пытаешься установить. Так какую же?

-Если 8-ую, то какая у тебя ИксПишка стоит?
-Если 7-мую, тоя могу скинуть тебе Ридми, попробуешь по нему установить.


Вы здесь » Chief-NET » Паскаль в среде Borland Delphi » Delphi 5 - Memo & ini