|
그러므로 다음과 같이 해보시면..
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char ch = 'a';
AnsiString tmp;
for(int i=0; i<10; i++) tmp += ch;
Edit1->Text = tmp;
}
//---------------------------------------------------------------------------
locke 님이 쓰신 글 :
: 아래분도 쓰셨듯이 Edit1->Text = Edit1->Text + 'a'; 이런식으로 하시면 되거든요..
:
: 원인은 컴파일러가 Edit1->Text += tmp; 이 부분을 제대로 처리하지못하고 그냥 빠진 경우인데
:
: Edit1->Text라는게 AnsiString이긴 하지만 TEdit1 객체의 property이기 때문에..
:
: property가 아닌 일반 AnsiString 에서는 += 연산자가 제대로 처리됩니다.
:
: property는 read/write방식을 지정하게 되어있어서 += 연산자를 쓸때는 제대로 변환처리가 안되는거 같습니다.
:
: -locke
:
: 초보 님이 쓰신 글 :
: : 안녕하세요,(_ _)
: : 질문이 있어서 글을 올립니다.
: :
: : 제가 TButton 컴포넌트의 onClick 이벤트 함수에 아래와 같은 소스를 추가해서
: : 버튼이 클릭될때 마다 TEdit 컴포넌트( Edit1 ) 에 "a" 문자를 계속 추가해서
: : TEdit 창에 추가한 내용을("aaaaaaa" 이런식으로요) 보여주려고 하는데요
: : 잘 안되네요,,ㅜㅜ
: : void __fastcall TForm1::Button1Click(TObject *Sender)
: : {
: : char ch = 'a';
: : AnsiString tmp;
: : tmp.sprintf("%c", ch );
: : Edit1->Text += tmp;
: : }
: :
: : 왜 에디터창에 아무 글자도 표시 안될까요?
: : 답변 부탁드리겠습니다(__)
: :
: : 수고하세요
|