일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- WIN32 SDK
- 예제
- winsock
- Delphi
- 입문
- VB.NET
- dll
- PostgreSQL
- Visual Studio 2005
- 초보
- 인스톨
- 소니
- SDK
- MySQL
- 셋업
- 문자열
- Firebird
- 시리얼 통신
- 설치
- SQL
- MFC
- xml
- vb
- 기초
- Visual Basic
- 파이어버드
- 파라미터
- 데이터베이스
- 델파이
- c#
- Today
- Total
목록분류 전체보기 (350)
프로그래밍 노트
일반적으로 파일을 열고 문자를 파일의 처음부터 순차적으로 읽지만 랜덤 억세스를 하면 처음부터나 파일을 억세스하거나 임의의 위치에서 부터 파일을 억세스할 수 도 있다. #include struct stRec { int iNo; char szName[20]; }; void main() { int i; FILE *fp; stRec stMyRec; char szNameData[10][20] = {"aa", "bb","cc", "dd", "ee", "ff", "gg","hh", "ii", "jj"}; // 파일에 구조체 쓰기 fp = fopen("MyFile.txt", "w"); for(i = 1;i = max_no || no
파일에는 텍스트 파일과 바이너리 파일의 두종류가 있다. 텍스트 파일은 문자 정보로 되어있는 파일이고 윈도우즈에 있는 메모장같은 텍스트 에디터로 편집할 수 있는 파일이다. 에디터로 열어 보면 어떤 데이터가 들어있는지 볼 수 있다. 이에 반해 바이너리 파일은 바이너리, 2진수의 데이터가 나열되어있는 파일로 16진수로 변환하여 덤프 표시를 해주는 프로그램을 사용해서 볼수 있다. 그렇게 본다고 해도 사람이 이해할 수 있는 데이터인 경우도 있지만 주로 이해할 수 없는 데이터들일 것이다. 예를 들면 C언어의 소스 파일은 텍스트 파일이지만 소스 파일을 컴파일/링크하여 생기는 오브젝트 파일(*.obj파일)이나 실행 파일은 바이너리 파일이다. 이런 파일을 텍스트 에디터로 읽어봐도 무슨 의미인지 알 수 없다. 그러나 컴퓨..
미국의 Embarcadero Technologies,Inc.는 2008년 5월7일 미국의 Borland Software Corp.의 개발 툴 부문인 CodeGear를 매수하는 것을 발표했다. 매수를 완료한느 것은 6월 30일을 예정하고 있다. 매수가격은 2300만 달러로 이로 Turbo Pascal등으로 한세대를 풍미했던 Borland 브랜드의 개발툴은 사라지게 된다. Borland Software사는 1990년대에 컴퓨터용 데이터베이스 소프트웨어에서 일등 기업이였던 미국의 Ashton-Tate 사나 워드프로세서의 WordPerfect사를 매수하는등 마이크로소프트에 이어 페키지 소프트웨어에서 2위였었다. Borland사 제품은 거의 모든 것이 마이크로소프트와 경쟁제품이였다. 그러나 마이크로소프트 사와의 ..
구글 메일(gmail)과 인터넷 익스플로러7은 안친한가보다. 요즘 gmail을 열어보는데 에러가 부쩍 늘었다. (요즘 gmail 업그레드했나?) 예전에는 전혀 에러도 없었는데... http://mail.google.com/mail/?source=navclient 인터넷 사이트를 열 수 없습니다. 작업이 중단되었습니다. 정말 자주 나온다. 그래서 찾아봤는데 우리나라 사이트에는 같은 고충을 겪는 사람이 별로 없나보다. Gmail 도움말 센터에 가봐도 별로 도움이 되는 말이 없었다. 도움말 센터에 있던 내용 로그인 문제 받은편지함을 로드할 수 없습니다. 기본 HTML 보기로 전환됩니다. Gmail 최신 버전을 사용 중이고 계속 로드 중으로 표시된다면 단계별 문제해결을 시도해 보세요. 이 단계를 수행해도 문제가..
■ 타임아웃 통신 제어 프로그램은 상대 장치의 상태에 따라 통신이 도중에 끊어질 수 있다. 만약 100바이트가 올것이 데이터 수신 중에 송신 쪽의 문제로 80바이트만 송신한 경우 수신을 도중에 멈추고 알람을 표시할 필요가 있다. 타이머는 이런 목적으로 사용한다. 타이머의 설정은 SetCommTimeouts(HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts) 를사용하고 설정된 데이터를 읽을 때는 GetCommTimeouts(HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts)를 사용한다. SetCommTimeouts(HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts) 인수 hFile : CreateFile()이 반환한 핸들..
■ 시리얼 포트 설정 시리얼 I/O의 파라미터 설정은 SetCommState()로 하고 GetCommState()로 설정된 파라미터 정보를 볼 수 있다. BOOL SetCommState( HANDLE hFile, // 통신 디바이스 핸들 LPDCB lpDCB // DCB 구조체 포인터 }; 인수: hFile: CreateFile()에서 반환된 핸들 lpDCB: 현재 설정된 다비아스 상태를 가지고 있는 DCB 구조체 포인터 반환값 성공하면 0이 아니고 실패하면 0 BOOL GetCommState( HANDLE hFile, // 통신 디바이스 핸들 LPDCB lpDCB // DCB 구조체 포인터 }; 인수: hFile: CreateFile()에서 반환된 핸들 lpDCB: 현재 설정된 다비아스 상태를 가지고 ..
구글 메일이 요즘 잘 안열린다. 뻑하면 아래 메세지 박스가 뜬다. http://mail.google.com/mail/?source=navclient 인터넷 사이트를 열 수 없습니다. 작업이 중단되었습니다. 나만 그런건가? 왜 그런걸까?
델파이 : 사용할 수 있는 COM 포트 정보를 레지스터리에서 가져오기 procedure TfrmMain.FormCreate(Sender: TObject); var i:integer; regCom : TRegistry; begin regCom := TRegistry.Create; with regCom do try RootKey := HKEY_LOCAL_MACHINE; if OpenKey('\HARDWARE\DEVICEMAP\SERIALCOMM', False)then begin GetValueNames(cmbComPort.Items); for i := 0 to cmbComPort.Items.Count - 1 do begin cmbComPort.items[i] := ReadString(cmbComPort.it..
델파이에서 처음 스레드를 써보고 있는데 이런 에러가 떴다. Thread Error: The handle is invalid (6) 정말 내가 초보이기 때문에 뜨는 에러 였다. TThread의 컨스트럭터가 호출되지 않아서 에러가 뜬다고 한다. 문제가 생기는 스레드의 컨스트럭터의 마지막 부분에 inherited Create(False); 나 inherited Create(True); 를 넣으면 된다.
델파이에서 VC 8.0(VS 2005)에서 작성한 DLL을 사용하는데 개발환경이 셋업되어있지않은 곳에서 사용하는데 문제가 있어서 몇일간 삽질한 내용을 정리하고자한다. 테스트 환경 우선 Visual C++ Ver 8.0에서 DLL을 만들었다. 그리고 그것을 Delphi 2005에서 만든 실행 파일에서 불러서 쓰려했다. 실행파일을 실행한 OS는 Windows XP Professional SP2로 개발환경이 전혀 깔려있지않은 상태였다. ■ 첫번째 삽질 델파이라 만든 실행파일을 실행하면 아래의 메세지가 떴다. "응용 프로그램을 제대로 초기화하지 못했습니다(0xc0150002)." → 문제는 Visual C++ Ver 8.0에서 DLL을 만들 때 Debug 모드로 빌드를 해서 Debug용 DLL로 테스트를 했었다..