Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110

Работа с заргужаемым текстом в RichEdit

09.04.2011, 15:46. Показов 4735. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возникла проблема. Есть форма, на ней RichEdit1 (в который через меню загружается текс файла) и кнопка, посредством которой происходит получение текста из RichEdit1. Все работает в норме если в RichEdit1 писать текст самому, но если попытаться загрузить текст из файла - то получить текст из RichEdit1 не получается. Но если скопировать текст из файла, а потом вставить в 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include <stdio.h>
TForm1 *Form1;
AnsiString REtext = "";
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void log(AnsiString text)
{char *txt = text.c_str();
FILE * fo = fopen("log.txt","a+");
fprintf(fo,"\n");
fprintf(fo,txt);
fclose(fo);
}
 
void __fastcall TForm1::OpenClick(TObject *Sender)
{
    if (SaveDialog1->Execute())
    RichEdit1->Lines->LoadFromFile(SaveDialog1->FileName);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
    if (OpenDialog1->Execute())
    RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SaveClick(TObject *Sender)
{
    if (SaveDialog1->Execute())
    RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
    if (SaveDialog1->Execute())
    RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
//log(RichEdit1->Text);
REtext = RichEdit1->Text;
log(RichEdit1->Text);
}
 
//---------------------------------------------------------------------------
void __fastcall TForm1::ClearClick(TObject *Sender)
{
RichEdit1->Clear();
}
//---------------------------------------------------------------------------
Подскажите как можно это исправить. Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2011, 15:46
Ответы с готовыми решениями:

Работа с текстом в RichEdit
Есть текст в RichEdit нужно: 1) заменить выделенный текст, на другой по нажитии кнопки н-р выделено: ПРИВЕТ МИР после нажатия оно...

Цвет слоя под текстом в RichEdit
Всем привет. Как можно узнать цвет слоя под текстом в RichEdit?

Добавить символ перед текстом в RichEdit
Здравствуйте! Помогите с одной задачей связанной с поиском слова, а именно предлога во всем RichEdit и если МЫ нашли в...

20
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
09.04.2011, 16:06
C++
1
2
3
4
5
void __fastcall TForm1::OpenClick(TObject *Sender)
{
    if (SaveDialog1->Execute())
    RichEdit1->Lines->LoadFromFile(SaveDialog1->FileName);
}
Почему SaveDialog1? при OpenClick
0
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
09.04.2011, 16:13  [ТС]
Почему SaveDialog1?
Спасибо не заметил, просто делал по одной статье, там описывалось как делать простенький примитивный редактор текстовых файлов. Исправил. Но вот пришел к выводу что всему виной кодировка открываемого текстового файла, так как при открытии самого файла Unit1.cpp через редактор, программа делает все что нужно, а вот если открываю другие файлы программа перестает работать ... может как-то можно заставить RichEdit читать тексты разных кодировок?
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
09.04.2011, 16:19
Глянь здесь
https://www.cyberforum.ru/cpp-... 63838.html
1
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
10.04.2011, 01:06  [ТС]
sitesv глянул, попробовал в Rad Studio 2009 там тоже с++ билдер, но толку нет ... может есть еще какие-нибудь варианты, может быть можно как-то перекодировать/конвертировать?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2011, 13:31
можно, но надо знать, в какой кодировке исходный текст
0
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
10.04.2011, 13:47  [ТС]
Посмотрел через блокнот - Ansi, но .cpp тоже в Ansi ... Каким образом можно перекодировать/конвертировать?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2011, 14:16
получить текст из RichEdit1 не получается.
- это ты о чем ? опиши нормально .
прикрепи файл, который "попытаться загрузить текст", посмотрю
0
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
10.04.2011, 14:39  [ТС]
LK просто хотя бы банально взять текст который загружен в RichEdit и записать в другой файл ... казалось бы проще простого ... но не получается это сделать ... текст не выводит и все ... А вообще я хотел изначально делать редактор луа скриптов ... так как давно занимался программирвоанием на этом языке. В прикреплении просто проходит тупая проверка на наличие любого вхождения end'a еще не успел нормально сделать ... и нажатии на кнопку проверить происходит копирование текста из RichEdit в файл рядом с бинарником log.txt также в прикреплении два луа скрипта, anti_error.script - который не идет так как надо в программе и anti_error++.script - с ним все в норме.
Вложения
Тип файла: rar script_editor.rar (336.9 Кб, 33 просмотров)
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2011, 14:47
хотел изначально делать редактор луа скриптов
по-моему, на этом же форуме кто-то уже делал такое - поищи
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2011, 14:58
попробовал anti_error.script - прекрасно открывается, сохраняется и снова окрывается (RAD XE)
Миниатюры
Работа с заргужаемым текстом в RichEdit  
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2011, 15:04
и я бы сделал для диалогов не только .script, но и Все файлы *.* - например, log.txt в твоей программе открыть невозможно.
0
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
10.04.2011, 15:06  [ТС]
LK прошу прощенья, не тот скрипт кинул ... он нормально работает ... вот этот щас проверил не работает ... сохранить и открыть работает, а вот если нажимать кнопку проверить то содержимое RichEdit не копируется в log.txt ...
LK учту замечание ... но сначала для этого типа хотелось бы набросать ...
Не помню точно где, но рочитал что такой косяк возникает из-за того что с++ билдер старой версии, у меня стоит 6 ...
Вложения
Тип файла: rar bag_v.rar (1.9 Кб, 20 просмотров)
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2011, 15:18
1. Удалил весь текст из log.txt.
2. Открыл bag_v.script
3. Нажал Проверить
Картинка 1 - чистый log.txt, картинка 2 - log.txt после обновления. Все работает.
Миниатюры
Работа с заргужаемым текстом в RichEdit   Работа с заргужаемым текстом в RichEdit  
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2011, 15:20
Цитата Сообщение от Byurrer Посмотреть сообщение
Не помню точно где, но рочитал что такой косяк возникает из-за того что с++ билдер старой версии, у меня стоит 6 ...
не могет этого быть, если бы текст был юныкодный, он бы просто окрылся в нечитаемом виде, типа яъ◄◘
0
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
10.04.2011, 15:32  [ТС]
LK спасибо огромное Вы мне очень помогли, вот закинул откомпилированный редактор на с++ билдер 6, это из того исходника который я прикреплял ранее, но хдесь не происходит запись содержимого RichEdit в log.txt
Вложения
Тип файла: rar Project1.rar (10.7 Кб, 21 просмотров)
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2011, 17:06
Сделай, как написано здесь Компиляция программы под С++ Builder,чтобы работала на других компьютерах!
и еще расскажи, что я с тем экзешником должен делать ?
Миниатюры
Работа с заргужаемым текстом в RichEdit  
0
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
10.04.2011, 17:28  [ТС]
LK прошу прощенья ... забыл переправить ... сможете просто еще раз через этот экзешник открыть скрипт и нажать кнопку "проверить" и посмотреть будет ли скопирован текс тиз RichEdit в log.txt ... просто подозрения падают на саму версию билдера ...
Вложения
Тип файла: 7z Project1.7z (237.5 Кб, 18 просмотров)
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
10.04.2011, 18:17
Да, текст из RichEdit успешно скопирован в log.txt, хотя я бы сказал, не скопирован - а сохранен.
1
2 / 2 / 0
Регистрация: 09.04.2011
Сообщений: 110
10.04.2011, 18:20  [ТС]
LK спасибо большое, буду думать дальше что делать ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2011, 18:20
Помогаю со студенческими работами здесь

Работа с RichEdit
люди, помогите разобраться с компонентом RichEdit. плиииз. :gcray2:а именно, нужно организовать вывод текста из файла с последующим выводом...

Работа с RichEdit
Проблема заключается в том, что нужно при вставке текста в один RichEdit, этот же текст добавлялся в другие RichEdit. К примеру: вставляю...

Работа с RichEdit
Привет всем! Не могу до конца проработать один момент. Организовываю поиск подстроки в тексте. Для вывода текста используется...

Работа с компонентом RichEdit
Как вставить текст на позицию курсора в RichEdit? Помогите с кодом пжлст....:)

Работа в Visual C++ c RichEdit
Делаю Win-приложение на основе CFormView. На форму кидаю richEdit и несколько элементов управления. Компиляцию проходит, но при запуске...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru