Главная страница
    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.006 c
6-73321
Semen Pleshivtsev
2002-02-19 18:06
2002.05.23
Выделение фразы цветом в TWebBrowser ? Help!


1-73314
Serhy
2002-05-12 03:31
2002.05.23
Из 8.3 в норму


1-73096
krion_
2002-05-12 15:55
2002.05.23
Как в StringGrid организовать свою прокрутку.


14-73407
Song
2002-04-09 09:49
2002.05.23
Предложения авторам сайта.


1-73171
hoax
2002-05-09 18:22
2002.05.23
Помогите с масивами! Плиз





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский