|
안녕하세요..질문을 많이 해서 죄송합니다.
궁금한게 너무 많아서요..친절히 알려주시는 님들이 계셔서 질문을 하는데
많은 용기가 생깁니다.
------질문 내용 정리-------
Login Form의 소스입니다...보시고 연결 했을 시에 메시지와 자동링크를 할 수 있도록
하는 방법은 어떻게 해야하는 지...
즉, 서버에는 DBGrid와 SeverSocket으로 연결을 해서 쿼리로 id검색을 할 수 있습니다.
그런데 이걸 Login Form(ClientSocket)에서 id와 pass를 입력하고 Login 버튼을 클릭을
했을 때 DB에서 이 해당 아이디의 유무를 조회하고 아이다가 존재하면
"환영합니다" 메시지가 보이면서 메인(특정 게임이나 홈페이지 폼)으로 이동할 수 있는 방법은 없는지요? 지금 생각을 하고 있는데 실마리가 잘 안보입니다. 초보의 눈을 밝게 길을 인도해주시길.
고수님들의 많은 도움을 부탁드립니다.
//--------------------------------------------------------
Unit.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#include <winsock.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TLoginform *Loginform;
SOCKET GlobalSocket;
//---------------------------------------------------------------------------
__fastcall TLoginform::TLoginform(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TLoginform::LoginButtonClick(TObject *Sender)
{
String str = "login|" +
Edit1->Text +
"|" +
Edit2->Text +
"|";
ClientSocket1->Socket->SendText(str);
Edit2->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TLoginform::ClientSocket1Error(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
ErrorCode=0; //서버 연결 실패로 단정
StatusBar1->Panels->Items[0]->Text = "Error 발생 하였습니다.";
ClientSocket1->Socket->Close();
ClientSocket1->Active = false;
Edit1->Text = "";
Edit2->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TLoginform::Button3Click(TObject *Sender)
{
//설정을 먼저 하기 전에 클라이언트 활성화 를 죽인다.
if(ClientSocket1->Active)
{
ClientSocket1->Active = false;
}
if(InputQuery("연결을 설정 하십시요.","주소(IP) : ",Server))
{
if(Server.Length() > 0)
{
ClientSocket1->Address = Server;
ClientSocket1->Active = true;
}
}
StatusBar1->Panels->Items[0]->Text = ClientSocket1->
Address +
" 로 연결중 되었습니다.";
}
//---------------------------------------------------------------------------
void __fastcall TLoginform::ClientSocket1Disconnect(TObject *Sender,
TCustomWinSocket *Socket)
{
StatusBar1->Panels->Items[0]->Text = "서버와 연결이 끊어 졌습니다.";
}
//---------------------------------------------------------------------------
void __fastcall TLoginform::Button2Click(TObject *Sender)
{
ClientSocket1->Active = false;
ClientSocket1->Active = true;;
StatusBar1->Panels->Items[0]->Text = ClientSocket1->
Address +
" 로 연결중..";
}
//---------------------------------------------------------------------------
enidif
//---------------------------------------------------------------------------
Unit.h
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ScktComp.hpp>
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
class TLoginform : public TForm
{
__published: // IDE-managed Components
TEdit *Edit1;
TEdit *Edit2;
TButton *LoginButton;
TClientSocket *ClientSocket1;
TButton *Button1;
TLabel *Label1;
TLabel *Label2;
TStatusBar *StatusBar1;
TButton *Button2;
TButton *Button3;
void __fastcall LoginButtonClick(TObject *Sender);
void __fastcall ClientSocket1Error(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent,
int &ErrorCode);
void __fastcall Button3Click(TObject *Sender);
void __fastcall ClientSocket1Disconnect(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall Button2Click(TObject *Sender);
private: // User declarations
public: // User declarations
String Server; //IP Address
__fastcall TLoginform(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TLoginform *Loginform;
//---------------------------------------------------------------------------
#endif
|