Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 2 / 1
Регистрация: 15.03.2010
Сообщений: 109
1

Многооконый текстовый редактор, функции для открытия, сохранения

08.04.2011, 17:31. Показов 2677. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я сделал многооконый текстовый редактор с Form1=MDIForm и Form2=MDIChild,В Form2=MDIChild я добавил только компонент RichEdit1 ,в Form1=MDIForm Meniu, ...

мне нужен пример функции для открытия , сохронение документов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.04.2011, 17:31
Ответы с готовыми решениями:

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

Добавить в текстовый редактор функцию открытия файла
Есть очень навороченный текстовый редактор, он умеет многое, но только не открывать файл. Помогите...

Текстовый редактор, ошибка при попытке сохранения файла
Здравствуйте! Помогите, пожалуйста, программа-блокнот- компиляция проходит нормально, но как...

Консольный текстовый редактор с возможностью создания и сохранения файлов
Люди помогите пожалуйста у меня завтра зачет по программированию на си шарп. Дали задание: "Создать...

15
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 3
08.04.2011, 18:26 2
какая там функция... используйте OpenDialog, SaveDialog при нажатии соотвествующей кнопки меню.
0
2 / 2 / 1
Регистрация: 15.03.2010
Сообщений: 109
08.04.2011, 18:39  [ТС] 3
Цитата Сообщение от LK Посмотреть сообщение
какая там функция... используйте OpenDialog, SaveDialog при нажатии соотвествующей кнопки меню.
C++
1
2
{if (SaveDialog1->Execute())
RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);}
Так?

но компонент ричедит в Form2=MDIChild, и MDIForm не видит его,
кроме того я думаю что ричедит тоже динамик должен быть.
0
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 3
09.04.2011, 01:29 4
два примера - МДИ и РЭ от А.Я.А
Вложения
Тип файла: rar virux.rar (13.8 Кб, 173 просмотров)
1
2 / 2 / 1
Регистрация: 15.03.2010
Сообщений: 109
09.04.2011, 09:48  [ТС] 5
Цитата Сообщение от LK Посмотреть сообщение
два примера - МДИ и РЭ от А.Я.А
при открытие проекта возникает ошибко.
[img=http://s2.postimage.org/1znxathes/erorr.jpg]
0
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 3
10.04.2011, 14:39 6
Цитата Сообщение от virux Посмотреть сообщение
при открытие проекта возникает ошибко.
[img=http://s2.postimage.org/1znxathes/erorr.jpg]
проверил - прекрасно открылись, компилировались и работают оба проекта, что-то вы не так сделали.
0
2 / 2 / 1
Регистрация: 15.03.2010
Сообщений: 109
10.04.2011, 15:56  [ТС] 7
я открыл уже работают оба проекта правильно.
но с MDI я зделал по примеру из книги и получилось также, сделал и RichEDIt только по другому.
это не то што мне нужно, мой вопрос заключался в другом.

вот этот прект MDI я удалил меню открыть и сохранить из формы MDIChild , и я могу создать и видеть все созданные формы MDIChild в главнной форме,
добавил этот меню(открыть и сохранить) в главной форме но заставить их роботать немогу .
с этой функции ошибко выдаёт в даной ситуации
C++
1
2
3
4
5
if (OpenDialog1->Execute())
        {
        RichEdit1->Clear();
        RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
}
пишет
undefined symbol RichEdit1
и это понятно RichEdit1 компонет дочурной формы.

Вопрос: что надо сделать с RichEdit1 чтобы не возникло ошибко , и конешно роботало ?
0
5 / 5 / 1
Регистрация: 13.03.2011
Сообщений: 30
10.04.2011, 16:23 8
А просто в коде главной формы прописать #include "Form2.h" и юзать те же opendialog и savedialog не канает?
0
2 / 2 / 1
Регистрация: 15.03.2010
Сообщений: 109
10.04.2011, 16:38  [ТС] 9
Цитата Сообщение от Alex992 Посмотреть сообщение
А просто в коде главной формы прописать #include "Form2.h" и юзать те же opendialog и savedialog не канает?
так и сделал
пишет
undefined symbol RichEdit1
0
5 / 5 / 1
Регистрация: 13.03.2011
Сообщений: 30
10.04.2011, 16:40 10
Form2->RichEdit1
0
2 / 2 / 1
Регистрация: 15.03.2010
Сообщений: 109
10.04.2011, 16:52  [ТС] 11
Цитата Сообщение от Alex992 Посмотреть сообщение
Form2->RichEdit1
где это написать?
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "UMDI.h"
#include "UDoc.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFMDI *FMDI;
--------------------------------------------
__fastcall TFMDI::TFMDI(TComponent* Owner)
        : TForm(Owner)
}
//---------------------------------------------------------------------------
void __fastcall TFMDI::MNewClick(TObject *Sender)
{
TFDoc *TF = new TFDoc(FMDI);
if (!TF) return;
TF->Caption = "Dcoument " +IntToStr(MDIChildCount);
}
 
void __fastcall TFMDI::MOpenClick(TObject *Sender)
{
/*if (OpenDialog1->Execute())
        {
        RichEdit1->Clear();
        RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
} */
}
//---------------------------------------------------------------------------
void __fastcall TFMDI::MSaveClick(TObject *Sender)
{
if (SaveDialog1->Execute())
        RichEdit->Lines->SaveToFile(SaveDialog1->FileName);
}
 
//---------------------------------------------------------------------------

так тоже не катит
C++
1
2
3
4
5
void __fastcall TFMDI::MSaveClick(TObject *Sender)
{
if (SaveDialog1->Execute())
        UDoc->RichEdit->Lines->SaveToFile(SaveDialog1->FileName);
}
0
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 3
10.04.2011, 18:09 12
где это написать?
В том юните, в котором обращетесь к RichEdit1
C++
1
ИмяФормыНаКоторойЛежитРичЭдит->RichEdit1->...
UDoc - это что ?
1
2 / 2 / 1
Регистрация: 15.03.2010
Сообщений: 109
10.04.2011, 18:57  [ТС] 13
Цитата Сообщение от LK Посмотреть сообщение
В том юните, в котором обращетесь к RichEdit1
C++
1
ИмяФормыНаКоторойЛежитРичЭдит->RichEdit1->...
UDoc - это что ?
это Имя Дочурной Формы На который лежит ричедит. и я перепутал не UDoc a FDoc

дествителино комилируется , при нажатие на опен и сохронить открываются диалоги
Но при нажатие сохронить какойто документ и открыть выбраного документа ошибко.
0
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 3
10.04.2011, 19:12 14
пляски с бубном - сделайте это
C++
1
2
#include "UMDI.h"
#include "UDoc.h"
в оба юнита
1
2 / 2 / 1
Регистрация: 15.03.2010
Сообщений: 109
10.04.2011, 19:23  [ТС] 15
Цитата Сообщение от LK Посмотреть сообщение
пляски с бубном - сделайте это
C++
1
2
#include "UMDI.h"
#include "UDoc.h"
в оба юнита
та же ошибка
проверьте пожалусто и скажите что не так.
Вложения
Тип файла: rar multiwindow.rar (416.8 Кб, 36 просмотров)
0
2 / 2 / 1
Регистрация: 15.03.2010
Сообщений: 109
12.04.2011, 18:56  [ТС] 16
Спасибо, LK.
зделал я свой многооконый редактор с твоей помоши конешна , но сделал, огромное тебе и остольным спасибо.

locked
1
12.04.2011, 18:56
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.04.2011, 18:56
Помогаю со студенческими работами здесь

Создать текстовый редактор с возможностью сохранения текста в файл формата MS Word.
Здравствуйте. Собственно само задание звучит так: Создать текстовый редактор с возможностью -...

Текстовый редактор. Выход с сохранением. Выход без сохранения.
привет! помогите, плиз: Создайте простейший текстовый редактор, в котором при выходе содержимое...

Папка по умолчанию для открытия и сохранения в FileDialog
В Win XP не было проблем с тем, что бы диалоговое окно открывалось в папке, с указанным путем...

Определить путь в файле для его открытия и сохранения
ввести в текстовый файл статью из учебника. Используя компоненты вкладки диалогс , TOpen диалог...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как запретить подсветку выделенного текста с помощью CSS
InfoMaster 20.01.2025
Подсветка текста при выделении является стандартным поведением браузера, которое не всегда соответствует дизайнерским решениям или функциональным требованиям веб-приложения. Выделение текста может. . .
Как выполнить другую программу или системную команду из Python
InfoMaster 20.01.2025
Python предоставляет мощные инструменты для выполнения системных команд и управления внешними процессами, что делает его идеальным выбором для автоматизации различных задач системного. . .
Как узнать директорию bash-скрипта из самого bash-скрипта
InfoMaster 20.01.2025
При разработке bash-скриптов одной из важных задач является определение директории, в которой находится исполняемый скрипт. Это критически важно для корректной работы с файлами, загрузки конфигураций. . .
В чем разница между let и var в JavaScript
InfoMaster 20.01.2025
JavaScript прошел длинный путь эволюции с момента своего создания в 1995 году. Одним из важнейших аспектов развития языка стало совершенствование механизмов объявления и управления переменными. . . .
Эффективная работа со строками в Go
InfoMaster 20.01.2025
Язык программирования Go предлагает уникальный подход к работе со строками, который существенно отличается от многих других языков программирования. В Go строки представляют собой неизменяемые. . .
Как проверить, что отображение (map) содержит ключ в Go
InfoMaster 20.01.2025
Отображения (maps) в языке программирования Go представляют собой мощные структуры данных, которые позволяют хранить пары ключ-значение и обеспечивают быстрый доступ к данным по уникальным. . .
Как организовать домашнее хранилище фильмов с общим доступом для всей семьи
InfoMaster 20.01.2025
Преимущества домашнего медиасервера В современном мире, где цифровой контент стал неотъемлемой частью нашей жизни, организация домашнего медиасервера становится все более актуальной задачей. . . .
Перспективы развития жестких дисков: есть ли у них будущее?
InfoMaster 20.01.2025
История и эволюция жестких дисков История развития жестких дисков начинается в 1956 году, когда компания IBM представила первое устройство для хранения данных на магнитных пластинах - IBM 350. . .
Распознавание изображений (компьютерное зрение) на C++
InfoMaster 20.01.2025
Введение в компьютерное зрение и основы работы с изображениями Компьютерное зрение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, позволяющую. . .
Какой язык программировани­я лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru