Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Не разберусь где ошибка. ( С++В)

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
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
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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;
}
//------
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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; }
//-------------------------------------------
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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, поэтому надо либо использовать ссылки, либо указатели
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Anatoliy



Зарегистрирован: 15.04.2002
Сообщения: 681
Откуда: Moscow

СообщениеДобавлено: Пн Июл 15 2002 15:14    Заголовок сообщения: СПАСИБО. Все получилось. Ответить с цитатой

-
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...