Вниз
Скачать: CL | DM;

однооконный многофайловый редактор   Найти похожие ветки 

← →
Грифон ©   (2002-05-12 22:44) [0]

Скажите, есть ли у кого-нибудь такая компонента? Очень надо.


← →
Lesha   (2002-05-13 01:16) [1]

Зачем компонент? :) Есть уже готовый ох...ный EmEditor (www.emurasoft.com)
Трабл только в кряке.


← →
KilkennyCat ©   (2002-05-13 04:32) [2]

из любого можно сделать. Создать динамический массив типа потока.


← →
Грифон ©   (2002-05-13 06:22) [3]

А подскажите тогда поподробнее как его сделать


← →
KilkennyCat ©   (2002-05-13 14:19) [4]

куда уж подробнее-то?

var
tex : array[1..100] of tmemorystream; //я сделал фиксированный массив, но можно и динамический, просто дольше объяснять, хотя разница только в грамотном созданнии и освобождении элементов массива.

при создании формы:

for i:=1 to 100 do begin
tex[i] := TmemoryStream.Create;
tex[i].size := 0;
end;

при закрытии формы: for i:=1 to 100 do tex[i].Free;

Загрузка файла:

tex[n].size := 0;
tex[n].LoadFromFile(FileName);

сохранение файла:

tex[n].Position := 0;
tex[n].SaveToFile(FileName);

сохранение изменений (например, из TMemo):

procedure TForm.MemoOnChange(Sender:Tobject);
begin
tex[n].size := 0;
memo.SaveToStream(tex[n]);
end;

загрузка в Мемо:

tex[n].Position := 0;
memo.loadFromStream(tex[n]);

Cинтаксис может быть с ошибками, по памяти пишу.



← →
Грифон ©   (2002-05-13 22:06) [5]

Спасибо. Так вроде всё работает. А вот компоненту сделать не получается: пытаюсь создать меню и в нем пункты "load" и "save" но при перетаскивании моей компоненты на форму меню не появляется.

делаю так:

Menu : TMainMenu;
LoadItem,SaveItem:TMenuItem;

перегружаю конструктор и пишу:

Menu := TMainMenu.Create(self);
LoadItem := TMenuItem.Create(Self);
SaveItem := TMenuItem.Create(Self);
LoadItem.Caption := "Load";
SaveItem.Caption := "Save";
FMenu.Items.Add(LoadItem);
FMenu.Items.Add(SaveItem);


← →
Song ©   (2002-05-13 22:09) [6]

А что TTabControl+TMemo не использовать?


← →
Грифон ©   (2002-05-13 23:10) [7]

Хорошая идея. Спасибо огромное.
Но вопрос остается, ведь нужно же сделать меню для загрузки и сохранения.


← →
Song ©   (2002-05-13 23:18) [8]

А в чём проблема? TMainMenu кидаете на форму.
Делаете Open и Save
Для Open:
With OpenDialog1 Do IF Execute then
Begin
Memo1.Lines.LoadFromFile(FileName);
With TabControl1 Do Tabs[TabIndex]:=FileName;
End;
Для Save:
With TabControl1 Do Memo1.Lines.SaveToFile(Tabs[TabInde]);

Ну вообщем это не сложно. Какие проблемы?


← →
Грифон ©   (2002-05-13 23:49) [9]

да, это всё так. Но вы по-моему немного меня не поняли. Я пытаюсь написать свою компоненту. Наследую от Memo, добавляю TTabControl и TMainMenu в перегруженном конструкторе. Так вот меню не показывается.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
4-73462
sergey_1
2002-03-25 08:04
2002.05.23
Как получить код возврата консольного прилолжения


1-73198
Gari
2002-05-14 14:43
2002.05.23
Прошу помощи !!!!!


4-73441
AlexSK
2002-03-20 12:38
2002.05.23
выгрузка DLL


4-73445
Keymaster
2002-03-21 23:35
2002.05.23
Журнал программ


14-73406
SPeller
2002-04-13 10:13
2002.05.23
MySQL




   Наверх