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

Новый визуальный компонент, производный от Memo

22.05.2013, 22:12. Показов 1271. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер всем!
Задание: построить класс - потомок класса TMemo, объект которого при нажатии клавиши F11, выводит сообщение о том, вводилась ли когда-нибудь у его окно некий текст, содержащее слово КЛЮЧ.

Направьте пожалуйста на верный путь
Вот, что написал, но не работает:
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Mem.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//
static inline void ValidCtrCheck(TMem *)
{
   new TMem(NULL);
}
//---------------------------------------------------------------------------
__fastcall TMem::TMem(TComponent* Owner)
   : TMemo(Owner)
{
a=false;
}
 
void __fastcall TMem:: Change()
{
AnsiString L;
int n=Lines->Count;
for(int i=0;i<n;i++)
if(Lines->Strings[i]=="КЛЮЧ") {a=true; return;}
else a=false;
}
 
void __fastcall TMem:: KeyDown(Word&Key,Classes::TShiftState Shift)
{
if(Key==VK_F11)
{
if(a==true)  ShowMessage("Вводилось слово КЛЮЧ");
if(a==false) ShowMessage("НЕ Вводилось слово КЛЮЧ");
}
}
 
//---------------------------------------------------------------------------
namespace Mem
{
   void __fastcall PACKAGE Register()
   {
       TComponentClass classes[1] = {__classid(TMem)};
       RegisterComponents("Samples", classes, 0);
   }
}
//---------------------------------------------------------------------------
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2013, 22:12
Ответы с готовыми решениями:

Новый визуальный компонент, производный от Edit
Здравствуйте! Задание: Построить класс - потомок класса TEdit, объект которого при нажатии клавиши Enter меняет все буквы своего Text на...

Вывести в memo компонент из dbgrid (memo строки)
Здравствуйте, писала программу для БД созданную в SQL. Столкнулась с такой проблемой: dbgrid некоторые строки (поля) стали memo......

Составной визуальный компонент
Добрый день, подскажите плииз... может встречали где... Есть Fraim содержащий панель с лежащими на нем десятком элементов (Grid,...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,910
Записей в блоге: 12
23.05.2013, 00:04
Твоя реализация TMem::Change() не совсем правильная. Лучше сделать так:
C++
1
2
3
4
5
void __fastcall TMem :: Change()
{
   if(a) return; // если слово когда-то уже вводилось - уходим, нечего проверять
   a = (AnsiPos("КЛЮЧ", Lines->Text) > 0); // иначе - проверяем наличие слова в данный момент
}
Ну, и реализацию KeyDown заодно поправь:
C++
1
2
3
4
5
6
7
8
void __fastcall TMem :: KeyDown(Word& Key, Classes::TShiftState Shift)
{
   if(Key==VK_F11)
   {
      if(a) ShowMessage("Вводилось слово КЛЮЧ");
      else ShowMessage("НЕ Вводилось слово КЛЮЧ");
   }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2013, 00:04
Помогаю со студенческими работами здесь

Что это за визуальный компонент?
Всем добрый день. В Visual Studio 2015 в настройках я нашел такой компонент. Подскажите что это за компонент? И где я могу его найти?

Визуальный компонент произвольной формы
Есть ли в Лазарус какой-нибудь компонент для отображения не прямоугольного объекта? Нужно для отображения линий (связей между блоками на...

ООП. Визуальный компонент из невизуального
Здравствуйте. У меня не так много опыта в ооп, поэтому столкнулся со следующей проблемой. Имеется невизуальный компонент (назовем его...

Визуальный компонент для текста
Добрый день! Мне нужно получить вот такое окно Какой компонент можно (нужно) использовать для текста? Пробовал RichTextBox, но...

Eсли ли визуальный компонент excel
хочу почеркнуть не просто позволяющий прочитать данные а ПОСМОТРЕТЬ как на книгу -как в builder f1workbook например


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru