Пример #1
0
CString CVqf::GetFormatString()
{
	CString strFormat;
	if(!m_bEnable)
	{
		//「不明」
		//strFormat.LoadString(IDS_UNKNOWN);
		return strFormat;
	}

	strFormat.Format("TwinVQ %s, %dkHz, %dkbps, %s",
					GetVer(),
					GetSamplFreq(),
					GetRate(),
					(GetStereo()&0x03)?"Stereo":"Mono"
					);
	return strFormat;
}
Пример #2
0
//取得个人内部版本说明 
CString HFileVersion::GetPrivateBuild() 
{ 
	return GetVer("PrivateBuild"); 
} 
Пример #3
0
//取得合法商标 
CString HFileVersion::GetLegalTrademarks() 
{ 
	return GetVer("LegalTrademarks"); 
} 
Пример #4
0
//取得文件描述 
CString HFileVersion::GetFileDescription() 
{ 
	return GetVer("FileDescription"); 
} 
Пример #5
0
//取得产品版本 
CString HFileVersion::GetProductVersion() 
{ 
	return GetVer("ProductVersion"); 
} 
Пример #6
0
//取得版权 
CString HFileVersion::GetLegalCopyright() 
{ 
	return GetVer("LegalCopyright"); 
} 
Пример #7
0
//取得公司名称 
CString HFileVersion::GetCompanyName() 
{ 
	return GetVer("CompanyName"); 
} 
Пример #8
0
//取得产品名称 
CString HFileVersion::GetProductName() 
{ 
	return GetVer("ProductName"); 
} 
Пример #9
0
//取得内部名称 
CString HFileVersion::GetInternalName() 
{ 
	return GetVer("InternalName"); 
} 
Пример #10
0
//取得备注 
CString HFileVersion::GetComments() 
{ 
	return GetVer("Comments"); 
} 
Пример #11
0
//取得特殊内部版本说明 
CString HFileVersion::GetSpecialBuild() 
{ 
	return GetVer("SpecialBuild"); 
} 
Пример #12
0
//取得源文件名 
CString HFileVersion::GetOriginalFilename() 
{ 
	return GetVer("OriginalFilename"); 
} 
Пример #13
0
void CLN_Login::Register()
{
	tag1PComuCfg obj1PComuCfg;
	GetImpCfg( &obj1PComuCfg, sizeof(obj1PComuCfg),	offsetof(tagImportantCfg, m_uni1PComuCfg.m_obj1PComuCfg), sizeof(obj1PComuCfg) );
	if( 0x20 == obj1PComuCfg.m_szTel[0] || 0x30 == obj1PComuCfg.m_szTel[0] || !strcmp("", obj1PComuCfg.m_szTel) )
	{
		PRTMSG(MSG_NOR, "Get SelfTel, but Incorrect or Empty, Quit Register!\n" );
		return;
	}

	m_dwRegisterTimers++;
	
	// 注册重传了10次未收到应答,请求ComuExe重新拨号
	if( m_dwRegisterTimers >= 50 )
	{
		PRTMSG(MSG_NOR, "Send Register to max timers, Ask ComuExe to queck net!\n");
		char buf[] = {0x34, 0x01};
		DataPush((void*)&buf, 2, DEV_SOCK, DEV_PHONE, LV3);
		
		m_dwRegisterTimers = 0;
		_KillTimer(&g_objTimerMng, REGISTER_TIMER);

		return;
	}

	char  szBuf[200] = {0};
	DWORD dwLen = 0;

	char  szTempBuf[100] = {0};
	DWORD dwTempLen = 0;

	szBuf[dwLen++] = 0x41;	// 命令类型

	szBuf[dwLen++] = 0x00;	// 动作:注册
	szBuf[dwLen++] = 0x00;

	szBuf[dwLen++] = 0x00;	// Attr1
	szBuf[dwLen++] = 0x03;	// K_len1
	szBuf[dwLen++] = 'v';	// Key1: ver 终端版本号:M(3)+R(3)+V(4)+S(1)
	szBuf[dwLen++] = 'e';
	szBuf[dwLen++] = 'r';
	szBuf[dwLen++] = 0x00;	// V_len1
	szBuf[dwLen++] = dwTempLen = GetVer(szTempBuf);
	memcpy(szBuf+dwLen, szTempBuf, dwTempLen);
	dwLen += dwTempLen;

	szBuf[dwLen++] = 0x00;	// Attr2
	szBuf[dwLen++] = 0x03;	// K_len2
	szBuf[dwLen++] = 'v';	// Key2: ven 厂商编号
	szBuf[dwLen++] = 'e';
	szBuf[dwLen++] = 'n';
	szBuf[dwLen++] = 0x00;	// V_len2
	szBuf[dwLen++] = dwTempLen = GetVen(szTempBuf);
	memcpy(szBuf+dwLen, szTempBuf, dwTempLen);
	dwLen += dwTempLen;

	szBuf[dwLen++] = 0x00;	// Attr3
	szBuf[dwLen++] = 0x05;	// K_len3
	szBuf[dwLen++] = 'g';	// Key3: group 集团计费号
	szBuf[dwLen++] = 'r';
	szBuf[dwLen++] = 'o';
	szBuf[dwLen++] = 'u';
	szBuf[dwLen++] = 'p';
	szBuf[dwLen++] = 0x00;	// V_len3
	szBuf[dwLen++] = dwTempLen = GetGroup(szTempBuf);
	memcpy(szBuf+dwLen, szTempBuf, dwTempLen);
	dwLen += dwTempLen;
	
	// 发送
	g_objApplication.SendAppFrame(MODE_A, 0x80, true, 0, szBuf, dwLen);
	PRTMSG(MSG_NOR, "Send Register Frame!\n");
	
	_SetTimer(&g_objTimerMng, REGISTER_TIMER, 10000, G_TmRegister);
}
Пример #14
0
void CLN_Login::Login()
{
	tag1PComuCfg obj1PComuCfg;
	GetImpCfg( &obj1PComuCfg, sizeof(obj1PComuCfg),	offsetof(tagImportantCfg, m_uni1PComuCfg.m_obj1PComuCfg), sizeof(obj1PComuCfg) );
	if( 0x20 == obj1PComuCfg.m_szTel[0] || 0x30 == obj1PComuCfg.m_szTel[0] || !strcmp("", obj1PComuCfg.m_szTel) )
	{
		PRTMSG(MSG_NOR, "Get SelfTel, but Incorrect or Empty, Quit Login!\n" );
		return;
	}

	m_dwLoginTimers++;
	
	// 登陆重传了10次未收到应答,请求ComuExe重新拨号
	if( m_dwLoginTimers >= 50 )
	{
		PRTMSG(MSG_NOR, "Send Login to max timers, Ask ComuExe to queck net!\n");
		char buf[] = {0x34, 0x01};
		DataPush((void*)&buf, 2, DEV_SOCK, DEV_PHONE, LV3);
		
		m_dwLoginTimers = 0;
		_KillTimer(&g_objTimerMng, LOGIN_TIMER);
	
		return;
	}

	char  szBuf[200] = {0};
	DWORD dwLen = 0;
	
	char  szTempBuf[100] = {0};
	DWORD dwTempLen = 0;
	
	szBuf[dwLen++] = 0x41;	// 命令类型
	
	szBuf[dwLen++] = 0x00;	// 动作:登陆
	szBuf[dwLen++] = 0x01;
	
	// 终端类型
	szBuf[dwLen++] = 0x00;	// Attr1
	szBuf[dwLen++] = 0x02;	// K_len1
	szBuf[dwLen++] = 't';	// Key1: tP 终端类型
	szBuf[dwLen++] = 'P';
	szBuf[dwLen++] = 0x00;	// V_len1
	szBuf[dwLen++] = 0x01;
	szBuf[dwLen++] = 0x01;	// 01h:新协议,02h:老协议,03h:兼容协议,04h:VG3协议

	// 终端版本号
	szBuf[dwLen++] = 0x00;	// Attr2
	szBuf[dwLen++] = 0x03;	// K_len2
	szBuf[dwLen++] = 'v';	// Key2: ver 终端版本号:M(3)+R(3)+V(4)+S(1)
	szBuf[dwLen++] = 'e';
	szBuf[dwLen++] = 'r';
	szBuf[dwLen++] = 0x00;	// V_len2
	szBuf[dwLen++] = dwTempLen = GetVer(szTempBuf);
	memcpy(szBuf+dwLen, szTempBuf, dwTempLen);
	dwLen += dwTempLen;

	// 位置信息、速度、方向、里程
	dwTempLen = G_GetPoint(szTempBuf);	
	memcpy(szBuf+dwLen, szTempBuf, dwTempLen);
	dwLen += dwTempLen;
	
	// 发送
	g_objApplication.SendAppFrame(MODE_A, 0x80, true, 0, szBuf, dwLen);
	PRTMSG(MSG_NOR, "Send Login Frame!\n");
	_KillTimer(&g_objTimerMng, HEART_KEEP_TIMER);
	_SetTimer(&g_objTimerMng, LOGIN_TIMER, 10000, G_TmLogin);
}
Пример #15
0
Файл: MAIN.C Проект: msmania/486
void main(int argc, char **argv) {
    printf("Hello, MS-DOS%d!\n", GetVer());
    exit(0);
}
Пример #16
0
main()
{
    static char text[MAXSEARCH];  /* Pointer to buffer for search text  */
    static char date_time[19];    /* Receive file date and time         */
    int err, mode, handle, len;   /* Codes, file handle, bytes read     */
    int row, col, ch;             /* Cursor coordinates, kb character   */
    int i, j, attr;               /* Index variables, file attribute    */
    int disp_attr;                /* Display attribute                  */
    char *spec, *ptr, *buffer;    /* File spec, char match, read buffer */
    long dsize, disk_use;         /* Disk size and usage                */
    struct DISKSTAT disk;         /* Structure for disk size params     */

    static char copy_msg[] =
    {
        "Files can be copied or moved in 2 different modes:\n" \
        "      0  -  overwrite target file if it exists\n" \
        "      1  -  abort if target file exists\n\n" \
        "Mode 1 is supported only with DOS versions 3.0 or higher.\n"
    };
    static char move_msg[] =
    {
        "Quick Move uses DOS function 56h (Rename File) to effectively " \
        "move a file from\none directory to another directory on the " \
        "same drive.  It copies the entry\nfrom the source directory to " \
        "the target directory, but does not physically\ncopy the file.\n\n" \
        "Source and target specifications must be given in full, " \
        "including filenames,\neven if the names are the same."
    };
    static char grep_msg[] =
    {
        "The Find Text option uses the StrFindChar and StrCompare procedures " \
        "to locate\na text string within specified files, like Unix's " \
        "\"grep\" command.  Find Text\nis limited to case-sensitive searches " \
        "within the current directory.\n\nEnter the desired search string " \
        "without quotation marks.  When specifying the\nfilename, use " \
        "wildcard characters to expand the search to a group of files --\n" \
        "for example, \"*.*\" searches all files within the current " \
        "directory, \"*.bat\"\nlimits the search to batch files, and so forth."
    };
    static char attr_msg[] =
    {
        "\t\t\t1    normal      \n" \
        "\t\t\t2    read-only   \n" \
        "\t\t\t3    hidden      \n" \
        "\t\t\t4    system      \n" \
        "\t\t\t     volume      \n" \
        "\t\t\t     subdirectory\n" \
        "\t\t\t5    archive     \n"
    };

    GetVidConfig();
    ReadCharAttr( &disp_attr );
    clear_scrn( disp_attr, 0, 24 );
    SetCurPos( 8, 0 );
    puts( "Welcome to the FILEDEMO program.\n\n\nThis program is meant " \
          "to encourage experimentation while demonstrating how to\naccess " \
          "DOS from assembly-language procedures.  As a safety precaution, " \
          "however,\nwe suggest you DO NOT experiment with files that " \
          "cannot easily be replaced." );
    press();

    do
    {
        /* Display current drive and directory */
        clear_scrn( disp_attr, 0, 24 );
        SetCurPos( 0, 0 );
        printf( "Current Directory:  %c:\\", (char)(GetCurDrive() + 'A') );
        GetCurDir( source );
        puts( source );

        /* Display DOS version */
        SetCurPos( 1, 0 );
        printf( "DOS Version:        %2.1f", ( (float) GetVer() ) / 100 );

        /* Display disk statistics for current drive */
        SetCurPos( 0, 58 );
        GetDiskSize( 0, &disk );
        dsize = (long)disk.bytes * disk.sects * disk.total;
        disk_use = (long)(disk.total - disk.avail) * disk.bytes * disk.sects;
        printf( "Disk Size: %6lu K", dsize / 1024 );
        SetCurPos( 1, 58 );
        printf( "Disk Use:  %6lu K", disk_use / 1024 );

        /* Display menu and poll for keystroke */
        clear_scrn( disp_attr, 2, 23 );
        SetCurPos( 5, 0 );
        puts( " \t               ***      FILE " \
              "Demonstration Program      ***" );
        SetCurPos( 7, 0 );
        puts( " \tA  List Directory       \t\tH  Get/Set File Attribute" );
        puts( " \tB  Copy File            \t\tI  Get File Date and Time" );
        puts( " \tC  Move File            \t\tJ  Rename File" );
        puts( " \tD  Make Subdirectory    \t\tK  Delete File" );
        puts( " \tE  Remove Subdirectory  \t\tL  Create Unique File" );
        puts( " \tF  Change Default Drive \t\tM  Quick Move" );
        puts( " \tG  Change Directory     \t\tN  Find Text" );
        printf( "\n\n\tSelect an option, or press ESC to quit: " );
        ch = getch();
        switch( (ch = toupper( ch )) )
        {
            /* List first 60 files in specified directory */
            case 'A':
                err  = list_dir( get_spec( 1 ), disp_attr );
                if( !err )
                    press();
                break;

            /* Copy or Move File according to requested mode:
             *          0 = overwrite target
             *          1 = abort if target exists
             * If Move requested, delete source file after copy.
             */
            case 'B':
            case 'C':
                clear_scrn( disp_attr, 2, 17 );
                SetCurPos( 9, 0 );
                puts( copy_msg );
                mode = -1;
                while( (mode < 0)  ||  (mode > 1) )
                {
                    SetCurPos( 16, 0 );
                    printf( "Enter copy mode:  " );
                    mode = (int)(getche() - '0');
                }
                spec = get_spec( 2 );                   /* Get source     */
                strcpy( source, spec );                 /* Save in buffer */
                spec = get_spec( 3 );                   /* Get target     */
                err  = CopyFile( mode, source, spec );
                if( (ch == 'C')  &&  !err )
                    err = DelFile( source );
                break;

            /* Make Directory */
            case 'D':
                err = MakeDir( get_spec( 1 ) );
                break;

            /* Remove Directory */
            case 'E':
                err = RemoveDir( get_spec( 1 ) );
                break;

            /* Change Default Drive */
            case 'F':
                SetCurPos( 18, 0 );
                printf( "Enter new drive letter:  " );
                ch = getch();
                ch = toupper( ch );
                ChangeDrive( ch );
                err = 0;
                break;

            /* Change Directory */
            case 'G':
                err = ChangeDir( get_spec( 1 ) );
                break;

            /* Get and Set File Attributes */
            case 'H':
                strcpy( source, get_spec( 3 ) );
                if( (err = GetAttribute( source )) != -1 )
                {
                    attr = err;
                    if( !attr )
                        attr_msg[6] = '*';
                    else
                        attr_msg[6] = ' ';
                    for( j = 1, i = 27; j <= 32; j <<= 1, i+= 21 )
                    {
                        attr_msg[i] = ' ';
                        if( attr & j )
                            attr_msg[i] = '*';
                    }
                    err = 0;
                    clear_scrn( disp_attr, 2, 17 );
                    SetCurPos( 7, 0 );
                    puts( attr_msg );
                    printf( "\n\nToggle attribute bits by selecting 1-5, " \
                            "or any other key to exit:  " );
                    mode = (int)( getch() - '0' );
                    if( (mode > 0)  &&  (mode < 6) )
                    {
                        switch( --mode )
                        {
                            case 0:
                                attr = 0;
                                break;

                            case 1:
                            case 2:
                            case 3:
                                attr = attr ^ (1 << (--mode) );
                                break;

                            case 4:
                                attr = attr ^ 32;
                        }
                        err = SetAttribute( attr, source );
                    }
                }
                break;

            /* Get File Date and Time */
            case 'I':
                if( (handle = OpenFile( 0, get_spec( 3 ) )) == -1 )
                    err = 1;
                else
                    err = 0;
                if( !err )
                {
                    if( !(err = GetFileTime( handle, date_time )) )
                    {
                        clear_scrn( disp_attr, 2, 17 );
                        SetCurPos( 12, 10 );
                        printf( "File's date and time stamp:  %s", date_time );
                        CloseFile( handle );
                        press();
                    }
                }
                break;

            /* Rename File */
            case 'J':
                strcpy( source, get_spec( 2 ) );
                err = RenameFile( source, get_spec( 3 ) );
                break;

            /* Delete File */
            case 'K':
                err = DelFile( get_spec( 3 ) );
                break;

            /* Create File with Unique Name */
            case 'L':
                strcpy( source, get_spec( 1 ) );
                handle = UniqueFile( 0, source );   /* Normal file attr = 0 */
                if( handle >= 0 )
                {
                    printf( "\n\nDOS creates file %s", source );
                    press();
                    err = 0;
                }
                else err = 1;
                break;

            /* Quick Move from one directory to another */
            case 'M':
                clear_scrn( disp_attr, 2, 17 );
                SetCurPos( 8, 0 );
                puts( move_msg );
                strcpy( source, get_spec( 2 ) );
                err = RenameFile( source, get_spec( 3 ) );
                break;

            /* Search files for specified text */
            case 'N':
                clear_scrn( disp_attr, 2, 17 );
                buffer = (char *) malloc( BUFFSIZE + 1 );
                if( buffer == NULL )
                {
                    SetCurPos( 12, 26 );
                    puts( "Insufficient memory for option" );
                    err = 1;
                    break;
                }
                SetCurPos( 7, 0 );
                puts( grep_msg );
                SetCurPos( 18, 0 );
                printf( "Enter search text:  " );
                GetStr( text, MAXSEARCH );

                /* Find first data file. */
                if( err = FindFirst( 0, get_spec( 3 ), &file ) )
                {
                    clear_scrn( disp_attr, 2, 17 );
                    SetCurPos( 12, 24 );
                    puts( "No files found matching specification" );
                }

                /* If file found, initialize screen coordinates and
                 * open file for reading.
                 */
                else
                {
                    clear_scrn( disp_attr, 2, 17 );
                    row = 6;
                    col = 0;
                    do
                    {
                        if( (handle = OpenFile( 0, file.filename )) != -1 )
                        {

                            /* If file opened successfully, read a block
                             * of BUFFSIZE bytes. If end-of-file encountered
                             * (number of bytes read not equal to BUFFSIZE)
                             * or read error, set error flag to break loop.
                             * Terminate block with a NULL character to 
                             * make it an ASCIIZ string.
                             */
                            err = 0;
                            while( !err )
                            {
                                len = ReadFile( handle, BUFFSIZE, buffer );
                                if( (len == 0)  ||  (len != BUFFSIZE) )
                                    ++err;
                                ptr = buffer;
                                *( ptr + len ) = 0;

                                /* Search block for first character in text */
                                while( spec = StrFindChar( text[0], ptr, 0 ) )
                                {

                                    /* If initial character found, compare
                                     * remaining characters in search text.
                                     * If all characters match, display file
                                     * name and break out of loop.
                                     */
                                    ptr = StrCompare( ++spec, &text[1],
                                          (strlen( text ) - 1) );
                                    if( !ptr )
                                    {
                                        SetCurPos( row++, col );
                                        puts( file.filename );
                                        if( row == 16)
                                        {
                                            row  = 6;
                                            col += 20;
                                        }
                                        err  = 1;
                                        break;
                                    }
                                }
                            }
                            CloseFile( handle );
                        }
                        else
                        {
                            err = 1;
                            break;
                        }
                    } while( !FindNext( &file ) );

                    if( (row == 6)  &&  (col == 0) )
                    {
                        SetCurPos( 12, 22 );
                        puts( "Text not found in specified file(s)" );
                    }
                    press();
                    err = 0;
                }
                free( buffer );             /* Free allocated block */
                break;

            default:
                continue;
        }

        if( err )
        {
            clear_scrn( disp_attr, 24, 24 );
            SetCurPos( 24, 0 );
            printf( "***  Error  ***\a" );
            press();
        }

    } while( ch != ESCAPE );            /* Exit if ESC key pressed    */

    clear_scrn( disp_attr, 0, 24 );     /* Clear screen before exit   */
    SetCurPos( 23, 0 );                 /*   and set cursor to bottom */
    return( 0 );
}