Форум программистов, компьютерный форум, киберфорум
Кроссплатфор­менная разработка
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 9

Текстовый редактор

08.07.2011, 11:12. Показов 5139. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток
Будьте добры помочь)
Требуется написать текстовый редактор.
Вопросы пока следующие:
1. Как сделать поддержку приложения на FreePascal
2. Сделать нумерацию строк.)
Заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.07.2011, 11:12
Ответы с готовыми решениями:

Простенький текстовый редактор
Уважаемые! Может у кого-нибудь есть простенький текстовый редактор под ДОС? Или может кто-нибудь знает где его скачать можно. ...

Многооконый текстовый редактор, функции для открытия, сохранения
Я сделал многооконый текстовый редактор с Form1=MDIForm и Form2=MDIChild,В Form2=MDIChild я добавил только компонент RichEdit1 ,в...

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

17
3012 / 1446 / 262
Регистрация: 16.03.2008
Сообщений: 6,447
Записей в блоге: 2
08.07.2011, 11:46
Цитата Сообщение от Tepp Посмотреть сообщение
Доброго времени суток
Будьте добры помочь)
Требуется написать текстовый редактор.
Вопросы пока следующие:
1. Как сделать поддержку приложения на FreePascal
2. Сделать нумерацию строк.)
Заранее спасибо
Не вижу какая может быть у текстового редактора "поддержка приложения на FreePascal". Полагаю вы о подсветке синтаксиса?
Редактор планируете консольный, с использованием виндовой библиотеки классов, Qt или Gtk+.
Вообще сам редактор уже есть?
Регулярные выражения знаете?
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
08.07.2011, 11:48
"Шлее. Профессиональное программирование в Qt 4.5"
Есть пример простого текстового редактора.

могу даже главу и страницу сказать если интересно
1
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 9
08.07.2011, 12:06  [ТС]
Просто дали задание на практике, написать текстовик.
Пишем на Qt.
Поддержка FPC: нужно сделать так, чтобы можно было в редактор забить команды, и с помощью компилятора FPC (путь к нему указывается) скомпилировать программу. Вот как-то так
+ незнаю как сделать нумерацию строк, как допустим в самом Qt Creator'e
Цитата Сообщение от co6ak Посмотреть сообщение
"Шлее. Профессиональное программирование в Qt 4.5"
Есть пример простого текстового редактора.

могу даже главу и страницу сказать если интересно
Не отказался бы)
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
08.07.2011, 12:21
тогда все еще проще.
в Qt 4.7.2 (может и ранее, но в этом я уверен по крайней мере) есть пример, называется
Code Editor Example (Примеры Qt C++ / Widgets / Code Editor )
простой графический редактор так сказать...

в Шлее, в главе 10 ( стр. 190 ) пример оформления окна текста в стиле борландовского IDE.
0
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 9
08.07.2011, 12:47  [ТС]
Цитата Сообщение от co6ak Посмотреть сообщение
тогда все еще проще.
в Qt 4.7.2 (может и ранее, но в этом я уверен по крайней мере) есть пример, называется
Code Editor Example (Примеры Qt C++ / Widgets / Code Editor )
простой графический редактор так сказать...

в Шлее, в главе 10 ( стр. 190 ) пример оформления окна текста в стиле борландовского IDE.

Добавлено через 1 минуту
интересно, зачем перенесли в паскаль, если задача должна быть сделана в Qt C++.... странно
Это я так понимаю ответ на 2 вопроса?))
Просто не совсем ясно, пример оформления одно дело, а сделать так, чтобы можно было отсылать команды в компилятор ФПЦ другое)
в Qt 4.7.2 (может и ранее, но в этом я уверен по крайней мере) есть пример, называется
Code Editor Example (Примеры Qt C++ / Widgets / Code Editor )
Не совсем понял, это в Шлее?)
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
08.07.2011, 12:55

это тут
0
3012 / 1446 / 262
Регистрация: 16.03.2008
Сообщений: 6,447
Записей в блоге: 2
08.07.2011, 14:14
Цитата Сообщение от Tepp Посмотреть сообщение
Поддержка FPC: нужно сделать так, чтобы можно было в редактор забить команды, и с помощью компилятора FPC (путь к нему указывается) скомпилировать программу. Вот как-то так
QProcess
0
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 9
08.07.2011, 17:56  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
QProcess
А можно немного подробнее?)
0
3012 / 1446 / 262
Регистрация: 16.03.2008
Сообщений: 6,447
Записей в блоге: 2
08.07.2011, 18:30
Что бы наладить "взаимодействие с FeePascal" вы должны сохранить набранный текст в файл. И скормить данный файл компилятору. Для чего.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
    this->proc = new QProcess(this);
    this->proc->setProcessChannelMode(QProcess::MergedChannels); // Устанавливаем, что вывод компилятора (и ошибки и прочее) будет валиться в один канал
    connect (this->proc, SIGNAL(readyReadStandardOutput()), this, SLOT(onReady())) ; // ловим когда компилятор что то выдал
    connect (this->proc, SIGNAL(readyReadStandardError()), this, SLOT(onReadyError())) ;  // ловим когда компилятор выдал ошибку
    connect (this->proc, SIGNAL(finished(int)), this, SLOT(onFinished(int))) ; //ловим когда компилер закончил работу
 
 
proc->start("compiler.exe",QStringList()<<SavedFileName << "-G0"<<"-o"<<"test"); //запускаем процесс
// первый параметр имя файла компилятора (с путем если надо)
// второй массив параметров
QEventLoop loop;
connect(this,SIGNAL(finished(int)),&loop,SLOT(quit()));
loop.exec();
//Выше в трех строках не даем приожению завершиться пока у нас все не отработает
 
// слоты подключенные выше
void MDialog::onReady()
{
    QString output(QString::fromLocal8Bit(static_cast<QProcess *>(sender())->readAllStandardOutput()));
    if (!output.isEmpty())
    {
qDebug() << output;
    }
}
void MDialog::onReadyError()
{
    QString output(static_cast<QProcess *>(sender())->readAllStandardOutput ());
    if (!output.isEmpty())
    {
qDebug() << "Error:" << output;
    }
}
void MDialog::onFinished(int /*result*/)
{
qDebug () << "Ура";
 
// А так можно прибить процесс
     this->proc->terminate();
    this->proc->waitForFinished(10000);
}
Добавлено через 1 минуту
Естественно это сырая заготовка.... Но, вроде, ни чего не забыл...
1
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 9
09.07.2011, 13:24  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
Что бы наладить "взаимодействие с FeePascal" вы должны сохранить набранный текст в файл. И скормить данный файл компилятору. Для чего.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
    this->proc = new QProcess(this);
    this->proc->setProcessChannelMode(QProcess::MergedChannels); // Устанавливаем, что вывод компилятора (и ошибки и прочее) будет валиться в один канал
    connect (this->proc, SIGNAL(readyReadStandardOutput()), this, SLOT(onReady())) ; // ловим когда компилятор что то выдал
    connect (this->proc, SIGNAL(readyReadStandardError()), this, SLOT(onReadyError())) ;  // ловим когда компилятор выдал ошибку
    connect (this->proc, SIGNAL(finished(int)), this, SLOT(onFinished(int))) ; //ловим когда компилер закончил работу
 
 
proc->start("compiler.exe",QStringList()<<SavedFileName << "-G0"<<"-o"<<"test"); //запускаем процесс
// первый параметр имя файла компилятора (с путем если надо)
// второй массив параметров
QEventLoop loop;
connect(this,SIGNAL(finished(int)),&loop,SLOT(quit()));
loop.exec();
//Выше в трех строках не даем приожению завершиться пока у нас все не отработает
 
// слоты подключенные выше
void MDialog::onReady()
{
    QString output(QString::fromLocal8Bit(static_cast<QProcess *>(sender())->readAllStandardOutput()));
    if (!output.isEmpty())
    {
qDebug() << output;
    }
}
void MDialog::onReadyError()
{
    QString output(static_cast<QProcess *>(sender())->readAllStandardOutput ());
    if (!output.isEmpty())
    {
qDebug() << "Error:" << output;
    }
}
void MDialog::onFinished(int /*result*/)
{
qDebug () << "Ура";
 
// А так можно прибить процесс
     this->proc->terminate();
    this->proc->waitForFinished(10000);
}
Добавлено через 1 минуту
Естественно это сырая заготовка.... Но, вроде, ни чего не забыл...
Спасибо)) Будем в понедельник пробовать)
Т.е. в данном случае только после сохранения текста в файл придется отдельно компилировать? Или же из самого текстовика?
0
3012 / 1446 / 262
Регистрация: 16.03.2008
Сообщений: 6,447
Записей в блоге: 2
09.07.2011, 22:44
Цитата Сообщение от Tepp Посмотреть сообщение
Т.е. в данном случае только после сохранения текста в файл придется отдельно компилировать? Или же из самого текстовика?
Скорее всего да. Это зависит от компилятора.
0
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 9
10.07.2011, 14:00  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
Скорее всего да. Это зависит от компилятора.
Просто надо как на пример, Geany, там просто указывается путь к компилятору ФПЦ, и далее можно уже компилировать)
0
3012 / 1446 / 262
Регистрация: 16.03.2008
Сообщений: 6,447
Записей в блоге: 2
10.07.2011, 15:52
Цитата Сообщение от Tepp Посмотреть сообщение
Просто надо как на пример, Geany, там просто указывается путь к компилятору ФПЦ, и далее можно уже компилировать)
Это для пользователя "просто". А на самом деле код нужно передать как то компилятору. Если компилятор позволяет что то подобное
Bash
1
echo "begin writeln("Hi"); end" > compiler
или
Bash
1
echo "begin writeln("Hi"); end" | compiler
то да. Во всех остальных случаях сохраняем в файл (может быть временный - что для пользователя не явно) и скармливаем компилеру.
0
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 9
10.07.2011, 16:09  [ТС]
Цитата Сообщение от voral Посмотреть сообщение
Это для пользователя "просто". А на самом деле код нужно передать как то компилятору. Если компилятор позволяет что то подобное
Bash
1
echo "begin writeln("Hi"); end" > compiler
или
Bash
1
echo "begin writeln("Hi"); end" | compiler
то да. Во всех остальных случаях сохраняем в файл (может быть временный - что для пользователя не явно) и скармливаем компилеру.
Ладно, будем пробовать) Если что отпишусь)
0
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 9
12.07.2011, 23:18  [ТС]
Ребят еще вопрос один.
Нужно сделать блоки, примерно как в Qt, т.е. в Qt есть черный треугольничек, которых их сворачивает, скажем так. Нужно что-то подобное
Помогите пожалуйста
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
13.07.2011, 10:42
какой черный треугольничег о_О ?
0
0 / 0 / 0
Регистрация: 30.03.2011
Сообщений: 9
13.07.2011, 11:20  [ТС]
Цитата Сообщение от co6ak Посмотреть сообщение
какой черный треугольничег о_О ?
Это я так тактично попытался объяснить какие блоки нужны, на примере Qt
Миниатюры
Текстовый редактор  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.07.2011, 11:20
Помогаю со студенческими работами здесь

Текстовый редактор. Автоматическая вставка пробелов между символами
Всем привет! Народ подскажите какой нибудь редактор или среду которая подсвечивает ошибки в коде, делает авто дополнение и что самое...

Текстовый редактор
Доброго времени суток. Поставлена задача написания простейшего текстового редактора.Среда должна быть реализована следующим образом:...

Текстовый и xml редактор. Qt и MVC
Задание создать редактор текста и xml с подсветкой синтаксиса xml. Так же для реализации этой программы нужно создать архитектуру этого...

Добавлять картинки в текстовый редактор
Добавлять картинки в текстовый редактор, что и где нужно дописать, помогите пожалуйста

Текстовый редактор типа word
Может у кого есть текстовый редактор в который можно добавлять и текст и картинки на qt, заранее спасибо!


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru