아무도 답변이 없어서 제가 답변을 합니다..
제가 게을러서 직접 자료찾아서 답변은 못드리겠습니다..
간단하게 API레퍼런스나 VC++참고 서적으로 함수의 기능을 이해한후에
델파이 레퍼런스로 같은 기능의 함수를 찾고 해당 기능이 없다면(없을리는 없다고 봅니다만)
소스가 요구하는 기능이 무엇인지 파악한 후에
델파이에 맞게 다시 제작성하시는게 좋을것 같습니다...
이상탁 님이 쓰신 글 :
: VC++ 의 소스를 가지고 델파이로 변경하고 있는데요, 다음과 같은 문장이 있는데 무엇을 하는 것인지 잘 몰라서 질문을 했습니다.
:
: result = _setmode( _fileno( stdin ), _O_BINARY );
:
: 똑같은 기능을 하는 것으로는 델파이에 무엇이 있나요?
:
: 아니면 아래 소스를 델파이로 변경해 주시면 더욱 더 감사하구요
:
: VC++ 소스
: ============================================================================
:
: #include "stdafx.h"
: #include "windows.h"
: #include "time.h"
: #include <fcntl.h>
: #include <io.h>
:
:
: int main(int argc, char* argv[])
: {
: BYTE buf[1024];
: int len;
: char sFileName[256];
: char sRunName[256];
: char sTempPath[126];
: char sDocName[255];
: time_t ltime;
: HANDLE FileMapObj;
: char FileValue[256];
: char *FilePoint;
: BOOL isXClientTrue;
:
:
: // 변수들을 초기화 한다.
: isXClientTrue = false;
:
: // ActiveX 클라이언트를 지원하기 위해..
: // 메모리 파일이 존재하는지 검사한다..
: FileMapObj = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,sizeof(FileValue),"GiOn WebPrint Job File");
:
: if (FileMapObj != NULL){
:
: // 클라이언트의 상태를 검사한다..
: FilePoint = (char *)MapViewOfFile(FileMapObj, FILE_MAP_WRITE, 0, 0, 0);
: ZeroMemory(FileValue,sizeof(FileValue));
: CopyMemory(FileValue,FilePoint,sizeof(FileValue));
: UnmapViewOfFile(FilePoint);
:
: // 상태 :: START : 시작, WAIT : 출력대기, EXIT 종료됨.
: if (strcmp(FileValue,"WAIT") == 0)
: isXClientTrue = true;
: }
:
: // 문서 이름을 받자..
: if (argc > 0) {
: lstrcpy(sDocName,argv[1]);
: }
:
:
: FILE *pFile;
: // 파일 이름을 설정한다.
: time( <ime );
: // 임시 디렉토리를 구한다.
: GetTempPath(sizeof(sTempPath),sTempPath);
: sprintf(sFileName,"%sPS%ld.jop",sTempPath,ltime);
: pFile = fopen(sFileName, "wt");
:
: setmode(fileno(stdin), O_BINARY);
:
: while ( (len = fread(buf, 1, sizeof(buf), stdin)) != 0) {
: fwrite(buf, 1, len, pFile);
: }
:
:
: // 작업이 완료되었으니 파일 포인터를 닫아준다..
: fclose(pFile);
: return 0;
: }
:
|