Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
Грифон   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-73038
gizar
2002-04-24 18:38
2002.05.23
Отключить юзеров от базы


3-73074
roman001
2002-04-28 19:16
2002.05.23
Закрытие таблиц


14-73393
ATLANTIDO
2002-04-16 00:18
2002.05.23
SDK


1-73098
Елена
2002-05-12 12:36
2002.05.23
Свойство ShortCut


7-73411
Jony
2002-02-26 12:00
2002.05.23
Как изменить ShortCut кнопки или пункта меню программно?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский