모르는것이 나오면 일단 F1 키 눌러보시는것이...
다음과 같이 매크로가 선언되어있네요
#define OPENARRAY(type, values) OpenArray<type>values, OpenArrayCount<type>values.GetHigh()
Format이라는 함수 원형이 다음과 같습니다.
AnsiString __fastcall Format(const AnsiString Format, const System::TVarRec * Args, const int Args_Size);
TVarRec * 형과 int 형을 받네요
int 형 year,month,day를 매크로를 쓰지 않고 Format 함수를 이용하여
'yyyy-mm-dd'형식의 문자열로 변환해 보겠습니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String str;
int year=2010
int month=06;
int day=02;
TVarRec Args[3];
Args[0]=year;
Args[1]=month;
Args[2]=day;
str=Format("%d-%d-%d",&Args[0],3);
ShowMessage(str);
}
불편하지 않습니까?
매크로 형식을 그대로 가져다 써도 다음과 같습니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String str;
int year=2010
int month=06;
int day=02;
str=Format("%d-%d-%d",OpenArray(year,month,day), OpenArrayCount(year,month,day).GetHigh());
ShowMessage(str);
}
하지만 매크로를 이용하면 다음과 같이 간단해 지죠
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String str;
int year=2010
int month=06;
int day=02;
str=Format("%d-%d-%d",OPENARRAY(TVarRec,(year,month,day)));
ShowMessage(str);
}
그런 이유료 OPENARRAY 나 ARRAYOFCONST 등의 메크로를 쓰는것입니다.
그럼..
노두현 님이 쓰신 글 :
: void __fastcall TForm1::MySocketConnect(TObject *Sender,
: TCustomWinSocket *Socket)
: {
: MemoIn->SetFocus();
: MemoIn->Lines->Add("Connected ...");
: MemoOut->SetFocus();
: MySocket->Socket->SendText(Format("UserName=%s", (TVarRec,(UserNameEdit->Text))));
: }
:
: ===================
: 클라이언트에서 서버로 접속 되었을때
:
: 클라이언트에서 서버로 날리는건데요...
: 마지막 줄이 이해가 안가요..
: 좀 알려주실분!;