Главная страница
    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
1-73264
Talvin
2002-05-07 23:54
2002.05.23
Вопрос по PASCAL!


1-73315
Deus
2002-05-12 01:16
2002.05.23
проблемы с hint ом


4-73437
fomstas
2002-03-21 13:20
2002.05.23
Как правильно преобразовать Canvas в Icon не сохраняя в файл...


6-73352
Aaz
2002-02-26 10:41
2002.05.23
Связь с Интернетом. Выделенная линия.


6-73347
alextov
2002-03-10 11:04
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский