Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Anatoliy
Зарегистрирован: 15.04.2002 Сообщения: 681 Откуда: Moscow
|
Добавлено: Пт Июл 12 2002 11:51 Заголовок сообщения: Не разберусь где ошибка. ( С++В) |
|
|
У меня вот возник вопрос с функциями. Так как, на форме нужно несколько раз так пребразовать текст в полях Memo1,Memo2,Memo3,Memo4. Компилятор ошибок не дает, и при наступлении события ничего не происходит. Может нужно функции возвращать значения (если да то я не знаю как с ними работать). Думаю всеж, я неправильно передаю значения в функцию. Код: В заголовочном файле объявляю функцию:
....... private: // User declarations void SumbRepl(AnsiString); .................. //-------- В форме в компоненте Memo(n) в событии
void __fastcall TFOutbox::komuExit(TObject *Sender) { /* if(komu->Text!="") { char S2='\n'; char S3=' '; char *szBuffer=komu->Text.c_str(); for(unsigned int i=0; i меньше strlen(szBuffer); i++) if(szBuffer[i]==S2) szBuffer[i]=S3; komu->Text=szBuffer; char S4='\r'; char S5=' '; char *szBuffer2=komu->Text.c_str(); for(unsigned int i=0; i меньше strlen(szBuffer2); i++) if(szBuffer2[i]==S4) szBuffer2[i]=S5; komu->Text=szBuffer2; } */
if(komu->Text!="") { AnsiString tex1 = komu->Text.c_str(); SumbRepl(tex1); } } //------- void TFOutbox::SumbRepl(AnsiString Sumb1) { char S2='\n'; char S3=' '; char *szBuffer=Sumb1.c_str(); for(unsigned int i=0; i |
|
Вернуться к началу |
|
|
Anatoliy
Зарегистрирован: 15.04.2002 Сообщения: 681 Откуда: Moscow
|
Добавлено: Пт Июл 12 2002 11:54 Заголовок сообщения: Функция |
|
|
Функция //------- void TFOutbox::SumbRepl(AnsiString Sumb1) { char S2='\n'; char S3=' '; char *szBuffer=Sumb1.c_str(); for(unsigned int i=0; i меньше strlen(szBuffer); i++) if(szBuffer[i]==S2) szBuffer[i]=S3; Sumb1 = szBuffer; char S4='\r'; char S5=' '; char *szBuffer2=Sumb1.c_str(); for(unsigned int i=0; i меньше strlen(szBuffer2); i++) if(szBuffer2[i]==S4) szBuffer2[i]=S5; Sumb1 = szBuffer2; } //------ |
|
Вернуться к началу |
|
|
Anatoliy
Зарегистрирован: 15.04.2002 Сообщения: 681 Откуда: Moscow
|
Добавлено: Пт Июл 12 2002 12:00 Заголовок сообщения: Извиняюсь уточнаю вопрос. |
|
|
Нужно передать текст из полей мемо в цикл функции для обработки (замены символов). Сделал так (код ниже), но ничего не работает а компилятор молчит. В заголовочном файле объявляю функцию: private: // User declarations void SumbRepl(AnsiString);
В форме в компоненте Memo(n) в событии вызываю функцию //---------------------- void __fastcall TFOutbox::komuExit(TObject *Sender) { if(komu->Text!="") { AnsiString tex1 = komu->Text.c_str(); SumbRepl(tex1); } } //------------------------------------------- //------- Функция void TFOutbox::SumbRepl(AnsiString Sumb1) { char S2='\n'; char S3=' '; char *szBuffer=Sumb1.c_str(); for(unsigned int i=0; i меньше strlen(szBuffer); i++) if(szBuffer[i]==S2) szBuffer[i]=S3; Sumb1 = szBuffer; char S4='\r'; char S5=' '; char *szBuffer2=Sumb1.c_str(); for(unsigned int i=0; i меньше strlen(szBuffer2); i++) if(szBuffer2[i]==S4) szBuffer2[i]=S5; Sumb1 = szBuffer2; } //------------------------------------------- |
|
Вернуться к началу |
|
|
Shuran
Зарегистрирован: 02.07.2002 Сообщения: 49
|
Добавлено: Пт Июл 12 2002 12:33 Заголовок сообщения: Re: Извиняюсь уточнаю вопрос. |
|
|
А ты попробуй в заголовочном файле написать так: void SumbRepl(AnsiString &);
а в исходнике этой функции так: void TFOutbox::SumbRepl(AnsiString &Sumb1) .....
теперь исправь метод OnExit: void __fastcall TFOutbox::komuExit(TObject *Sender) { if(komu->Text!="") { AnsiString tex1 = komu->Text.c_str(); SumbRepl(tex1); komu->Text = tex1; } }
Ну вот и все. Тебе ведь нужно все преобразование вернуть обратно. |
|
Вернуться к началу |
|
|
Mike
Зарегистрирован: 17.11.2001 Сообщения: 339 Откуда: ekb
|
Добавлено: Сб Июл 13 2002 13:42 Заголовок сообщения: Re: Извиняюсь уточнаю вопрос. |
|
|
Дело в том, что в функцию передается уже ДВУГОЙ AnsiString, поэтому надо либо использовать ссылки, либо указатели |
|
Вернуться к началу |
|
|
Anatoliy
Зарегистрирован: 15.04.2002 Сообщения: 681 Откуда: Moscow
|
Добавлено: Пн Июл 15 2002 15:14 Заголовок сообщения: СПАСИБО. Все получилось. |
|
|
- |
|
Вернуться к началу |
|
|
|