using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { int Num = 123456; String strPrint; strPrint = String.Format("일반 포맷 : {0}", Num); Console.WriteLine(strPrint); strPrint = String.Format("우측 정렬 : {0, 10}", Num); Console.WriteLine(strPrint); strPrint = String.F..
public bool ConnectDB() { SqlConnection DBConn; bool Flag = true; String strConn = "Server=ip주소\\sqlexpress;" + "database=DB명;" + "uid=sa;" + "pwd=패스워드;"; try { DBConn = new System.Data.SqlClient.SqlConnection(strConn); DBConn.Open(); } catch(Exception ex) { MessageBox.Show(ex.Message, "DB Test", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); Flag = false; } if(Flag){ MessageBox.Show("DB 연결 ..
// 기본 메시지 박스 MessageBox.Show("옵션을 선택했습니다.", "메시지 박스"); // 기본 선택 메시지 박스 MessageBox.Show("메시지 내용", "메시지 타이틀", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); // 에러 선택 메시지 박스 MessageBox.Show("메시지 내용", "메시지 타이틀", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
부모 폼 생성자에서 MDI 폼 모드로 변경 public MainForm() { InitializeComponent(); this.IsMdiContainer = true; } 버튼 클릭 시 자식 폼 띄우면서 MdiParent = this로 설정한다. private void button1_Click(object sender, EventArgs e) { Form2 newMDIChild = new Form2(); newMDIChild.MdiParent = this; newMDIChild.Show(); } 호출한 폼을 부모 폼, 호출 당한 폼을 자식 폼이라 부르면 자식 폼은 부모 폼 영역 안에서만 표시되게 됩니다.
char __fastcall TMainFrm::ConnectServer(void) { struct hostent *pHostEnt; unsigned char IP[4]; AnsiString Addr; if(WSAStartup(MAKEWORD(2,2), &m_WsaData) != 0){ MsgBox("WSA Error"); return FALSE; } g_ServSock = socket(PF_INET, SOCK_STREAM, 0); if(g_ServSock==INVALID_SOCKET){ MsgBox("SOCKET Error"); return FALSE; } // 도메인 이름으로 IP주소 알아오기 pHostEnt = gethostbyname(SERVER_DOMAIN); memcpy(IP, pHostEnt-..
#include #include #define SERVER_PORT 9080 char __fastcall TMainFrm::InitSocket(void) { WSADATA wsaData; SOCKET servSock; SOCKET clntSock; SOCKADDR_IN servAddr; SOCKADDR_IN clntAddr; int clntAddrSize; if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { MsgBox("WSAStartup() Error"); return FALSE; } // TCP소켓 servSock = socket(PF_INET, SOCK_STREAM, 0); if(servSock == INVALID_SOCKET) { MsgBox("socket() ..
struct timeval tv_timeo = { 3, 500000 }; /* 3.5 second */ if (setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv_timeo, sizeof( tv_timeo )) == -1) { /* error */ } if (setsockopt( fd, SOL_SOCKET, SO_SNDTIMEO, &tv_timeo, sizeof( tv_timeo )) == -1) { /* error */ } 위의 예에서 보면 SO_RCVTIMEO과 SO_SNDTIMEO을 3.5초로 지정하였다. 이후에 send(2)나 recv(2) 혹은 sendto(2), recvfrom(2)을 블로킹 모드로 사용하면 해당 시간 내에 데이터가 수신되지 않으면 에러로 판단하고 -..
- Total
- Today
- Yesterday