Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2

Опять RichEdit

15.07.2011, 01:50. Показов 1410. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята помогите пожолуисто уже не могу думать.

Как мне скопировать текст с RichEdit строкы в какую небуд Buffer между:
HTML5
1
<div id="login">
и
HTML5
1
</div>
так чтоб не трогать
HTML5
1
<div id="login">
и
HTML5
1
</div>
. просто скопировать в буфер всё что будет между етими строками и удалить ети строки потом, пожолуйсто помогите уже ельи-ельи думаю...П.С между етими строками может бить что угодно и сколуо угодно.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2011, 01:50
Ответы с готовыми решениями:

Из RichEdit в RichEdit без потери форматирования
Есть RichEdit1 с форматированным текстом(цвет, стиль и тп.) нужно передать этот текст в переменную а затем в RichEdit2 чтобы при вставке в...

RichEdit
При нажатии RichEdit1 очищает только 1 строку. RichEdit1-&gt;Lines-&gt;Delete(AutoSize); А надо очистить весь лист.

RichEdit...
На форме 2 кнопки: 1 кнопка добавляет строку крастного цвета, 2 кнопка простую строку, Вот так добавляю строку красную: int...

9
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
15.07.2011, 02:39
читай в самом конце : Пожалуйсто помогите с поиском в RichEdit1 - и за своими темами как бы принято следить .
0
 Аватар для xAtom
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
16.07.2011, 01:12
Вот сделал удаляет из Rich-a и копирует между параметров в выходной буфер. :cofee2:
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
// first - начальный шаблон
// last - конечный шаблон
void  copy_delete(char*  dst, TRichEdit*  edit, const char* first, const char* last) {
    const char* src    = edit->Lines->Text.c_str();
    const char* begin = strstr(src, first), *end;
    int   len               = strlen(first);
    if(begin) {
         int pos  = ~(src - begin) + 1;
         pos     += len;
         end      = strstr(src + pos, last);
         if(end) {
              int size  = ~(src - end) + 1;
              strncpy(dst, src + pos, size - pos);
              *((dst) + size - pos) = '\0';
         }
         edit->Lines->Text = edit->Lines->Text.Delete(pos + 1, strlen(dst));
    }
}
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     char dst[255];
     copy_delete(dst, RichEdit1, "<div id=\"login\">", "</div>");
 
     ShowMessage(dst);
}
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
16.07.2011, 02:07  [ТС]
xAtom,
C++
1
2
3
[BCC32 Error] Unitd12.cpp(12): E2034 Cannot convert 'wchar_t *' to 'const char *'
[BCC32 Error] Unitd12.cpp(64): E2034 Cannot convert 'wchar_t const[16]' to 'const char *'
[BCC32 Error] Unitd12.cpp(64): E2342 Type mismatch in parameter 'first' (wanted 'const char *', got 'const wchar_t *')
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.07.2011, 04:55
Цитата Сообщение от Programmer. Посмотреть сообщение
xAtom,
C++
1
2
3
[BCC32 Error] Unitd12.cpp(12): E2034 Cannot convert 'wchar_t *' to 'const char *'
[BCC32 Error] Unitd12.cpp(64): E2034 Cannot convert 'wchar_t const[16]' to 'const char *'
[BCC32 Error] Unitd12.cpp(64): E2342 Type mismatch in parameter 'first' (wanted 'const char *', got 'const wchar_t *')
ты забываешь постоянно, что у тебя юникод, попробуй поменять
C++
1
2
3
4
char на wchar_t
strlen на wstrlen
strstr на wstrstr
strncpy на wstrncpy
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
16.07.2011, 05:11  [ТС]
C++
1
2
3
4
5
6
7
8
9
[BCC32 Error] Unitd12.cpp(13): E2034 Cannot convert 'wchar_t *' to 'const char *'
[BCC32 Error] Unitd12.cpp(14): E2268 Call to undefined function 'wstrstr'
[BCC32 Error] Unitd12.cpp(14): E2034 Cannot convert 'int' to 'const char *'
[BCC32 Error] Unitd12.cpp(15): E2268 Call to undefined function 'wstrlen'
[BCC32 Error] Unitd12.cpp(22): E2268 Call to undefined function 'wstrncpy'
[BCC32 Error] Unitd12.cpp(25): E2034 Cannot convert 'wchar_t *' to 'const char *'
[BCC32 Error] Unitd12.cpp(25): E2342 Type mismatch in parameter '__s' (wanted 'const char *', got 'wchar_t *')
[BCC32 Error] Unitd12.cpp(73): E2034 Cannot convert 'char[225]' to 'wchar_t *'
[BCC32 Error] Unitd12.cpp(73): E2342 Type mismatch in parameter 'dst' (wanted 'wchar_t *', got 'char *')
Поменял, но вот!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.07.2011, 05:16
блин, спать пора
C++
1
2
3
strlen на wсslen
strstr на wcswcs
strncpy на wcscpy
и не все char поменял на wchar_t
wсs - это wide char string - юникодная строка - str
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
16.07.2011, 12:37  [ТС]
LK,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void  copy_delete(wchar_t*  dst, TRichEdit*  edit,const wchar_t* first,const wchar_t* last) {
    const wchar_t* src    = edit->Lines->Text.c_str();
   const    wchar_t* begin = wcswcs(src, first), *end;
    int   len               = wcslen(first);
    if(begin) {
         int pos  = ~(src - begin) + 1;
         pos     += len;
         end      = wcswcs(src + pos, last);
         if(end) {
              int size  = ~(src - end) + 1;
              wcscpy(dst, src + pos, size - pos);
              *((dst) + size - pos) = '\0';
         }
         edit->Lines->Text = edit->Lines->Text.Delete(pos + 1, wcslen(dst));
    }
}
но вот ошибки
C++
1
2
3
4
[BCC32 Error] Unitd12.cpp(14): E2268 Call to undefined function 'wcswcs'
[BCC32 Error] Unitd12.cpp(14): E2034 Cannot convert 'int' to 'const wchar_t *'
[BCC32 Error] Unitd12.cpp(19): E2034 Cannot convert 'int' to 'const wchar_t *'
[BCC32 Error] Unitd12.cpp(22): E2227 Extra parameter in call to wcscpy(wchar_t *,const wchar_t *)
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.07.2011, 13:34
wcswcs попробуй wcsstr , и не будет никто догадываться, к каким строкам относятся твои ошибки, если тебе лень эти строки указать - это простое правило ты должен был усвоить, не мальчик, поди, уже .
wcswcs и прочее...
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
16.07.2011, 17:10  [ТС]
LK,
Всё, сделал, работает


Но если хочеш пороботает и на стринг листе ок?

интерестно мне доделаем или нет.


Special thanks to xAtom, Респект вам!

Добавлено через 2 часа 1 минуту
LK,
xAtom,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void  copy_delete(wchar_t*  dst, TRichEdit*  edit,const wchar_t* first,const wchar_t* last) {
    const wchar_t* src    = edit->Lines->Text.c_str();
    const wchar_t* begin = wcsstr(src, first), *end;
    int   len               = wcslen(first);
    if(begin) {
         int pos  = ~(src - begin) + 1;
         pos     += len;
         end      = wcsstr(src + pos, last);
         if(end) {
              int size  = ~(src - end) + 1;
              wcsncpy(dst, src + pos, size - pos);
              *((dst) + size - pos) = '\0';
         }
         edit->Lines->Text = edit->Lines->Text.Delete(pos + 1, wcslen(dst));
    }
}
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm12::Button2Click(TObject *Sender)
{
TStringList *buflist = new TStringList; 
wchar_t dst[225];
 copy_delete(dst,RichEdit1,L"div id=\"login\">",L"</div>");
 buflist->Add(dst);
 buflist->SaveToFile("C:\\tplFile.tpl");
 buflist->Clear();
 delete buflist;
}

ну вот мало лы кому понодобытся

спасибо LK и xAtom





LK если не лен, попробуем сделать и с помощью TStringList и цикла.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.07.2011, 17:10
Помогаю со студенческими работами здесь

RichEdit
Подскажите как сделать чтобы в richedit можно было менять шрифт и цвет выделенного текста

RichEdit
\\Надо получить в одной строке два значения (№счёт и через пробел значение переменой х) При нажатии Button2 int i++; int x = 100; ...

RichEdit
Здравствуйте! Помогите пожалуйста У меня задача:Дана последовательность из m вещественных чисел. Найти количество элементов, которые...

Richedit
Здравствуйте мне интересуют следующие вопросы на счет richedit: 1) как работать с отдельным элементом строки, в частности перестановка...

Опять формулы
Помогите пожалуйста написать формулу на C++ Builder вот часть у меня написано,а интеграл как описать не знаю: а находится в базовом...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru