VOID _cdecl Main( WORD NumArgs, CHAR *Args[], CHAR *EnvStrings[] ) { MSG Msg; WORD Key; CHAR FileName[65]; CHAR PrinterPort[65]; HFILE TMSBegrFile; HFILE TMSAbtFile; HFILE TMSZKontFile; DWORD EffTime; WinInitialize( MAXNUMWINDOWS ); WinCreateWindow( Desktop, &Desktop, NULL, 0, 0, 0, 0, 0, 0 ); WinHideCursor(); WinColor( Desktop, NORMAL, 0, 0, WinGetx2( Desktop ), WinGety2( Desktop ) ); WinCreateWindow( Desktop, &Bottomline, BottomlineProc, 0, 0, BOTTOMLINEX1, BOTTOMLINEY1, BOTTOMLINEX2, BOTTOMLINEY2 ); if( !ReadConfigData() ) { static struct HelpKey HelpKeys[NUMLAUFWERKHELPKEYS] = { { 0, 0, "</> Wert erh�hen/erniedrigen" }, { 0, 1, "<Enter> Wert akzeptieren" }, { 40, 1, "<Esc> Programm verlassen" } }; HWND TMSLaufwerk; BOOL LaufwerkOK; WinFill( Desktop, '�', 0, 22, 79, 22 ); InitConfigData(); WinString( Desktop, "TMS Laufwerk", CENTER, 0, 7 ); WinString( Desktop, "������������", CENTER, 0, 8 ); WinColor( Desktop, HIGHLIGHT, 33, 7, 46, 7 ); WinCreateWindow( Desktop, &TMSLaufwerk, TMSLaufWerkProc, 0, 0, 37, 10, 40, 10 ); WinString( Desktop, "Geben Sie bitte an, in welchem Laufwerk sich TMS befindet.", CENTER, 0, 14 ); WinSendMsg( Bottomline, WM_HELP, (WORD)&HelpKeys, NUMLAUFWERKHELPKEYS ); WinSendMsg( TMSLaufwerk, WM_SHOW, 0, 0 ); WinSendMsg( TMSLaufwerk, WM_SETFOCUS, 0, 0 ); do { LaufwerkOK = TRUE; do { Key = BiosGetKey(); Msg = WinSendMsg( TMSLaufwerk, WM_CHAR, (MPARAM)Key, 0 ); } while( (WORD)Msg != KBENTER && (WORD)Msg != KBESC ); if( (WORD)Msg == KBESC ) { DosFreeFarMem( ConfigData ); WinDestroyWindow( TMSLaufwerk ); WinDestroyWindow( Bottomline ); WinDestroyWindow( Desktop ); return; } if( !OpenPathFile() ) { LaufwerkOK = FALSE; } } while( !LaufwerkOK ); ClosePathFile(); WinDestroyWindow( TMSLaufwerk ); WinColor( Desktop, NORMAL, 0, 0, WinGetx2( Desktop ), 21 ); WinFill( Desktop, SPACECHAR, 0, 0, WinGetx2( Desktop ), WinGety2( Desktop ) ); } switch( NumArgs ) { case 2: StdStrLwr( Args[1] ); if( StdStrCmp( Args[1], "exportfile" ) == 0 || StdStrCmp( Args[1], "export" ) == 0 ) { WinFill( Desktop, '�', 0, 22, 79, 22 ); ExportFileConversion(); } else { ; // Debug!!!! } break; case 1: if( !OpenPathFile() ) ; // Debug!!!!! ReadPathFileEntry( TMSBEGRUENDNO, FileName, FALSE ); DosOpen( FileName, &TMSBegrFile, OPEN_RDONLY ); DosLastModTime( TMSBegrFile, &EffTime ); if( ConfigData->TMSBegruendungsDatum != EffTime ) { if( !CreateList( TMSBegrFile, BEGRUENDUNGEN ) ) { WinString( Desktop, "In TMS sind 0 Begr�ndungen verzeichnet!", LEFT, 0, 0 ); return; // Debug-Version!!!!! } SortList( BEGRUENDUNGEN ); ConfigData->TMSBegruendungsDatum = EffTime; StdFarMemSet( ConfigData->BegrCheckListe, TRUE, sizeof( ConfigData->BegrCheckListe ) ); } DosClose( TMSBegrFile ); ReadPathFileEntry( TMSABTEILNO, FileName, FALSE ); DosOpen( FileName, &TMSAbtFile, OPEN_RDONLY ); DosLastModTime( TMSAbtFile, &EffTime ); if( ConfigData->TMSAbteilungsDatum != EffTime ) { if( !CreateList( TMSAbtFile, ABTEILUNGEN ) ) { WinString( Desktop, "In TMS sind 0 Abteilungen verzeichnet!", LEFT, 0, 0 ); return; // Debug-Version!!!!! } SortList( ABTEILUNGEN ); ConfigData->TMSAbteilungsDatum = EffTime; StdFarMemSet( ConfigData->AbtCheckListe, TRUE, sizeof( ConfigData->AbtCheckListe ) ); } DosClose( TMSAbtFile ); ReadPathFileEntry( TMSZEITKNO, FileName, FALSE ); DosOpen( FileName, &TMSZKontFile, OPEN_RDONLY ); DosLastModTime( TMSZKontFile, &EffTime ); if( ConfigData->TMSZeitKontiDatum != EffTime ) { if( !CreateList( TMSZKontFile, ZEITKONTI ) ) { WinString( Desktop, "In TMS sind 0 Zeitkonti verzeichnet!", LEFT, 0, 0 ); return; // Debug-Version!!!!! } // SortList( ZEITKONTI ); ConfigData->TMSZeitKontiDatum = EffTime; StdFarMemSet( ConfigData->ZKontCheckListe, TRUE, sizeof( ConfigData->ZKontCheckListe ) ); } DosClose( TMSZKontFile ); ReadPathFileEntry( TMSPRINTERINFONO, FileName, FALSE ); ReadPathFileEntry( TMSPRINTERPORTNO, PrinterPort, TRUE ); GetPrinterInfo( FileName, PrinterPort ); ClosePathFile(); LoadList( BEGRUENDUNGEN ); LoadList( ABTEILUNGEN ); LoadList( ZEITKONTI ); WinString( Desktop, "������������������������������������Ŀ", CENTER, 0, 3 ); WinString( Desktop, "� �", CENTER, 0, 4 ); WinString( Desktop, "� Statistik - Generierung �", CENTER, 0, 5 ); WinString( Desktop, "� ����������������������� �", CENTER, 0, 6 ); WinString( Desktop, "� und �", CENTER, 0, 7 ); WinString( Desktop, "� ��� �", CENTER, 0, 8 ); WinString( Desktop, "� Verwaltung der Exportdaten �", CENTER, 0, 9 ); WinString( Desktop, "� �������������������������� �", CENTER, 0, 10 ); WinString( Desktop, "� �", CENTER, 0, 11 ); WinString( Desktop, "� von TMS �", CENTER, 0, 12 ); WinString( Desktop, "� �", CENTER, 0, 13 ); WinString( Desktop, "��������������������������������������", CENTER, 0, 14 ); WinString( Desktop, " (c) Copyright 1992, 1993 J.Skripsky ", CENTER, 0, 16 ); WinString( Desktop, " Designed and Developed by ", CENTER, 0, 18 ); WinString( Desktop, " Juraj Skripsky ", CENTER, 0, 19 ); WinString( Desktop, " CH-8952 Schlieren ", CENTER, 0, 20 ); BiosGetKey(); WinFill( Desktop, SPACECHAR, 0, 0, WinGetx2( Desktop ), WinGety2( Desktop ) ); WinFill( Desktop, '�', 0, 22, 79, 22 ); WinFill( Desktop, '�', 27, 0, 27, 21 ); WinFill( Desktop, '�', 0, 22, 79, 22 ); WinCreateWindow( Desktop, &Menu, MenuProc, 0, 0, 1, 1, 25, 20 ); WinSendMsg( Menu, WM_SHOW, 0, 0 ); WinSendMsg( Menu, WM_SETFOCUS, 0, 0 ); do { Key = BiosGetKey(); Msg = WinSendMsg( Menu, WM_CHAR, (MPARAM)Key, 0 ); } while( (WORD)Msg != KBESC ); FreeList( BEGRUENDUNGEN ); FreeList( ABTEILUNGEN ); FreeList( ZEITKONTI ); FreePrinterInfo(); WinDestroyWindow( Menu ); break; } if( !WriteConfigData() ) ; // Debug!!!!! WinDestroyWindow( Bottomline ); WinDestroyWindow( Desktop ); WinTerminate(); }
//--------------------------------------------------------------------------- BOOL TConfDlg::LoadConfig(const AnsiString &File) { HANDLE file; DWORD type, fileversion; HostData *actData; char PlgName[30]="NONE",*N = PlgName; int i; bool ignoreContext=false; file = CreateFileA(File.c_str(),GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN,0); if(file == INVALID_HANDLE_VALUE) { Application->MessageBox("Cannot open file!","Error",MB_OK|MB_ICONERROR); return FALSE; } type = ReadType(file); if(type != MAGIC) { CloseHandle(file); Application->MessageBox("Invalid file format!", "Error",MB_OK|MB_ICONERROR); return FALSE; } fileversion = ReadType(file); if(fileversion != FILE_VERSION) { i = Application->MessageBox("Wrong file version! Try anyway?","Error",MB_YESNO|MB_ICONERROR); if (i == ID_NO) { CloseHandle(file); return FALSE; } } // This should not happen... while(SelectedBox->Items->Count) { RemoveSelHost(0,true); } for(i=0;i<LastList->Count;++i) { delete LastList->Objects[i]; LastList->Objects[i] = 0; } LastList->Clear(); actData = &GlobalConfig; FreeProcData(actData); SetHostAccount(actData,0); do { type = ReadType(file); switch(type) { case TYPE_CONFIG: ReadConfigData(file,actData,fileversion); if(ignoreContext) FreeContext(actData); break; case TYPE_ACCOUNT: ReadAccount(file,actData); break; case TYPE_ACCOUNT_ENCRYPTED: ReadAccountEncrypted(file,actData); break; case TYPE_HOST: actData = 0; ReadHost(file,&actData); if(actData) { CopyStateData(actData,(*Servers)[actData->Name]); LastList->AddObject(actData->Name,new CHostRef(actData)); } break; case TYPE_PLUGIN: ReadString(file,&N); if(!PluginManager.SetActualPlugin(PlgName)) ignoreContext = true; break; case TYPE_VERSION: case TYPE_GLOBAL: case TYPE_NONE: default: break; } } while(type != TYPE_NONE); CloseHandle(file); return TRUE; }
/********************************************************************************* * Description : 初始化系统设置变量 * * Arguments : * * Returns : * * Notes : * *********************************************************************************/ void APP_ReadComPara(void) { //DSM_ReadUserData(); //NVRAMRead(g_comval, VM_SYSTEM, sizeof(g_comval)); g_comval = (comval_t*)NVRAMGetData(VM_SYSTEM, sizeof(comval_t)); hal_HstSendEvent(SYS_EVENT, 0x19880900); if(g_comval->magic != MAGIC_COMVAL) { hal_HstSendEvent(SYS_EVENT, 0x19880901); if(!LoadFactorySetting(g_comval, sizeof(g_comval))) { g_comval->DisplayContrast = 5; g_comval->langid = GUI_LANG_SM_CHINESE; g_comval->LightTime = 3; //g_comval->ReplayMode = 0; //g_comval->SleepTime = 0; g_comval->StandbyTime = 30; //g_comval->BatteryType = BATT_TYPE_ALKALINE; //g_comval->FMBuildInFlag = 0; //g_comval->RecordType = 0; //g_comval->BLightColor = 3; g_comval->BackLight = 5; g_comval->Volume = 8; // default volume g_comval->music_cfg.loop_mode = 0; g_comval->music_cfg.eq_mode = 0; g_comval->music_cfg.repeat_count = 3; g_comval->music_cfg.repeat_time = 30; #if APP_SUPPORT_FM==1 /*Surport fm*/ g_comval->fm_value.fm_band = 0; g_comval->fm_value.fm_sendfreq = 1000; #endif } hal_HstSendEvent(SYS_EVENT, 0x19880902); g_comval->magic = MAGIC_COMVAL; // no need save data //NVRAMWrite(g_comval, VM_SYSTEM,sizeof(g_comval)); //g_test_mode = 1; } if(!ReadConfigData(&g_sysconfig, CFG_SYSTEM, sizeof(g_sysconfig))) { g_sysconfig.AppSupportFlag = AP_SUPPORT_RECORD | (AP_SUPPORT_FM * APP_SUPPORT_FM) | (AP_SUPPORT_FMREC * APP_SUPPORT_FM_RECORD) | (AP_SUPPORT_LCD * APP_SUPPORT_LCD) | (AP_SUPPORT_MENU * APP_SUPPORT_MENU) | (AP_SUPPORT_LED * APP_SUPPORT_LED); } #if APP_SUPPORT_RGBLCD==1 if(AP_Support_LCD() && !ReadConfigData(&g_displayconfig, CFG_DISPLAY, sizeof(g_displayconfig))) { g_displayconfig.lcd_heigth = 128; g_displayconfig.lcd_width = 160; //g_displayconfig.log_x = 0; //g_displayconfig.log_y = 8; //g_displayconfig.usb_x = 0; //g_displayconfig.usb_y = 16; g_displayconfig.big_num_width = 16; g_displayconfig.big_colon_width = 9; g_displayconfig.small_num_width = 6; g_displayconfig.small_colon_width = 4; //g_displayconfig.num_key_img = GUI_IMG_BIG_NUM; //g_displayconfig.num_key_x = 32; //g_displayconfig.num_key_y = 16; g_displayconfig.position_batt = POSITION_BATT; g_displayconfig.message_y = 48; } #elif APP_SUPPORT_LCD==1 if(AP_Support_LCD() && !ReadConfigData(&g_displayconfig, CFG_DISPLAY, sizeof(g_displayconfig))) { g_displayconfig.lcd_heigth = 64; g_displayconfig.lcd_width = 128; //g_displayconfig.log_x = 0; //g_displayconfig.log_y = 8; //g_displayconfig.usb_x = 0; //g_displayconfig.usb_y = 16; g_displayconfig.big_num_width = 16; g_displayconfig.big_colon_width = 9; g_displayconfig.small_num_width = 6; g_displayconfig.small_colon_width = 4; //g_displayconfig.num_key_img = GUI_IMG_BIG_NUM; //g_displayconfig.num_key_x = 32; //g_displayconfig.num_key_y = 16; g_displayconfig.position_batt = POSITION_BATT; g_displayconfig.message_y = 24; } #endif #if APP_SUPPORT_BLUETOOTH==1 /*Surport bt*/ if(!ReadConfigData(&g_btconfig, CFG_BLUETOOTH, sizeof(g_btconfig))) { strcpy(g_btconfig.local_name, "RDA MP3 BT"); // bluetooth name strcpy(g_btconfig.password, "0000"); // bluetooth password } #endif //SetBackLightColor(g_comval->BLightColor); //设置背光颜色。 SetBackLight(g_comval->BackLight); SetContrast(g_comval->DisplayContrast); //设置屏幕的对比度 MESSAGE_Initial(g_comval); }