Форум   Статьи   Новости   Файлы   Bugtraq   Сниффер   Друзья   О Клубе
Вернуться   HPC / Кодинг / C/C++ / C++ Builder
   
  Страница 1
  , 20:22   #1
Новичок
 
Регистрация: 26.02.2016
Сообщений: 10

Репутация: 5 / 0
Question текстовый редактор в билдере

здравствуйте, вообщем поделился мой хороший знакомый этим форумом со мной, говорит что много хороших людей здесь. Я первый раз в жизни столкнулся с С++, так уж вышло что у нас, в нашем ВУЗе программа слегка туповата и мы по сути ничего по данному языку не знаем, но в курсовом проекте нам нужно написать программу ... мое задание написать текстовый редактор который сумеет сосчитать количество символов, слов и абзацев, а так же поиск слова с подсчетом его повторения и указанием строки где первый раз это слово появилось. Так вот, я слегка растерялся, гугл по запросам как считать количество символов выдает только строки, и кучу непонятной ерести, куча разных подходов к решению этой задачи, это я еще не брался за другие функции котрые должен уметь редактор .. вообщем прошу помощи, направте на путь истинный
 
Пользователь вне форума    
Наши Спонсоры
  , 22:10   #2
велопедрист
 
Аватар для i368
 
Локация: Там где велодорожки
Регистрация: 08.03.2013
Сообщений: 294

Репутация: 106 / 2
Talking

По накатаной.. ( 3бать как я люблю...объяснять С++)
Цитата:
Что нужно, что-бы написать этот текстовый редактор?
И так, поехали. ( или попиздофали..)
Как выглядит шаблон кода, шаришь,да? ( структура )
Все что нужно тебе, это найти нужную тебе функцию( в твоем случаи готовый код.) и просто впихнуть его на евент в менюшке, или кнопке.(тыц на сию кнопку быро два раза) Открылся редактор кода, и ты такой ктрл+в и оп, код туда впиздячил..
азаза, сюрпрайззззззззз, Гатовый код!!!
Но, ладно, шутки-хуютки(сложнаааааа) в сторону! Сча все будит, атвичаю!!!


Сорцы блокнота( копия окновкого блокнота (т.е Windows Бланкоооот)).
Изучай, думай, msnd, форумки(наш), создавай темки, спрашивай, мб закажи работу у кого-нибудь за деньги, есстесна не за кукишь с какой.

бланкооотик виндовский...ШОб учил, и учился на 5+ :-*
__________________
скучно - пиши код.
Пользователь вне форума    
  , 22:12   #3
Не здохни
 
Аватар для vladyxa13
 
Локация: Планета Земля
Регистрация: 03.04.2013
Сообщений: 1,117

Репутация: 225 / 4
По умолчанию

Есть книга по виньАпи. Пошукай, там найдешь простой блокнот, даже кодес сможешь скопипастить)
__________________

Профессия тыже программист очень популярная!
Почини колонку, тыже программист. Достань кота с дерева тыже программист! ...

Никогда ее не забуду http://www.youtube.com/watch?v=OH15GOMvYUs [►], на ней вырос...
Пользователь вне форума    
  , 22:15   #4
велопедрист
 
Аватар для i368
 
Локация: Там где велодорожки
Регистрация: 08.03.2013
Сообщений: 294

Репутация: 106 / 2
По умолчанию

Цитата:
Сообщение от vladyxa13 Посмотреть сообщение
Есть книга по виньАпи. Пошукай, там найдешь простой блокнот, даже кодес сможешь скопипастить)
- сложнааааааааааааа!

Я же объяснил проще!, даже сорец скинул, фигли там его переделать? или же код слить чисто, а ты ему за винапиай,
__________________
скучно - пиши код.
Пользователь вне форума    
  , 22:11   #5
Новичок
 
Регистрация: 26.02.2016
Сообщений: 10

Репутация: 5 / 0
По умолчанию

вроде все понял, но вот с поиском у меня проблемы ... "пошук заданого слова з урахуванням кількості повторів даного слова,указуючи номер рядка, де це слово було знайдено вперше"

вообщем не могу понять как искать и сощитать сколько заданых слов и как строку найти, в которой данное слово есть
 
Пользователь вне форума    
  , 23:41   #6
велопедрист
 
Аватар для i368
 
Локация: Там где велодорожки
Регистрация: 08.03.2013
Сообщений: 294

Репутация: 106 / 2
По умолчанию

Цитата:
Сообщение от Afrika999 Посмотреть сообщение
вроде все понял, но вот с поиском у меня проблемы ... "пошук заданого слова з урахуванням кількості повторів даного слова,указуючи номер рядка, де це слово було знайдено вперше"

вообщем не могу понять как искать и сощитать сколько заданых слов и как строку найти, в которой данное слово есть
Тоже не проблема..))
Нужно же вывести окно, в котором будет сколько повтором найдено, в какой строке, и строчку, в которой слово найдено в первый раз? - если так, то тоже как пальцем об лобок..

мб функцию написать, с этими всеми процедурами.. или же, по отдельности, получать результат, в стринг его записыпать, и потом выводить в окно.. Попробуй сделать, или более точно написать запрос в поисковике, возможно найти код по отдельности к каждой функции, и совместить вкучку
__________________
скучно - пиши код.
Пользователь вне форума    
  , 04:35   #7
Новичок
 
Регистрация: 26.02.2016
Сообщений: 10

Репутация: 5 / 0
По умолчанию

вот если кому интересно, вот что вышло ))

C++ highlight

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;


AnsiString DubMemo1;
AnsiString DubEdit1;
int pos;
AnsiString s;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}

int CntRecurrences(AnsiString substr,AnsiString str)
{
if (!substr.Length() || !str.Length() || !str.Pos(substr))
 {
 return 0;
 }
else
 {
return (str.Length() - (StringReplace(str,substr,"",TReplaceFlags()<<rfReplaceAll)).Length())/substr.Length();
 }
}

//---------------------------------------------------------------------------

void __fastcall TForm1::Memo1Change(TObject *Sender)
{
//poisk
 s = Memo1->Text;
 DubEdit1 = Edit1->Text;
DubMemo1 = Memo1->Text;
pos = s.UpperCase().Pos(DubEdit1.UpperCase())-1;
//ostalnoe
int a = 0;   // переменная для подсчета абзацев
int p;       // переменная для подсчета символов
int k = 1;   // переменная для подсчета слов
String stroka = Memo1->Text;   // переводим содержимое Memo1 в переменную 'stroka'
for (int i = 1; i <= stroka.Length(); i++)   // посимвольно перебираем содержимое 'stroka'
{
if (stroka[i] == ' '){
k++;                   // если текущий символ "пробел" то +1 в к
}
if (stroka[i] == '\t'){
a++;                    // если текущий символ "табуляция" то +1 в а
}



p=strlen(Memo1->Text.c_str());  // считаем общее количество символов в  Memo1
if  (stroka[i] == '\n'){
p = p-2;
}
} 
Label1->Caption ="‘имволов: " + IntToStr(p);    //выводим в Label
Label2->Caption ="‘лов: " + IntToStr(k);
Label3->Caption ="Ђбзацев: " + IntToStr(a);
}

//---------------------------------------------------------------------------



void __fastcall TForm1::Button1Click(TObject *Sender)
{
s = Memo1->Text;
if( s.UpperCase().Pos(DubEdit1.UpperCase()))
 {
  StatusBar1->SimpleText  = " ‘овпадений найдено:  "+IntToStr(CntRecurrences(DubEdit1.UpperCase(),s.UpperCase()));
 if(  DubMemo1.UpperCase().Pos(DubEdit1.UpperCase()))
{
Memo1->SelStart = pos;
Memo1->SelLength = Edit1->Text.Length();
DubMemo1.Delete(1,DubMemo1.UpperCase().Pos(DubEdit1.UpperCase())-1 + Edit1->Text.Length());
pos = Memo1->SelStart + Edit1->Text.Length() + DubMemo1.UpperCase().Pos(DubEdit1.UpperCase())-1;
}
else
{
DubMemo1 = s;
pos = s.UpperCase().Pos(DubEdit1.UpperCase())-1;
 StatusBar1->SimpleText  =  StatusBar1->SimpleText  + "последнее совпадение!";

}
 }
 else
 {
 Memo1->SelLength = 0;
 if(Edit1->Text!="")
  StatusBar1->SimpleText   = "совпадений не найдено.";
  else
StatusBar1->SimpleText  = " поле для ввода искомого текста, пустое!";
 }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Edit1Change(TObject *Sender)
{
 DubEdit1 = Edit1->Text;
 DubMemo1 = Memo1->Text;
 s = Memo1->Text;
 pos = s.UpperCase().Pos(DubEdit1.UpperCase())-1;
}
//---------------------------------------------------------------------------
 
Пользователь вне форума    
 

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Вопрос] Помогите выбрать редактор музыки! Dmitry777 Оффтоп 0 19.09.2012 13:28
редактор html kel HTML/XML/CSS 16 09.11.2010 02:29



Часовой пояс GMT +2
Powered by vBulletin® 3.x.x Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Copyright © 2008 - 2013 «HPC» Реклама на сайте Правила Форума Пользовательское соглашение Работа на сайте
При копировании материалов ставьте ссылку на источник
Все материалы представлены только в ознакомительных целях, администрация за их использование ответственности не несет.