일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 소니
- MySQL
- 문자열
- Visual Studio 2005
- 시리얼 통신
- Visual Basic
- 설치
- Delphi
- WIN32 SDK
- 셋업
- 파이어버드
- 델파이
- SDK
- MFC
- dll
- c#
- SQL
- Firebird
- 입문
- 데이터베이스
- 예제
- vb
- 파라미터
- xml
- 인스톨
- 기초
- winsock
- 초보
- VB.NET
- PostgreSQL
- Today
- Total
목록분류 전체보기 (350)
프로그래밍 노트
비주얼베이직에서 MySQL쓰기 초간단 예제 이 소스를 돌리기위해서는 사전에 DSN을 설정해야된다. DSN설정은 밑의 링크를 참조할 것 http://wwwi.tistory.com/74 MySQL ODBC설정하기 ADO를 쓰기위해서는 프로젝트에서 참조추가를 선택하여 COM 탭에서 Microsoft ActiveX Data Object 2.8 Library를 더블클릭으로 선택해야 된다. 밑의 소스는 테이블을 추가하고 데이터 추가 삭제 변경에 대한 예제이다. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim AdoCn As ADODB.Connection Dim Ad..
MySQL ODBC설정하기 이전에 반드시 MySQL ODBC 드라이버를 설치해야만 한다. MySQL ODBC 드라이버는 MySQL 사이트에서 다운받을 수 있다. 제어판의 관리도구를 선택하여 데이터 원본 (ODBC)을 더블클릭하면 밑의 ODBC데이터 원본 관리자가 표시된다. [추가]버튼을 누르면 새 데이터 원본 만들기 창이 표시되고 여기서 MySQL ODBC 3.51 Driver를 선택하고 [마침]버튼을 누른다. [마침]버튼을 누르면 MySQL의 ODBC설정 창이 뜬다. Data Source Name에 DSN명을 넣고 Server는 자신의 컴퓨터에 MySQL이 설치되어있으면 localhost를 입력한다. User명과 Password를 입력하고 Database의 컴보박스를 선택하면 MySQL에 만들어진 데이..
먼저 MySQL을 설치한다. http://www.mysql.com/ MySQL은 옆사이트에서 다운로드를... MySQL Command Line Client을 실행한다. MySQL을 설치할때 입력한 root password를 입력한다. Enter password: **** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 37 Server version: 5.0.41-community-nt MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. ◆ 데이터베이스 만들기 mysql> create dat..
우선 예제만 간단한 예제 소개부터... 그냥 밑에 소스를 가지고 프로그램을 만들기만 하면 된다. DLL만들때는 VS2005에서 만들때는 빈 프로젝트를 만들어서 소스 파일을 하나 추가해서 아래 소스를 붙여 넣는다. 메뉴의 프로젝트(P) > ??? 속성(P)...을 선택한다. 구성 속성 > 일반을 선택한뒤 프로젝트 기본값의 구성형식을 동적 라이브러리(.dll)을 선택하면 된다. DLL 불러쓰기의 프로젝트는 그냥 Win32콘솔 응용 프로그램에서 빈 프로젝트를 만들어서 소스를 추가하면 된다. 문자 집합은 멀티바이트 문자 집합 사용을 선택하면 밑에 소스를 그대로 쓸수있다. ◆ 초간단 DLL만들기 #include #include #define EXPORT extern "C" __declspec(dllexport) ..
inet_addr()을 이용하여 "127.0.0.1"라는 문자열을 32비트의 바이너리 값으로 변환한다. inet_addr()는 IP 어드레스를 나타내는 문자열을 바이너리 값으로 변환하는 함수이다. 통신하기위해 상대방을 지정할 때는 "127.0.0.1"과 같은 IP 어드레스를 쳐넣지만 "localhost"와 같이 이름을 이용하여 통신할 상대방을 지정할 수도 있다. 이와 같이 호스트의 이름으에서 IP 어드레스로 변환해 주는 함수가 gethostbyname()이다. #include #include int main() { WSADATA wsaData; SOCKET sockClt; char szMsg[32]; char pszName[32]; struct sockaddr_in addrSockSvr; printf("..
정말 간단한 http 서버이다. 이런 것을 http 서버라 할 수 있을까정도로... 그래도 웹브라우저로 접속할 수 있으니까... #include #include int main() { WSADATA wsaData; SOCKET sockSvr; SOCKET sockSS; int nlen; struct sockaddr_in addrSockSvr; struct sockaddr_in addrSockclt; long nRet; BOOL bValid = 1; char szBuf[2048]; char szInBuf[2048]; // 윈속 초기화 if(WSAStartup(MAKEWORD(2, 0), &wsaData) != 0) { return 1; } // 소켓 만들기 sockSvr = socket(AF_INET, S..
TCP의 서버 프로그램을 종료한 바로뒤 다시 서버를 기동하면 bind에서 에러(Address aleady in use)로 끝날 때가 있다. TCP의 서버 프로그램을 종료하고 다시 기동시켰는데 왜 bind가 되지 않을까? 라고 생각하며 시간이 지난후 다시 기동시키면 문제업이 bind가 된다. 이 문제는 TCP 자체 사양에 의하여 일어나는 문제이다. 구체적으로는 TCP의 TIME_WAIT상태가 bind를 fail시킨다. 서버는 TCP 세션을 받은 상태에서 close하면 TIME_WAIT상태가 된다. 이때 주의해야되는 것은 TCP 서버의 TIME_WAIT가 발생하는 경우와 발생하지 않는 경우가 있다는 것이다. TCP서버 쪽에서 close를 먼저 실행하면 TIME_WAIT상태가 발생하지만 TCP클리아언트 쪽에서..
서버가 클라이언트의 접속을 기다리다가 클라이언트가 접속 되었을때 어느 클라이언트가 접속 했는지 알아야 할때가 있다. accept가 되어지면 accept함수의 두번째 파라미터에 상대방에 대한 정보가 저장되어진다. 예제는 accept한 상대방의 IP어드레스와 포트를 표시한다. (IP어드레스는 문제없이 가져오는데 포트를 제대로 못가져온다. -.-;;; ) (왜 이상한 포트 번호가 넘어오는지 모르겠다. -.-????? ) #include #include int main() { WSADATA wsaData; SOCKET sockSvr; SOCKET sockSS; int nlen; struct sockaddr_in addrSockSvr; struct sockaddr_in addrSockclt; // 윈속 초기화 W..
실제로 프로그램을 짤때에는 에러처리를 잘해야되는 것은 두말할 것도 없을 것같다. #include #include int main() { WSADATA wsaData; SOCKET sockSvr; SOCKET sockSS; int nlen; struct sockaddr_in addrSockSvr; struct sockaddr_in addrSockclt; long nRet; // 윈속 초기화 if(WSAStartup(MAKEWORD(2, 0), &wsaData) != 0) { return 1; } // 소켓 만들기 sockSvr = socket(AF_INET, SOCK_STREAM, 0); if(sockSvr == INVALID_SOCKET) { printf("Socket Error No : %d", WSA..
strncpy 문자열을 n문자 카피 #include char *strncpy(char *s1, const char *s2, size_t n); 문자배열 *s1에 문자열 *s2를 선두에서 n문자 카피한다. 주의) 이 때 널문자가 자동으로 추가되지 않는다. s2의 길이가 n보다 작을 경우에는 남은 문자를 "\0"로 채운다. char szTemp[20] = "AA BB CC"; printf("01234567890\n"); printf("%s \n", szTemp); // "AA BB CC" strncpy(szTemp, "aa", 2); printf("%s \n", szTemp); // "aa BB CC" strncpy(szTemp+3, "bb", 2); printf("%s \n", szTemp); // "aa..