Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
1

Создание многостраничного блокнота

22.04.2016, 06:55. Показов 4330. Ответов 38
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте.
Скажите как в lazarus можно эфективно организовать многостраничный блокнот.
Способов много но меня интересует самый эффективный и быстрый способ. Чтобы не напрягал систему и работал очень быстро вне зависимости от количества вкладок.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2016, 06:55
Ответы с готовыми решениями:

Создание простейшего Блокнота
Может кто-нибудь создать в лазарусе блокнот, как в Windows? А то у меня есть некоторые нестыковки.

Копирование из блокнота в блокнот
Здравствуйте, вообщем, есть блокнот в нём много строк, как сделать так, чтобы при нахождении...

Вывод строки из блокнота - кракозябры
в блокноте window 8 записано слово - Привет при выводе writeln (str) выходят кракозябры = это...

Создание многостраничного документа Word на основе шаблона
Доброго времени суток Уважаемые форумчане. С word работаю достаточно давно и проблем никогда не...

38
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
25.04.2016, 19:06 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Alexandr_7 Посмотреть сообщение
Ну тогда как удалить вкладку
Pascal
1
PageControl1.ActivePage.Free;
Цитата Сообщение от Alexandr_7 Посмотреть сообщение
как можно сразу все вкладки стереть
Циклом, от PageCount - 1 до 0.
Pascal
1
  for i := PageControl1.PageCount - 1 downto 0 do PageControl1.Pages[i].Free;
Цитата Сообщение от Alexandr_7 Посмотреть сообщение
По кнопке по крестику точнее
Где тут крестик, можно показать?
Миниатюры
Создание многостраничного блокнота  
0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
25.04.2016, 19:14  [ТС] 22
А это тогда что по вашему. Виндно у вас более старая версия!
И еще есть ли способ удалить все вкладки сразу или по одной только
Миниатюры
Создание многостраничного блокнота  
0
600 / 548 / 210
Регистрация: 24.01.2012
Сообщений: 1,348
25.04.2016, 21:56 23
по одной в цикле
Pascal
1
while pc1.PageCount>0 do pc1.Pages[0].Destroy;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
26.04.2016, 13:32 24
Цитата Сообщение от Alexandr_7 Посмотреть сообщение
Виндно у вас более старая версия!
Нет, оказывается эти кнопки у меня были просто отключены в настройках (ибо можно ненароком закрыть нужную страницу, чуть промахнувшись). Значит, придется тебе либо под Windows рисовать кнопку закрытия на каждой вкладке вручную (для Дельфи я показывал, как это сделать вот тут: Иконка на вкладке PageControl, закрывающая вкладку), либо, под Linux, включить nboShowCloseButton в Options пейджконтрола. Это НЕ работает под Windows, и тот обходной путь "поменять Widgetset на Qt", которые многие предлагают - не заставляет стабильно работать эту фичу, работает под Windows кое-как, глюки остаются. Так что я бы рисовал вручную, будет надежнее.
Цитата Сообщение от Alexandr_7 Посмотреть сообщение
И еще есть ли способ удалить все вкладки сразу или по одной только
Читать мои посты не пробовал никогда? Я ж написал, как это сделать.
0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
26.04.2016, 14:22  [ТС] 25
Цитата Сообщение от volvo Посмотреть сообщение
Читать мои посты не пробовал никогда? Я ж написал, как это сделать.
Я говорю все сразу не через цикл. Через цикл и выше написано темболее это не сложно и самому догадатся когда знаешь как одну вкладку удалить. Понятно.
Вообще е меня тут вопрос скорее может у кого есть идея как сделать очень простой метод создание новых вкладок и удаление их (чтобы это можно было сделать очень быстро)
Покачто у меня это организовано через Меню Файл - Создать - (Новую вкладку Новый документ)
0
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
26.04.2016, 14:42 26
Всё программы которым приказали "закрыть всё" закрывают в цикле по одному. Иначе не бывает.
Создайте потомков от нужных компонент, опишите новые методы создания/удаления, пользуйтесь ими. А на скорость это не влияет.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Type
    TPageControlEx = class(TPageControl)
        function NewTab(Title: String = ''): TTabSheet;
    end;
 
...
 
function TPageControlEx.NewTab(Title: String): TTabSheet;
begin
Result:=TTabSheet.Create(Self);
Result.Caption:=Title;
Result.Visible:=True;
Result.Parent:=Self;
end;
 
...
 
procedure TForm1.Button1Click(Sender: TObject);
begin
PageControl1.ActivePage:=PageControl1.NewTab('blabla');
end;
Можете хоть свой новый компонент сделать.
0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
26.04.2016, 14:48  [ТС] 27
Цитата Сообщение от BOGG ART Посмотреть сообщение
Можете хоть свой новый компонент сделать.
В Delphi хоть сотню но не в Lazarus где для установки нового компонента нужно перекомпелировать все темболее я не знаю как устанавливать компоненты в Lazarus
К томуже зачем описывать новые методы в компоненте. Вот если делать перерисовку с добавлением там скажем новых кнопок с новыми методами то тогдав смысл есть а так это лишняя марока к томуже у меня компиляция оджидание компиляции пустого проекта 5 мину а в Delphi это 3 секунды
0
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
26.04.2016, 15:14 28

Не по теме:

Форма, вкладки/табы, кнопка и код который я привёл в предыдущем посте - это в Лазарусе 1.4.4. От нажатия кнопки F9 до запуска приложения - от 5 до 9 секунд.



А что вы тогда хотели в #25?
0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
26.04.2016, 15:19  [ТС] 29
Цитата Сообщение от BOGG ART Посмотреть сообщение
А что вы тогда хотели в #25?

Не по теме:

Не понял . А про компиляцию то приврал на самом деле секунд 10 но в Delphi это полсекунды а самое главное что любую делфи взять то скорость компиляции одинаковая.
Впрочем на то он и бесплатный что есть недостаки
Шучу конечно. Я в курсе почему Lazarus бесплатный и рассказывать мне не надо.

0
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
26.04.2016, 15:30 30

Не по теме:

Нажал F9 три раза. У Лазаруса все три раза - 5 секунд и запуск. У Делфи7 - 1 секунда. У ДелфиDX - 3 секунды. А для чего секунды считать? Не бомбу же обезвреживаем.



Так вы не ответили, что же вы хотите под "простой метод создание новых вкладок"? Ну не хотите потомков, просто процедурой оформить.
0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
26.04.2016, 15:43  [ТС] 31
Цитата Сообщение от BOGG ART Посмотреть сообщение
Так вы не ответили, что же вы хотите под "простой метод создание новых вкладок"? Ну не хотите потомков, просто процедурой оформить.
Процедурой и оформлено. А имел я простой способ созщдания вкладок это на сколько быстро и легко можно будет создать ее. Например в Notepad++ это делается безо всяких меню. На самом PC есть кнопка дорбавления вкладки.
Но ччтобы сделать также как в n++ то прийдется переписывать стандартный PC в Lazarus а я не силен в создании компонентов. Темболее компонетов Lazarus код которых скорее всего сильно отличается от кода VCL
0
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
26.04.2016, 17:10 32

Не по теме:

Цитата Сообщение от Alexandr_7 Посмотреть сообщение
Темболее компонетов Lazarus код которых скорее всего сильно отличается от кода VCL
Это с чего бы вдруг?



У меня в N++ нет никаких кнопок добавления. Судя по вашему скриншоту из #22 у вас тоже нету. Просто OnDblClick родителя.
0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
26.04.2016, 17:23  [ТС] 33
Цитата Сообщение от BOGG ART Посмотреть сообщение
У меня в N++ нет никаких кнопок добавления. Судя по вашему скриншоту из #22 у вас тоже нету. Просто OnDblClick родителя.
Как это нет. А на ToolBar тогда что. Хотя я вот придумал -

Думаю очень легко и понятно.
Только вот с иконками не знаю как быть ImageList но возможно ли туда загрузить картинки програмно чтобы при замене иконок не приходилось перекомпелировать весь проект
Кстати Название проекта то у меня автоматом и под Windows и Linux пишу тоесть при портировании на линукс там даже не нужно будет менять код только открыть и компилировать под линукс.
Миниатюры
Создание многостраничного блокнота  
0
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
26.04.2016, 17:36 34
оу... Эта мелкая картинка... Пардон, никогда ими не пользовался, они неудобные. Двойной клик гораздо привычнее.
Это и есть TToolBar.

Чем отличается "новую вкладку" от "новый документ"?
0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
26.04.2016, 17:47  [ТС] 35
Двойной клик по чему. Вообще я делаю несколько способов чтобы было легко. Я спрашивал идей по созданию новых табов
Создание нового документа от вкладки отличается тем что при создании нового документа все вкладки стераются а создание вкладки это добавление вкладки.
У меня пару вопросов.
1.
Как создать диалог добавление даты и времиени точнее мне нужно просто настройка полная стиля даты и времени а не сам диалог
2.Собственно системизация иконками для кросаты впрочем это можно в последнюю очередь сделать
3. Он же первый. Это предусмотреть самый быстрый способ работы (быстрый в том плане чтобы им было легко пользоваться) Впрочем я его пишу для себя он все равно не превзойдет Notepad++ Да и начел я его писать только из за нужной возможности добавлять дополнительные скрипты из одной программы которые.
0
BOGG ART
26.04.2016, 19:03
  #36

Не по теме:

Кликните здесь для просмотра всего текста
Ну и зря, довольно удобно:
Создание многостраничного блокнота

0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
26.04.2016, 19:09  [ТС] 37
Цитата Сообщение от BOGG ART Посмотреть сообщение
Не по теме:
Кликните здесь для просмотра всего текста

Не по теме:

Чет ничего не понял. Двойной клик по какому объекту по Memo то Memo не визуальный компонент

0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
03.05.2016, 21:58  [ТС] 38
С двойным кликом то функцию осуществил. У меня вопрос по TImageList а именно програмно загрузка иконок пнг формата в него. Скажите как это сделать.
И еще. Какое событие происходит сразу после создания всех компонентов и только 1 раз.

Добавлено через 1 час 1 минуту
Можно ли настроить TMenu так чтобы нормальный вывод был. Картинка в размере 32 x 32 px
Изображения
 
0
46 / 20 / 5
Регистрация: 29.12.2015
Сообщений: 1,814
08.05.2016, 14:49  [ТС] 39
Что никто не может посоветовать решение проблемки. Я свойств подходящих не могу найти чтобы настроить размер и подгонку изображений в TMenu
0
08.05.2016, 14:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2016, 14:49
Помогаю со студенческими работами здесь

Создание многостраничного документа Word для массовой печати
Добрый день, уважаемые форумчане. Задача: есть шаблон Word'а, в котором используются поля...

Создание блокнота
Хочу создать некое подобие блокнота, для кодирования/декодирования файлов. Никак не получается...

Создание блокнота в паскале
Помогите пожайлуста создать блокнот в паскале, который выполнять самые простые функции: открыть...

Создание блокнота, запись и считывание информации
Необходимо записать информацию в блокнот(в моем случае это список файлов). А так же произвести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru