Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.23;
Скачать: 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 вся ветка

Текущий архив: 2002.05.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
1-73106
Carpenter
2002-05-07 19:54
2002.05.23
динамические массивы как параметры функции в DLL


1-73179
-Jack-
2002-05-10 16:51
2002.05.23
Правка файла в HEX


1-73151
chsv
2002-05-07 21:34
2002.05.23
работа с полиморфными потоками в делфи


1-73230
PavelOKES
2002-04-26 09:14
2002.05.23
RXLib


14-73367
Sergo
2002-04-15 10:47
2002.05.23
Звуковая...