/************************************************************************* module :[サブアドレスBOX蓄積原稿の横区切り罫線作成] function :[サブアドレスBOX蓄積原稿の横区切り罫線を作成する。] common :[] condition :[ 罫線種類 case 0: ┌──┬────┬──────────┐ case 1: │ No.│ボックス名 │ 原稿No │ case 2: ├──┼────┼──────────┤ case 3: │ │ │ │ case 4: └──┴────┴──────────┘ ] commment :[] return :[なし] machine :[SH7043] language :[SHC] keyword :[LST] date :[97/04/15] author :[桑原美紀] *************************************************************************/ void Print_F_CodeDoc_List_Line( UBYTE Category, /*罫線種類*/ register UBYTE *AscString, /*印刷文字列*/ register UBYTE *AttString) /*修飾文字列*/ { Prn_Att_Str_Clear( AscString, AttString ); switch ( Category ) { case 0 : /* ┌─┬────┬──┬────────┐ サブアドレス蓄積原稿リスト */ AscString[1-1] = LST_KLINE7; CMN_MemorySet( &AscString[2-1], 78, LST_KLINE_); AscString[5-1] = LST_KLINE8; AscString[22-1] = LST_KLINE8; AscString[30-1] = LST_KLINE8; AscString[80-1] = LST_KLINE9; break; case 1 : /* │Box│ボックス名│種別│ 原稿No. │*/ AscString[1-1] = LST_KLINEI; AttributeSet( &AscString[2-1], &AttString[2-1] ,PWRD_Box, LST_NOT ); AscString[5-1] = LST_KLINEI; AttributeSet( &AscString[9-1], &AttString[9-1] ,PWRD_BoxName, LST_NOT ); AscString[22-1] = LST_KLINEI; AttributeSet( &AscString[24-1], &AttString[24-1] ,PWRD_Kind, LST_NOT ); AscString[30-1] = LST_KLINEI; AttributeSet( &AscString[46-1], &AttString[46-1] ,PWRD_DocumentsNo, LST_NOT ); AscString[80-1] = LST_KLINEI; break; case 2 : /* ├─┼────┼──┼────────┤ */ AscString[1-1] = LST_KLINE4; CMN_MemorySet( &AscString[2-1], 78, LST_KLINE_); AscString[5-1] = LST_KLINE5; AscString[22-1] = LST_KLINE5; AscString[30-1] = LST_KLINE5; AscString[80-1] = LST_KLINE6; break; case 3 : /* │ │ │ │ │ */ AscString[1-1] = LST_KLINEI; AscString[5-1] = LST_KLINEI; AscString[22-1] = LST_KLINEI; AscString[30-1] = LST_KLINEI; AscString[80-1] = LST_KLINEI; break; case 4: /* └─┴────┴──┴────────┘ */ AscString[1-1] = LST_KLINE1; CMN_MemorySet( &AscString[2-1], 78, LST_KLINE_); AscString[5-1] = LST_KLINE2; AscString[22-1] = LST_KLINE2; AscString[30-1] = LST_KLINE2; AscString[80-1] = LST_KLINE3; break; } }
/************************************************************************* module :[料金表の横区切り罫線作成] functiom :[料金表の横区切り罫線を作成する。] common :[] condition :[ 罫線種類 , 0 = �ョ�「�「�ホ�「�「�「─┬────┬───�「�イ , 1 = �、 NO.�、 昼間 �、 夜間 │ 深夜 │ , 2 = �セ�「�「�゙�「───┼────┼─�「�「�「�ニ , 3 = �、 �、 �、 │ │ , 4 = �カ�「�「�ヨ�「───┴────┴─�「�「�「�コ ] commment :[] return :[なし] machine :[V53] language :[MS-C] keyword :[LST] date :[94/ 3/ 9] author :[豊田浩子] *************************************************************************/ void Print_CostTable_List_Line( UBYTE Category, /*罫線種類*/ register UBYTE *AscString, /*印刷文字列*/ register UBYTE *AttString )/*修飾文字列*/ { Prn_Att_Str_Clear( (UBYTE *)AscString, (UBYTE *)AttString ); switch ( Category ) { case 0: /*�ョ�「�ホ�「�「�「┬───┬─�「�「�イ*/ AscString[11-1] = LST_KLINE7; CMN_MemorySet( (UBYTE *)&AscString[12-1], 59, LST_KLINE_ ); AscString[20-1] = LST_KLINE8; AscString[37-1] = LST_KLINE8; AscString[54-1] = LST_KLINE8; AscString[71-1] = LST_KLINE9; break; case 1: /*�、局番�、昼間(秒/10円)�、夜間(秒/10円)│深夜(秒/10円)│ */ AscString[11-1] = LST_KLINEI; AttributeSet( (UBYTE *)&AscString[12-1], (UBYTE *)&AttString[12-1], PWRD_DialingCode, LST_NOT ); AscString[20-1] = LST_KLINEI; AttributeSet( (UBYTE *)&AscString[21-1], (UBYTE *)&AttString[22-1], PWRD_Daytime, LST_NOT ); AscString[37-1] = LST_KLINEI; AttributeSet( (UBYTE *)&AscString[38-1], (UBYTE *)&AttString[39-1], PWRD_Night, LST_NOT ); AscString[54-1] = LST_KLINEI; AttributeSet( (UBYTE *)&AscString[55-1], (UBYTE *)&AttString[56-1], PWRD_Midnight, LST_NOT ); AscString[71-1] = LST_KLINEI; break; case 2: /*�セ�「�「�゙�「─�「┼�「──┼───�ニ*/ AscString[11-1] = LST_KLINE4; CMN_MemorySet( (UBYTE *)&AscString[12-1], 59, LST_KLINE_ ); AscString[20-1] = LST_KLINE5; AscString[37-1] = LST_KLINE5; AscString[54-1] = LST_KLINE5; AscString[71-1] = LST_KLINE6; break; case 3: /*�、 �、 �、 │ │*/ AscString[11-1] = LST_KLINEI; AscString[20-1] = LST_KLINEI; AscString[37-1] = LST_KLINEI; AscString[54-1] = LST_KLINEI; AscString[71-1] = LST_KLINEI; break; case 4: /*�カ�「�「�ヨ�「�「�「┴───┴──�「�コ*/ AscString[11-1] = LST_KLINE1; CMN_MemorySet( (UBYTE *)&AscString[12-1], 59, LST_KLINE_ ); AscString[20-1] = LST_KLINE2; AscString[37-1] = LST_KLINE2; AscString[54-1] = LST_KLINE2; AscString[71-1] = LST_KLINE3; break; } }
TEST_F(UsesAnalysisTests, hasNoUseOnlyInOneFuncTest) { // Testing if analysis recognizes uses of global variables in more than one // function. // // @glob0 = global i32 0 // define void @func1() { // bbFunc1: // %x = load i32, i32* @glob0 // } // define void @func2() { // bbFunc2: // %z = load i32, i32* @glob0 // } // // Creating the main part of test is in constructor of this test class. Constant *func2Constant(module->getOrInsertFunction( "func2", Type::getVoidTy(context), AttributeSet(), nullptr)); BasicBlock *bbInFunc2(BasicBlock::Create(context, "bbFunc2", cast<Function>(func2Constant))); new LoadInst(glob, "x", bbInFunc1); new LoadInst(glob, "z", bbInFunc2); EXPECT_FALSE(UsesAnalysis::hasUsesOnlyInOneFunc(*glob)) << "expected that global variable doesn't have use only in one" " function. \n"; }
/************************************************************************* module :[料金表の1明細印刷] functiom :[料金表の1明細を印刷する。] common :[ List : SYS_CostTable : SYS_NTT_AccessFile : ] condition :[ ] commment :[] return :[印刷結果] machine :[V53] language :[MS-C] keyword :[LST] date :[94/06/30] author :[豊田浩子] *************************************************************************/ WORD Print_CostTable_List_Specifi( UBYTE Page, /*ページ*/ UBYTE Line, /*現在明細数*/ UWORD CostCnt ) /*データ番号*/ { register WORD ret; /*実行結果*/ UBYTE i; /*文字列長*/ i = 0; if ( SYB_NTT_AccessFile[ CostCnt ].Number[0] != 0xff ) { if ( Page > 1 && Line == 0 ) { /*�ョ�「�ホ�「�「�ホ�「�「�「�ホ�「─�「�イ*/ Print_CostTable_List_Line( 0, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } else { /*�セ�「�「�゙�「─�「┼�「──┼───�ニ*/ Print_CostTable_List_Line( 2, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } /*�、999999�、Z99.9 �、Z99.9 │Z99.9│*/ Print_CostTable_List_Line( 3, List.S.Print, List.S.Attribute ); if ( CostCnt == 0 ) { AttributeSet( (UBYTE *)&List.S.Print[12-1], (UBYTE *)&List.S.Attribute[12-1], PWRD_WithinArea, LST_NOT ); /* 料金表番号00の時は市内 */ } else { CMN_StringCopy( (UBYTE *)&List.S.Print[13-1], (UBYTE *)SYB_NTT_AccessFile[ CostCnt ].Number ); } /* 昼 */ CMN_UnsignedIntToASC_NULL( (UBYTE *)List.S.Work, (UWORD)SYB_CostTable[ SYB_NTT_AccessFile[ CostCnt ].CostTable].Daytime, 4, ' '); Print_Cost_Keta( List.S.Work ); CMN_StringCopy( (UBYTE *)&List.S.Print[26-1], ( UBYTE *)List.S.Work ); /* 夜 */ CMN_UnsignedIntToASC_NULL( (UBYTE *)List.S.Work, (UWORD)SYB_CostTable[ SYB_NTT_AccessFile[ CostCnt ].CostTable].Night, 4, ' '); Print_Cost_Keta( List.S.Work ); CMN_StringCopy( (UBYTE *)&List.S.Print[43-1], (UBYTE *)List.S.Work ); /* 深夜 */ CMN_UnsignedIntToASC_NULL( (UBYTE *)List.S.Work, (UWORD)SYB_CostTable[ SYB_NTT_AccessFile[ CostCnt ].CostTable].Midnight, 4, ' '); Print_Cost_Keta( List.S.Work ); CMN_StringCopy( (UBYTE *)&List.S.Print[60-1], (UBYTE *)List.S.Work ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } return ( OK ); }
/** * @brief Constructs a uses analysis test. */ UsesAnalysisTests() { module = new Module("test", context); Constant *funcConstant(module->getOrInsertFunction("func1", Type::getVoidTy(context), AttributeSet(), nullptr)); Constant *globConstant(module->getOrInsertGlobal("glob0", Type::getInt32Ty(context))); glob = cast<GlobalVariable>(globConstant); bbInFunc1 = BasicBlock::Create(context, "bb", cast<Function>(funcConstant)); func1 = nullptr; }
/************************************************************************* module :[キーマクロタイトルリストの横区切り罫線作成] function :[キーマクロタイトルリストの横区切り罫線を作成する。 common :[] condition :[] commment :[] return :[印刷結果] machine :[SH7043] language :[SHC] keyword :[LST] date :[98/05/19] author :[桑原美紀] *************************************************************************/ void Print_KeyMacroList_Line( UBYTE Category, /*罫線種類*/ register UBYTE *AscString, /*印刷文字列*/ register UBYTE *AttString )/*修飾文字列*/ { Prn_Att_Str_Clear( AscString, AttString ); switch ( Category ) { case 0: /*�ョ�「�ホ�「�「�「�「�「�イ*/ AscString[19-1] = LST_KLINE7; CMN_MemorySet( &AscString[20-1], 43, LST_KLINE_ ); AscString[24-1] = LST_KLINE8; AscString[62-1] = LST_KLINE9; break; case 1: /*�、No.�、 タイトル �、*/ AscString[19-1] = LST_KLINEI; AttributeSet( &AscString[21-1], &AttString[21-1], PWRD_No, LST_NOT ); AscString[24-1] = LST_KLINEI; AttributeSet( &AscString[40-1], &AttString[40-1], PWRD_Title, LST_NOT ); AscString[62-1] = LST_KLINEI; break; case 2: /*�セ�「�「�゙�「�「�「�ニ*/ AscString[19-1] = LST_KLINE4; CMN_MemorySet( &AscString[20-1], 43, LST_KLINE_ ); AscString[24-1] = LST_KLINE5; AscString[62-1] = LST_KLINE6; break; case 3: /*�カ�「�「�ヨ�「�「�「�「�コ*/ AscString[19-1] = LST_KLINE1; CMN_MemorySet( &AscString[20-1], 43, LST_KLINE_ ); AscString[24-1] = LST_KLINE2; AscString[62-1] = LST_KLINE3; break; } }
TEST_F(UsesAnalysisTests, hasUseOnlyInOneFuncTest) { // Testing if analysis recognizes only one use in function. // // @glob0 = global i32 0 // define void @func1() { // bbInFunc1: // %x = load i32, i32* @glob0 // } // define void @func2() { // } // // Creating the main part of test is in constructor of this test class. module->getOrInsertFunction("func2", Type::getVoidTy(context), AttributeSet(), nullptr); new LoadInst(glob, "x", bbInFunc1); EXPECT_TRUE(UsesAnalysis::hasUsesOnlyInOneFunc(*glob)) << "expected that global variable has use only in one function. \n"; }
void CPlayer::updateEquipAttr() { std::string machineName = this->getMachineName(); size_t idx = machineName.find("Server"); if(idx != std::string::npos) { // Server端處理 std::map<EquipSlot , int>::iterator pi = m_mEquip.begin(); AdvancedAttribute advAttr; AttributeSet(advAttr); ObscureAttribute obsAttr; AttributeClear(obsAttr); BasicAttributeSet(getLevel(), getBasAttr(), advAttr, obsAttr); //取得角色初始素質 while (m_mEquip.end() != pi) { CWeaponInfo* wp = (CWeaponInfo*) CItem::getInfo(pi->second); if(NULL == wp) { break; } AttributeAdd (advAttr, wp->getBaseAttr()); AttributeAdd (advAttr, wp->getExtendAttr()); pi++; } advAttr.iHP = getHP(); advAttr.iMP = getMP(); setAdvAttr(advAttr); updateSkillAvailable(); } else { // Client端處理 updateSkillAvailable(); } }
/************************************************************************* module :[Fコード中継データの1明細印刷] functiom :[Fコード中継データの1明細を印刷する。] common :[ List : SYB_SubAddressBoxTable : ] condition :[ ] commment :[] return :[印刷結果] machine :[SH7043] language :[SHC] keyword :[LST] date :[98/09/16] author :[桑原美紀] *************************************************************************/ #if (PRO_FCODE_RELAY == ENABLE) /* 1998/09/16 Add By M.Kuwahara */ WORD Print_BoxExecData_Specifi( UBYTE *Line, UBYTE *LineCnt, UBYTE *Item, UBYTE BoxCnt ) /*1明細印刷*/ { UBYTE i; struct SYS_DialData_t *dial; register WORD ret; /*実行結果*/ if (*LineCnt == (PaperSizeLen() - 5)) { /* 2ページ目以降の先頭行の時 */ /* ┌─┬────┬───────────────┐ */ Print_F_CodeBox_List_Line( 9, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } (*LineCnt)--; } else { if ((*Item == 1) && /* 配信先の1行目 */ (*Line == 0)) { /* | | ├────┴────┴──┴──┤ */ Print_F_CodeBox_List_Line( 5, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } (*LineCnt)--; } } for (i = 0; i < SYS_ONETOUCH_BIT_FIELD_MAX; i++) { dial->Onetouch[i] = SYB_SubAddressBoxTable[BoxCnt].Onetouch[i]; } for (i = 0; i < SYS_SPEED_BIT_FIELD_MAX; i++) { dial->Speed[i] = SYB_SubAddressBoxTable[BoxCnt].Speed[i]; } dial->Group = SYB_SubAddressBoxTable[BoxCnt].Group; while( *LineCnt != 0 ){ Print_F_CodeBox_List_Line( 6, List.S.Print, List.S.Attribute ); switch (*Item) { /* 出力項目番号 */ case 1: /* 配信先出力 */ if (*Line == 0) { List.S.Print[6-1] = '('; AttributeSet( &List.S.Print[7-1], &List.S.Attribute[7-1], PWRD_RelayName, LST_NOT ); List.S.Print[13-1] = ')'; } /** ダイヤル番号の文字列変換 */ ret = ProgramDataDialToString( dial, SYS_PRG_DIAL_MAX, List.S.Work, *Line ); CMN_StringCopy( &List.S.Print[23-1], List.S.Work ); if (DialCheckPointer == SYS_EMPTY_DIAL) { /* 全明細内容出力 */ (*Item) = 2; } else { (*Line)++; } if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } (*LineCnt)--; break; case 2: /* 発信元付属出力 */ /*�、(発信元)�、XXXXXXXXX�、*/ List.S.Print[6-1] = '('; AttributeSet( &List.S.Print[7-1], &List.S.Attribute[7-1], PWRD_PutSubscriber, LST_NOT ); List.S.Print[13-1] = ')'; if (SYB_SubAddressBoxTable[BoxCnt].Option & SUB_ADDRESS_OPTION_TTI_INSIDE) { /** 上書きとなっている場合 */ AttributeSet( &List.S.Print[23-1], &List.S.Attribute[23-1], PWRD_Replace, LST_NOT ); } else if (SYB_SubAddressBoxTable[BoxCnt].Option & SUB_ADDRESS_OPTION_TTI_AVAIL) { /** 外付けとなっている場合 */ AttributeSet( &List.S.Print[23-1], &List.S.Attribute[23-1], PWRD_Avail, LST_NOT ); } else { AttributeSet( &List.S.Print[23-1], &List.S.Attribute[23-1], PWRD_NoTTI, LST_NOT ); } if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } (*LineCnt)--; (*Item) = 3; break; case 3: /* 同時プリント */ /*�、(同時プリント)�、XXX �、*/ List.S.Print[6-1] = '('; AttributeSet( &List.S.Print[7-1], &List.S.Attribute[7-1], PWRD_RxPrint, LST_NOT ); List.S.Print[17-1] = ')'; if (SYB_SubAddressBoxTable[BoxCnt].Option & SUB_ADDRESS_OPTION_PRINT) { AttributeSet( &List.S.Print[23-1], &List.S.Attribute[23-1], PWRD_On, LST_NOT ); } else { AttributeSet( &List.S.Print[23-1], &List.S.Attribute[23-1], PWRD_Off, LST_NOT ); } if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } (*LineCnt)--; (*Item) = 0; return( OK ); break; default: break; } } return( OK ); }
/************************************************************************* module :[サブアドレス/BOXリストの横区切り罫線作成] function :[サブアドレス/BOXリストの横区切り罫線を作成する。] common :[] condition :[ 罫線種類 case 0: ┌──┬────┬──────┬────────┬──┬───┐ case 1: │Box │ボックス名 │SUBアドレス番号│通信パスワード番号 │種類│オプション│ case 2: ├──┼────┼──────┼────────┼──┼───┤ case 3: │ │ │ │ │ │ │ case 4: └──┴────┴──────┴────────┴──┴───┘ case 5: | | ├──────┴────────┴──┴───┤ case 6: │ │ │ │ case 7: ├──┼────┼──────┬────────┬──┬───┤ case 8: └──┴────┴──────────────────────┘ case 9: ┌──┬────┬──────────────────────┐ ] commment :[] return :[なし] machine :[SH7043] language :[SHC] keyword :[LST] date :[97/04/14] author :[桑原美紀] *************************************************************************/ void Print_F_CodeBox_List_Line( UBYTE Category, /*罫線種類*/ register UBYTE *AscString, /*印刷文字列*/ register UBYTE *AttString) /*修飾文字列*/ { Prn_Att_Str_Clear( AscString, AttString ); switch ( Category ) { case 0 : /* ┌─┬────┬────┬────┬──┬──┐ サブアドレスBOXリスト */ AscString[1-1] = LST_KLINE7; CMN_MemorySet( &AscString[2-1], 79, LST_KLINE_); AscString[5-1] = LST_KLINE8; AscString[22-1] = LST_KLINE8; AscString[43-1] = LST_KLINE8; AscString[64-1] = LST_KLINE8; AscString[72-1] = LST_KLINE8; AscString[80-1] = LST_KLINE9; break; case 1 : /* │Box│ボックス名│SUBアドレス番号│通信パスワード番号│種別│オプション│ */ AscString[1-1] = LST_KLINEI; AttributeSet( &AscString[2-1], &AttString[2-1], PWRD_Box, LST_NOT ); AscString[5-1] = LST_KLINEI; AttributeSet( &AscString[9-1], &AttString[9-1],PWRD_BoxName, LST_NOT ); AscString[22-1] = LST_KLINEI; AttributeSet( &AscString[26-1], &AttString[26-1],PWRD_SubAddress, LST_NOT ); AscString[43-1] = LST_KLINEI; AttributeSet( &AscString[45-1], &AttString[45-1],PWRD_CommPasscode, LST_NOT ); AscString[64-1] = LST_KLINEI; AttributeSet( &AscString[66-1], &AttString[66-1],PWRD_Kind, LST_NOT ); AscString[72-1] = LST_KLINEI; AttributeSet( &AscString[73-1], &AttString[73-1],PWRD_Note, LST_NOT ); AscString[80-1] = LST_KLINEI; break; case 2 : /* ├─┼────┼────┼────┼──┼──┤ */ AscString[1-1] = LST_KLINE4; CMN_MemorySet( &AscString[2-1], 78, LST_KLINE_); AscString[5-1] = LST_KLINE5; AscString[22-1] = LST_KLINE5; AscString[43-1] = LST_KLINE5; AscString[64-1] = LST_KLINE5; AscString[72-1] = LST_KLINE5; AscString[80-1] = LST_KLINE6; break; case 3 : /* │ │ │ │ │ │ │ */ AscString[1-1] = LST_KLINEI; AscString[5-1] = LST_KLINEI; AscString[22-1] = LST_KLINEI; AscString[43-1] = LST_KLINEI; AscString[64-1] = LST_KLINEI; AscString[72-1] = LST_KLINEI; AscString[80-1] = LST_KLINEI; break; case 4: /* └─┴────┴────┴────┴──┴──┘ */ AscString[1-1] = LST_KLINE1; CMN_MemorySet( &AscString[2-1], 79, LST_KLINE_); AscString[5-1] = LST_KLINE2; AscString[22-1] = LST_KLINE2; AscString[43-1] = LST_KLINE2; AscString[64-1] = LST_KLINE2; AscString[72-1] = LST_KLINE2; AscString[80-1] = LST_KLINE3; break; #if (PRO_FCODE_RELAY == ENABLE) /* 1998/09/16 Add By M.Kuwahara */ case 5: /* | | ├────┴────┴──┴──┤ */ AscString[1-1] = LST_KLINEI; AscString[5-1] = LST_KLINEI; AscString[22-1] = LST_KLINE4; CMN_MemorySet( &AscString[23-1], 57, LST_KLINE_); AscString[43-1] = LST_KLINE2; AscString[64-1] = LST_KLINE2; AscString[72-1] = LST_KLINE2; AscString[80-1] = LST_KLINE6; break; case 6 : /* │ │ │ │ */ AscString[1-1] = LST_KLINEI; AscString[5-1] = LST_KLINEI; AscString[22-1] = LST_KLINEI; AscString[80-1] = LST_KLINEI; break; case 7 : /* ├─┼────┼────┬────┬──┬──┤ */ AscString[1-1] = LST_KLINE4; CMN_MemorySet( &AscString[2-1], 78, LST_KLINE_); AscString[5-1] = LST_KLINE5; AscString[22-1] = LST_KLINE5; AscString[43-1] = LST_KLINE8; AscString[64-1] = LST_KLINE8; AscString[72-1] = LST_KLINE8; AscString[80-1] = LST_KLINE6; break; case 8: /* └─┴────┴───────────────┘ */ AscString[1-1] = LST_KLINE1; CMN_MemorySet( &AscString[2-1], 79, LST_KLINE_); AscString[5-1] = LST_KLINE2; AscString[22-1] = LST_KLINE2; AscString[80-1] = LST_KLINE3; break; case 9 : /* ┌─┬────┬───────────────┐ サブアドレスBOXリスト */ AscString[1-1] = LST_KLINE7; CMN_MemorySet( &AscString[2-1], 79, LST_KLINE_); AscString[5-1] = LST_KLINE8; AscString[22-1] = LST_KLINE8; AscString[80-1] = LST_KLINE9; break; #endif } }
/************************************************************************* module :[サブアドレスBOXリスト印刷] function :[サブアドレスBOXリストを印刷する] common :[ List : SYB_SubAddressBoxTable : ] condition :[] commment :[] return :[印刷結果] machine :[SH7043] language :[SHC] keyword :[LST] date :[97/04/15] author :[桑原美紀] *************************************************************************/ WORD Print_F_CodeBox_List( void ) /*なし*/ { UBYTE i; /*loop*/ UBYTE page; /*ページ*/ UBYTE box_cnt; /*データ番号*/ UBYTE line_cnt; /*行数*/ register WORD ret; /*実行結果*/ #if (PRO_FCODE_RELAY == ENABLE) /* 1998/09/16 Add By M.Kuwahara */ UBYTE j; UBYTE item; UBYTE box_cnt_for_separator; /* 罫線を書くときに参照するBOX番号 by H.Kubo 1999/01/12 */ j = 0; item = 0; #endif for ( i = 0; i < SUB_ADDRESS_BOX_MAX; i++ ) { /* データ存在チェック */ if( SYB_SubAddressBoxTable[i].Status != SUB_ADDRESS_BOX_EMPTY ){ break; } } if( i >= SUB_ADDRESS_BOX_MAX ){ return( MSG_PRN_LST_NO_LIST ); } page = 1; box_cnt = 0; #if (PRO_FCODE_RELAY == ENABLE) box_cnt_for_separator = 0; /* added by H.Kubo 1999/01/12 */ #endif #if (1) /* 初期化忘れ対応 by Y.kano 2005/03/01 */ DialCheckBitPointer = 0; /** ビットポインタを初期化 */ #endif while ( box_cnt != SUB_ADDRESS_BOX_MAX ) { if ( (ret = CharacterPrint( LST_OPEN )) != OK ) { return ( ret ); } if ( page == 1 ) { /* line_cnt = (UBYTE)(PaperSizeLen() - 11);/*印刷可能行数セット*/ line_cnt = (UBYTE)(PaperSizeLen() - 13);/*印刷可能行数セット*/ /*97/10/22 By M.Kuwahara */ } else { /* line_cnt = (UBYTE)(PaperSizeLen() - 4);/*印刷可能行数セット*/ /*97/10/22 By M.Kuwahara */ line_cnt = (UBYTE)(PaperSizeLen() - 5);/*印刷可能行数セット*/ } #if (PRO_FCODE_RELAY == ENABLE) /* 1998/09/16 Add By M.Kuwahara */ if ( (ret = Print_Box_List_Head( 0, page, box_cnt ) ) != OK ) {/*ヘッダ印刷*/ return ( ret ); } i = 0; for ( ;; ) { if (line_cnt < 2) { break; } if (item == 0) { /* ボックス名、サブアドレス等の出力 */ F_CodeDataNextSearch( 1, &box_cnt ); /*次データサーチ*/ box_cnt_for_separator = box_cnt; /* added by H.Kubo 1999/01/12 */ if ( box_cnt == SUB_ADDRESS_BOX_MAX ) { break; } if ( (ret = Print_Box_List_Specifi( page ,i, box_cnt) ) != OK ) { /*1明細印刷*/ return ( ret ); } line_cnt -= 2; } if (SYB_SubAddressBoxTable[box_cnt].Status == SUB_ADDRESS_RELAY_BOX) { /* 中継の時 */ if (item == 0) { item = 1; j = 0; DialCheckPointer = SYS_ONETOUCH_DIAL; DialCheckBitPointer = 0; } if (line_cnt < 2) { /* 1行もかけない時 */ break; } if ( (ret = Print_BoxExecData_Specifi( &j, &line_cnt, &item, box_cnt) ) != OK ) { /*1明細印刷*/ return ( ret ); } if (line_cnt <= 0) { break; } } i++; box_cnt++; if (line_cnt < 2) { /* ページの最後の罫線が次のBOXの下用の罫線になるバグ対策 by H.Kubo 1999/01/12 */ break; } } #if 0 /* ページの最後の罫線が次のBOXの下用の罫線になるバグ対策 by H.Kubo 1999/1/12 */ @@ if ( (ret = Print_Box_List_Head( 1, page, box_cnt) ) != OK ) { /*フッタ印刷*/ @@ return ( ret ); @@ } #else if ( (ret = Print_Box_List_Head( 1, page, box_cnt_for_separator) ) != OK ) { /*フッタ印刷*/ return ( ret ); } #endif #else if ( (ret = Print_Box_List_Head( 0, page ) ) != OK ) {/*ヘッダ印刷*/ return ( ret ); } for ( i = 0; line_cnt >= 2; i++, line_cnt -= 2 ) { F_CodeDataNextSearch( 1, &box_cnt ); /*次データサーチ*/ if ( box_cnt == SUB_ADDRESS_BOX_MAX ) { break; } if ( (ret = Print_Box_List_Specifi( page ,i, box_cnt) ) != OK ) { /*1明細印刷*/ return ( ret ); } box_cnt++; } if ( (ret = Print_Box_List_Head( 1, page) ) != OK ) { /*フッタ印刷*/ return ( ret ); } #endif if ( box_cnt == SUB_ADDRESS_BOX_MAX ) { /* 全ての印字終了時 */ line_cnt--; if( line_cnt < 1 ){ /* ページ替え有りの時 */ if ( (ret = CharacterPrint( LST_CLOSE )) != OK ) { return ( ret ); } if ( (ret = CharacterPrint( LST_OPEN )) != OK ) { return ( ret ); } } #if (0) // /* "オプション 1:ジュシンキンシ 2:ウワガキ 3:ドウジプリント 4:ソウシンジゲンコウショウキョ" */ // Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); // AttributeSet( &List.S.Print[18-1], &List.S.Attribute[18-1], PWRD_BoxOption, LST_NOT ); // List.S.Print[25-1] = '1'; // List.S.Print[26-1] = ':'; // AttributeSet( &List.S.Print[27-1], &List.S.Attribute[27-1], PWRD_RecvProtect, LST_NOT ); // List.S.Print[38-1] = '2'; // List.S.Print[39-1] = ':'; // AttributeSet( &List.S.Print[40-1], &List.S.Attribute[40-1], PWRD_RxPrint, LST_NOT ); // List.S.Print[51-1] = '3'; // List.S.Print[52-1] = ':'; // AttributeSet( &List.S.Print[53-1], &List.S.Attribute[53-1], PWRD_Replace, LST_NOT ); // List.S.Print[61-1] = '4'; // List.S.Print[62-1] = ':'; // AttributeSet( &List.S.Print[63-1], &List.S.Attribute[63-1], PWRD_TransErase, LST_NOT ); // if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { // return ( ret ); // } #endif } else{ F_CodeDataNextSearch( 1, &box_cnt ); /*次データサーチ*/ } if ( box_cnt == SUB_ADDRESS_BOX_MAX ) { /* 全ての印字終了時 */ /* "オプション 1:ジュシンキンシ 2:ウワガキ 3:ドウジプリント 4:ソウシンジゲンコウショウキョ" */ Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); AttributeSet( &List.S.Print[18-1], &List.S.Attribute[18-1], PWRD_Note, LST_NOT ); List.S.Print[25-1] = '1'; List.S.Print[26-1] = ':'; AttributeSet( &List.S.Print[27-1], &List.S.Attribute[27-1], PWRD_RecvProtect, LST_NOT ); List.S.Print[38-1] = '2'; List.S.Print[39-1] = ':'; AttributeSet( &List.S.Print[40-1], &List.S.Attribute[40-1], PWRD_RxPrint, LST_NOT ); List.S.Print[51-1] = '3'; List.S.Print[52-1] = ':'; AttributeSet( &List.S.Print[53-1], &List.S.Attribute[53-1], PWRD_Replace, LST_NOT ); List.S.Print[61-1] = '4'; List.S.Print[62-1] = ':'; AttributeSet( &List.S.Print[63-1], &List.S.Attribute[63-1], PWRD_TransErase, LST_NOT ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } #if (PRO_PRINT_TYPE == THERMAL_TRANS) || (PRO_PRINT_TYPE == THERMAL) /* 1998/10/09 By M.Kuwahara */ /*1行印字(改行)*/ if ( (ret = CharacterPrint( LST_LINE_FEED )) != OK ) { return ( ret ); } #endif if ( (ret = CharacterPrint( LST_CLOSE )) != OK ) { return ( ret ); } page++; } return ( OK ); }
/************************************************************************* module :[サブアドレスBOXリストの1明細印刷] functiom :[サブアドレスBOXリストの1明細を印刷する。] common :[ ] condition :[ ] commment :[] return :[印刷結果] machine :[SH7043] language :[SHC] keyword :[LST] date :[97/04/17] author :[桑原美紀] *************************************************************************/ WORD Print_Box_List_Specifi( UBYTE Page, /*ページ*/ UBYTE Line, /*現在明細数*/ UBYTE BoxCnt ) /*BOX番号*/ { register WORD ret; /*実行結果*/ #if (PRO_FCODE_RELAY == ENABLE) /* 1998/09/16 Add By M.Kuwahara */ UBYTE i; #endif if ( Page > 1 && Line == 0 ) { /* ┌──┬────┬──────┬────────┬──┬───┐*/ Print_F_CodeBox_List_Line( 0, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } else { #if (PRO_FCODE_RELAY == ENABLE) /* 1998/09/16 Add By M.Kuwahara */ /* ├─┼────┼────┼────┼──┼──┤ */ Print_F_CodeBox_List_Line( 2, List.S.Print, List.S.Attribute ); if (BoxCnt != 0) { #if (0) /* SYB_SubAddressBoxTable[0]が検索されない。By H.Fujimura 1999/01/05 */ ** for (i = BoxCnt - 1; i > 0; i--) { /* 前明細がF中継か検索 */ #else for (i = BoxCnt - 1; i >= 0; i--) { /* 前明細がF中継か検索 */ #endif if((SYB_SubAddressBoxTable[i].Status == SUB_ADDRESS_BULLETIN_BOX) || /* F親展又はF掲示板の時 */ (SYB_SubAddressBoxTable[i].Status == SUB_ADDRESS_SECURE_BOX)) { break; } if(SYB_SubAddressBoxTable[i].Status == SUB_ADDRESS_RELAY_BOX) { /* F中継の時 */ /* ├─┼────┼────┬────┬──┬──┤ */ Print_F_CodeBox_List_Line( 7, List.S.Print, List.S.Attribute ); break; } } } #else /* ├─┼────┼────┼────┼──┼──┤ */ Print_F_CodeBox_List_Line( 2, List.S.Print, List.S.Attribute ); #endif if (( ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } /* │99│xxxxxxx│xxxxxxxxxxxxxxx│xxxxxxx│xxxxxxx│xxxxxxx│ */ Print_F_CodeBox_List_Line( 3, List.S.Print, List.S.Attribute ); /* Box */ CMN_UnsignedIntToASC( &List.S.Print[2-1], (UWORD)(BoxCnt + 1), 2, ' ' ); /* ボックス名 */ CMN_StringCopy( &List.S.Print[6-1], SYB_SubAddressBoxTable[BoxCnt].BoxName ); /* SUBアドレス番号 */ CMN_StringCopy( &List.S.Print[23-1], SYB_SubAddressBoxTable[BoxCnt].SubAddress ); /* 通信パスワード番号 */ CMN_StringCopy( &List.S.Print[44-1], SYB_SubAddressBoxTable[BoxCnt].PassWord ); /* 種類 */ switch( SYB_SubAddressBoxTable[BoxCnt].Status ){ case SUB_ADDRESS_BULLETIN_BOX: /* 掲示板 */ CMN_StringCopy( &List.S.Print[65-1], PWRD_NoticeBoard ); break; case SUB_ADDRESS_SECURE_BOX: /* 親展 */ CMN_StringCopy( &List.S.Print[65-1], PWRD_Secure ); break; case SUB_ADDRESS_RELAY_BOX: /* 中継 */ CMN_StringCopy( &List.S.Print[65-1], PWRD_Relay ); break; default: break; } /* オプション */ if( SYB_SubAddressBoxTable[BoxCnt].Status == SUB_ADDRESS_BULLETIN_BOX ){ /* 掲示板の時 */ OptionToShortString( SYB_SubAddressBoxTable[BoxCnt].Option, &List.S.Print[73-1] ); } if( SYB_SubAddressBoxTable[BoxCnt].Status == SUB_ADDRESS_SECURE_BOX ){ /* 親展の時 */ if( SYB_SubAddressBoxTable[BoxCnt].HoldTime != 0 ){ /* 保持時間が0の時表示無し */ CMN_UnsignedIntToASC( &List.S.Print[73-1], (UWORD)(SYB_SubAddressBoxTable[BoxCnt].HoldTime), 2, ' ' ); AttributeSet( &List.S.Print[76-1], &List.S.Attribute[76-1], PWRD_Days, LST_NOT ); } } if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } return( OK ); }
/************************************************************************* module :[シンガポール市場調査レポートプリント] function :[ 1. ] return :[] common :[] condition :[] comment :[] machine :[SH7043] language :[SHC] keyword :[LST] ProtoType :[int Print_Sgp_Report_list(void){}] date :[1998/07/24] author :[王 慎] 0 1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 No. Location Maker Modem Code Size STime Mode Ecm Result -------------------------------------------------------------------------------- 00001 111-1111 Muratec V17 JBIG A3 0 H E 00002 111-1112 D.0.7 00003 111-1113 Matsushita V17 JBIG A3 40 S E 00004 111-1114 45 V17 MMR A3 40 S E *************************************************************************/ WORD Print_Sgp_Report_list( void ) /*なし*/ { UWORD i; /* loop */ UBYTE line_cnt; /* 残り印刷可能行数 */ UBYTE line_cnt_bkup; /* 残り印刷可能行数の初期値 */ WORD ret; /* 実行結果 */ if ( (ret = Memory_Dump_Head( 0 ) ) != OK ) { return ( ret ); } line_cnt_bkup = (UBYTE)(PaperSizeLen()); /* 残り印刷可能行数の初期値 */ line_cnt = (UBYTE)(line_cnt_bkup - 4 ); /** ヘッド印字 */ Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); CMN_StringCopy( List.S.Print, SgpReportHead ); if ( (ret = Memory_Dump_1Line( &line_cnt )) != OK ) { /* 1行印字 */ return ( ret ); } /** 横罫線印字 */ CMN_MemorySet( (UBYTE *)&List.S.Print[1-1], 80, LST_KLINE_ ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } for ( i = 0; i < SYS_SGP_REPORT_MAX; i++ ) { Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); /** 通番 */ CMN_UnsignedIntToASC( &List.S.Print[1-1], SYB_PerformanceFile[i].Number, 5, '0' ); /* ダイアル番号 */ CMN_StringCopy( &List.S.Print[7-1], SYB_PerformanceFile[i].RemoteID ); /* メーカーコード */ switch (SYB_PerformanceFile[i].Maker ) { case 0xA2: /* 村田機械 Muratec */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[0] ); break; case 0x6A: /* ブラザー工業 Brother */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[1] ); break; case 0x81: /* Canon 1 Cannon1 */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[2] ); break; case 0x83: /* Canon 2 Cannon2 */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[3] ); break; case 0x84: /* 沖電気 Oki */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[4] ); break; case 0x88: /* キャノン Cannon3 */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[5] ); break; case 0x8A: /* 三洋電機 Sanyo */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[6] ); break; case 0x8C: /* シャープ Sharp */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[7] ); break; case 0x92: /* 日本電気(NEC) NEC */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[8] ); break; case 0x98: /* 富士ゼロックス Xerox */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[9] ); break; case 0x9C: /* 松下電気 Pana */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[10] ); break; case 0x9E: /* 松下電送 Densou */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[11] ); break; case 0xA0: /* 三菱電気 Mitsubishi */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[12] ); break; case 0xA4: /* リコー Ricoh */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[13] ); break; case 0xAE: /* 東京電気(TEC) TEC */ CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], (UBYTE *)SgpReportMaker[14] ); break; default: CMN_StringCopy( (UBYTE *)&List.S.Print[28-1], &SYB_PerformanceFile[i].Maker ); break; } /* モデム能力 */ switch (SYB_PerformanceFile[i].Baudrate ) { case (PER_MODEM_BAUDRATE_V17): AttributeSet( &List.S.Print[42], &List.S.Attribute[42], PWRD_V17, LST_NOT ); break; case (PER_MODEM_BAUDRATE_V33): AttributeSet( &List.S.Print[42], &List.S.Attribute[42], PWRD_V33, LST_NOT ); break; case (PER_MODEM_BAUDRATE_V29): AttributeSet( &List.S.Print[42], &List.S.Attribute[42], PWRD_V29, LST_NOT ); break; case (PER_MODEM_BAUDRATE_V27): AttributeSet( &List.S.Print[42], &List.S.Attribute[42], PWRD_V27, LST_NOT ); break; } /* 符号化方式 */ switch (SYB_PerformanceFile[i].Code ) { case (PER_CODE_JBIG): AttributeSet( &List.S.Print[48], &List.S.Attribute[48], PWRD_JBG, LST_NOT ); break; case (PER_CODE_MMR): AttributeSet( &List.S.Print[48], &List.S.Attribute[48], PWRD_MMR, LST_NOT ); break; case (PER_CODE_MR): AttributeSet( &List.S.Print[48], &List.S.Attribute[48], PWRD_MR, LST_NOT ); break; case (PER_CODE_MH): AttributeSet( &List.S.Print[48], &List.S.Attribute[48], PWRD_MH, LST_NOT ); break; } /* 記録幅 */ switch (SYB_PerformanceFile[i].Size ) { case (PER_SIZE_A4): AttributeSet( &List.S.Print[53], &List.S.Attribute[53], PWRD_A4, LST_NOT ); break; case (PER_SIZE_B4): AttributeSet( &List.S.Print[53], &List.S.Attribute[53], PWRD_B4, LST_NOT ); break; case (PER_SIZE_A3): AttributeSet( &List.S.Print[53], &List.S.Attribute[53], PWRD_A3, LST_NOT ); break; } /* 受信最小電送時間 */ switch (SYB_PerformanceFile[i].ScanningTime ) { case (PER_SCAN_TIME0): AttributeSet( &List.S.Print[58], &List.S.Attribute[58], PWRD_Wait0, LST_NOT ); break; case (PER_SCAN_TIME10): AttributeSet( &List.S.Print[58], &List.S.Attribute[58], PWRD_Wait10, LST_NOT ); break; case (PER_SCAN_TIME20): AttributeSet( &List.S.Print[58], &List.S.Attribute[58], PWRD_Wait20, LST_NOT ); break; case (PER_SCAN_TIME40): AttributeSet( &List.S.Print[58], &List.S.Attribute[58], PWRD_Wait40, LST_NOT ); break; case (PER_SCAN_TIME5): AttributeSet( &List.S.Print[58], &List.S.Attribute[58], PWRD_Wait5, LST_NOT ); break; } /* 受信線密度 */ switch (SYB_PerformanceFile[i].Mode ) { case (PER_MODE_NORMAL): AttributeSet( &List.S.Print[64], &List.S.Attribute[54], PWRD_ModeNR, LST_NOT ); break; case (PER_MODE_FINE): AttributeSet( &List.S.Print[64], &List.S.Attribute[54], PWRD_ModeFN, LST_NOT ); break; case (PER_MODE_S_FINE): AttributeSet( &List.S.Print[64], &List.S.Attribute[54], PWRD_ModeSF, LST_NOT ); break; case (PER_MODE_O_FINE): List.S.Print[64-1] = 'O'; break; case (PER_MODE_H_FINE): AttributeSet(&List.S.Print[64], &List.S.Attribute[54], PWRD_ModeHF, LST_NOT ); break; } /* ECM機能 */ if (SYB_PerformanceFile[i].EcmMode == 1) { List.S.Print[69-1] = 'E'; } else { List.S.Print[69-1] = ' '; } /* 結果 */ if (SYB_PerformanceFile[i].Result == 0) { List.S.Print[73-1] = ' '; } else { CommunicationResultName(SYB_PerformanceFile[i].Result, LST_NAME_SHORT, LST_RESULT_COMMON, &List.S.Print[73-1], &List.S.Attribute[73-1]); } if ( (ret = Memory_Dump_1Line( &line_cnt )) != OK ) { /* 1行印字 */ return ( ret ); } if (line_cnt == line_cnt_bkup) { line_cnt -= 2; } } if ( (ret = Memory_Dump_Head( 1 ) ) != OK ) { return ( ret ); } return( OK ); }
/************************************************************************* module :[サブアドレス原稿受信通知印刷] function :[サブアドレス原稿受信通知を印刷する] common :[ List : SYB_SubAddressBoxTable : ] condition :[] commment :[] return :[印刷結果] machine :[SH7043] language :[SHC] keyword :[LST] date :[97/04/16] author :[桑原美紀] *************************************************************************/ WORD Print_F_CodeBoxRcv_Notice( UBYTE BoxNumber, /*Box*/ UBYTE FileNumber ) /*ファイル番号*/ { register WORD ret; /*実行結果*/ if ( (ret = CharacterPrint( LST_OPEN )) != OK ) { return ( ret ); } /*1改行+発信元名、番号印刷+2改行*/ if ( (ret = TTI_ID_Print_Feed()) != OK ) { return ( ret ); } /*�ョ�「�「�「�「�「�「�「�「�「�「�「�「�「�イ*/ Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); List.S.Print[22-1] = LST_KLINE7; CMN_MemorySet( &List.S.Print[23-1], 35, LST_KLINE_ ); List.S.Print[58-1] = LST_KLINE9; if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /* |Fコードジュシン ツウチ| */ Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); List.S.Print[22-1] = LST_KLINEI; #if ( PRO_PANEL == KANJI ) || ( PRO_JIS_CODE == ENABLE ) AttributeSet( &List.S.Print[23-1], &List.S.Attribute[23-1], PWRD_F_CodeBoxRsv_Notice_K, LST_NOT); #else AttributeSet( &List.S.Print[23-1], &List.S.Attribute[23-1], PWRD_F_CodeBoxRsv_Notice, LST_MES_TWI_XXX); #endif List.S.Print[58-1] = LST_KLINEI; if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /*�カ�「�「�「�「�「�「�「�「�「�「�「�「�コ*/ Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); List.S.Print[22-1] = LST_KLINE1; CMN_MemorySet( &List.S.Print[23-1], 35, LST_KLINE_ ); List.S.Print[58-1] = LST_KLINE3; if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /*1行印字(改行)*/ if ( (ret = CharacterPrint( LST_LINE_FEED )) != OK ) { return ( ret ); } /* 現在時間 */ if (( ret = CurrentTimePrint( 47 - 1 )) != OK ) { return ( ret ); } /* ┌─┬──────┬──────┬──┬──┐ */ Print_Del_F_Code_Notice_Line( 5, List.S.Print, List.S.Attribute ); if (( ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /* │Box│ボックス名│ 相手先名 │種類│原稿No.│ */ Print_Del_F_Code_Notice_Line( 6, List.S.Print, List.S.Attribute ); if (( ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /* ├─┼──────┼──────┼──┼──┤ */ Print_Del_F_Code_Notice_Line( 7, List.S.Print, List.S.Attribute ); if (( ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /* │99│xxxxxxx│xxxxxxxxxxxxxxx│xxxxxx│xxxxxx│ */ Print_Del_F_Code_Notice_Line( 8, List.S.Print, List.S.Attribute ); /* Box */ CMN_UnsignedIntToASC( &List.S.Print[8-1], (UWORD)BoxNumber, 2, ' ' ); /* ボックス名 */ CMN_StringCopy( &List.S.Print[12-1], SYB_SubAddressBoxTable[BoxNumber-1].BoxName ); /* 相手先名 */ CMN_StringCopy( &List.S.Print[29-1], SYB_SubAddressBoxTable[BoxNumber-1].RemoteName ); /* 種類 */ switch( SYB_SubAddressBoxTable[BoxNumber-1].Status ) { case SUB_ADDRESS_BULLETIN_BOX: /* 掲示板 */ CMN_StringCopy( &List.S.Print[51-1], PWRD_NoticeBoard ); break; case SUB_ADDRESS_SECURE_BOX: /* 親展 */ CMN_StringCopy( &List.S.Print[51-1], PWRD_Secure ); break; case SUB_ADDRESS_RELAY_BOX: /* 中継 */ CMN_StringCopy( &List.S.Print[52-1], PWRD_Relay ); break; default: break; } /* 原稿No. */ CMN_UnsignedIntToASC( &List.S.Print[62-1], (UWORD)FileNumber, 2, ' ' ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /* └─┴─────┴──────┴──┴──┘ */ Print_Del_F_Code_Notice_Line( 9, List.S.Print, List.S.Attribute ); if (( ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /* "Fコードボックスゲンコウ ヲ ジュシン シマシタ" */ Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); AttributeSet( &List.S.Print[7-1], &List.S.Attribute[7-1], PWRD_F_CodeReci, LST_NOT ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } if( SYB_SubAddressBoxTable[BoxNumber-1].ErasedTime != 0xFFFFFFFF ) { /* "(ジュシン ゲンコウ キオクキカン)" */ Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); AttributeSet( &List.S.Print[7-1], &List.S.Attribute[7-1], PWRD_F_ReciDocMemory, LST_NOT ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /*消去時間*/ Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); TimeDataAscii( OFF, SYB_SubAddressBoxTable[BoxNumber-1].ErasedTime, List.S.Work, 0 ); CMN_StringCopy( &List.S.Print[7-1], List.S.Work ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } /*1行印字(改行)*/ if ( (ret = CharacterPrint( LST_LINE_FEED )) != OK ) { return ( ret ); } if ( (ret = CharacterPrint( LST_CLOSE )) != OK ) { return ( ret ); } /* 出力状態をクリア */ /* プリント終了後にメインでクリアする 1997/04/24 By T.Yamaguchi */ /* SYB_SubAddressBoxTable[BoxNumber].MessageStatus = SYS_SUB_ADDRESS_BOX_MSG_EMPTY; */ return ( OK ); }
//BOPI // !IROUTINE: AttributeUpdateBufRecv - unpack the serialized Attribute updates // // !INTERFACE: int Attribute::AttributeUpdateBufRecv( // // !RETURN VALUE: // {\tt ESMF\_SUCCESS} or error code on failure. // // !ARGUMENTS: char *recvBuf, // buffer with packed updates int localPet, // localPet for printing int *offset, // current position in the buffer const int &length) { // length of buffer // // !DESCRIPTION: // Serialize the updates to an {\tt Attribute} hierarchy. // Expected to be called internally. // //EOPI int localrc, nbytes, loffset; Attribute *attr; unsigned int i; char *thiskey, *distkey; // Initialize local return code; assume routine not implemented localrc = ESMC_RC_NOT_IMPL; thiskey = NULL; distkey = NULL; thiskey = new char[keySize]; if (!thiskey) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_BAD, "Failed allocating key", &localrc); return localrc; } distkey = new char[keySize]; if (!distkey) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_BAD, "Failed allocating key", &localrc); delete [] thiskey; return localrc; } // make key localrc = AttributeUpdateKeyCreate(thiskey); if (localrc != ESMF_SUCCESS) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_VALUE, "AttributeUpdateMakeKey failed", &localrc); delete [] thiskey; return ESMF_FAILURE; } // unpack next key memcpy(distkey, recvBuf+(*offset), keySize); // compare keys if (AttributeUpdateKeyCompare(thiskey, distkey) == false) { /* printf("DeleteMe!!!\n"); if (localPet == 4) { printf("%d %s %s %s %d - %d %s %s %s %d\n", (*(reinterpret_cast<int*> (thiskey+0))), thiskey+4, (*(reinterpret_cast<bool*> (thiskey+5))) ? "true" : "false", (*(reinterpret_cast<bool*> (thiskey+6))) ? "true" : "false", (*(reinterpret_cast<int*> (thiskey+7))), (*(reinterpret_cast<int*> (distkey+0))), distkey+4, (*(reinterpret_cast<bool*> (distkey+5))) ? "true" : "false", (*(reinterpret_cast<bool*> (distkey+6))) ? "true" : "false", (*(reinterpret_cast<int*> (distkey+7)))); } */ if (attrPackHead == ESMF_TRUE) { delete [] thiskey; delete [] distkey; return ESMC_ATTUPDATERM_ATTPACK; } else if (attrPack == ESMF_TRUE) { delete [] thiskey; delete [] distkey; return ESMC_ATTUPDATERM_ATTPACKATT; } else { delete [] thiskey; delete [] distkey; return ESMC_ATTUPDATERM_ATTRIBUTE; } } // get key info bool valueChange = (*(reinterpret_cast<bool*> (distkey+sizeof(int)+1))); bool strctChange = (*(reinterpret_cast<bool*> (distkey+sizeof(int)+1+sizeof(bool)))); int attrChange = (*(reinterpret_cast<int*> (distkey+sizeof(int)+1+(2*sizeof(bool))))); int packChange = (*(reinterpret_cast<int*> (distkey+sizeof(int)+1+(2*sizeof(bool))+sizeof(int)))); // now update offset *offset += keySize; // make sure offset is aligned correctly nbytes=(*offset)%8; if (nbytes!=0) *offset += 8-nbytes; // check if buffer has been overwritten if (length < *offset){ ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_BAD, "Overread the buffer", &localrc); delete [] thiskey; delete [] distkey; return localrc; } // if value change, unpack into temp and set if (valueChange) { for (i=0; i<attrChange; ++i) { attr = NULL; attr = new Attribute(ESMF_FALSE); if (!attr) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_BAD, "Failed allocating Attribute", &localrc); delete [] thiskey; delete [] distkey; return localrc; } attr->setBase(attrBase); attr->parent = this; attr->ESMC_Deserialize(recvBuf,offset); localrc = AttributeCopy(*attr); // can delete this one and not call reset because this is a value copy delete attr; } } // if struct change, traverse and build if (strctChange) { for (i=0; i<attrChange; ++i) { attr = NULL; attr = new Attribute(ESMF_FALSE); if (!attr) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_BAD, "Failed allocating Attribute", &localrc); delete [] thiskey; delete [] distkey; return localrc; } attr->setBase(attrBase); attr->parent = this; attr->ESMC_Deserialize(recvBuf,offset); localrc = AttributeSet(attr); } for (i=0; i<packChange; ++i) { attr = NULL; attr = new Attribute("42","42","42","42"); if (!attr) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_BAD, "Failed allocating Attribute", &localrc); delete [] thiskey; delete [] distkey; return localrc; } attr->setBase(attrBase); attr->parent = this; attr->ESMC_Deserialize(recvBuf,offset); localrc = AttPackSet(attr); } if (localrc != ESMF_SUCCESS) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_VALUE, "AttributeUpdateBufRecv failed adding attribute", &localrc); delete [] thiskey; delete [] distkey; return ESMF_FAILURE; } localrc = attr->AttributeUpdateReset(); if (localrc != ESMF_SUCCESS) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_VALUE, "AttributeUpdateBufRecv failed resetting", &localrc); delete [] thiskey; delete [] distkey; return ESMF_FAILURE; } } // make sure offset is aligned correctly nbytes=(*offset)%8; if (nbytes!=0) *offset += 8-nbytes; // check if buffer has been overwritten if (length < *offset){ ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_BAD, "Overread the buffer", &localrc); delete [] thiskey; delete [] distkey; return localrc; } // recurse through the Attribute hierarchy for (i=0; i<attrChange; ++i) { localrc = attrList.at(i)->AttributeUpdateBufRecv(recvBuf,localPet,offset,length); if (localrc == ESMC_ATTUPDATERM_ATTRIBUTE) localrc = AttributeRemove(attrList.at(i)->attrName); if (localrc != ESMF_SUCCESS) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_VALUE, "AttributeUpdateBufRecv failed removing attr", &localrc); delete [] thiskey; delete [] distkey; return ESMF_FAILURE; } } for (i=0; i<packChange; ++i) { localrc = packList.at(i)->AttributeUpdateBufRecv(recvBuf,localPet,offset,length); if (localrc == ESMC_ATTUPDATERM_ATTPACKATT) localrc = AttPackRemoveAttribute(packList.at(i)->attrName, packList.at(i)->attrConvention, packList.at(i)->attrPurpose, packList.at(i)->attrObject, NULL); else if (localrc == ESMC_ATTUPDATERM_ATTPACK) { localrc = AttPackRemove(packList.at(i)->attrConvention, packList.at(i)->attrPurpose, packList.at(i)->attrObject, NULL); if (localrc != ESMF_SUCCESS) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_VALUE, "AttributeUpdateBufRecv failed removing attr", &localrc); delete [] thiskey; delete [] distkey; return ESMF_FAILURE; } } else if (localrc != ESMF_SUCCESS) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_VALUE, "AttributeUpdateBufRecv failed in recursion", &localrc); delete [] thiskey; delete [] distkey; return ESMF_FAILURE; } } for (i=0; i<linkList.size(); ++i) { localrc = linkList.at(i)->AttributeUpdateBufRecv(recvBuf,localPet,offset,length); if (localrc != ESMF_SUCCESS) { ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_VALUE, "AttributeUpdate not enabled for object hierarchy changes", &localrc); delete [] thiskey; delete [] distkey; return ESMF_FAILURE; } } // check if buffer has been overwritten if (length < *offset){ ESMC_LogDefault.ESMC_LogMsgFoundError(ESMC_RC_ARG_BAD, "Overread the buffer", &localrc); delete [] thiskey; delete [] distkey; return localrc; } delete [] thiskey; delete [] distkey; return ESMF_SUCCESS; } // end AttributeUpdateBufRecv
/************************************************************************* module :[ツウシンヨヤク横区切り罫線作成] functiom :[ ツウシンヨヤクの横区切り罫線を作成する。 ] common :[] condition :[ 罫線種類 , 0 = �ョ�「�「�ホ�「�「�「�「�「�「�ホ�「�「�「�「�ホ�「�「�「�ホ�「�「�イ , 1 = �、NO. �、 �、 �、 �、 �、 , 2 = �セ�「�「�゙�「�「�「�「�「�「�゙�「�「�「�「�゙�「�「�「�゙�「�「�ニ , 3 = �、 �、 �、 �、 �、 �、 , 4 = �カ�「�「�ヨ�「�「�「�「�「�「�ヨ�「�「�「�「�ヨ�「�「�「�ヨ�「�「�コ ] commment :[ プログラムワンタッチの罫線が変更した為、作成 ] return :[印刷結果なし] machine :[SH7043] language :[SHC] keyword :[LST] date :[1996/12/28] author :[磯辺毅] *************************************************************************/ void Print_ReserveCmd_List_Line( UBYTE Category, /*罫線種類*/ register UBYTE *AscString, /*印刷文字列*/ register UBYTE *AttString ) /*修飾文字列*/ { Prn_Att_Str_Clear( AscString, AttString ); switch ( Category ) { case 0: /*�ョ�「�「�ホ�「�「�「�「�「�「�ホ�「�「�「�「�ホ�「�「�「�ホ�「�「�イ*/ AscString[1-1] = LST_KLINE7; CMN_MemorySet( &AscString[2-1], 78, LST_KLINE_ ); AscString[5-1] = LST_KLINE8; AscString[46-1] = LST_KLINE8; AscString[55-1] = LST_KLINE8; AscString[64-1] = LST_KLINE8; AscString[80-1] = LST_KLINE9; break; case 1: /*�、NO. �、ダイヤル番号 �、指定日時 �、応用機能�、備考�、*/ AscString[1-1] = LST_KLINEI; AttributeSet( &AscString[2-1], &AttString[2-1], PWRD_No, LST_NOT ); AscString[5-1] = LST_KLINEI; AttributeSet( &AscString[17-1], &AttString[17-1], PWRD_TeleNumber, LST_NOT ); /* 18 -> 17 97/03/11 M.Kuwahara */ AscString[46-1] = LST_KLINEI; AttributeSet( &AscString[47-1], &AttString[47-1], PWRD_DelyTime, LST_NOT ); AscString[55-1] = LST_KLINEI; #if ( PRO_PANEL == KANJI ) || ( PRO_JIS_CODE == ENABLE ) /* 追加 97/02/12 M.Kuwahara */ AttributeSet( &AscString[56-1], &AttString[56-1], PWRD_Option, LST_NOT ); #else AttributeSet( &AscString[56-1], &AttString[56-1], PWRD_Option, LST_NOT ); /* 57->56に変更 98/02/16 Y.Matsukuma */ #endif AscString[64-1] = LST_KLINEI; AttributeSet( &AscString[69-1], &AttString[69-1], PWRD_Note, LST_NOT ); AscString[80-1] = LST_KLINEI; break; case 2: /*�セ�「�「�゙�「�「�「�「�「�「�゙�「�「�「�「�゙�「�「�「�゙�「�「�ニ*/ AscString[1-1] = LST_KLINE4; CMN_MemorySet( &AscString[2-1], 78, LST_KLINE_ ); AscString[5-1] = LST_KLINE5; AscString[46-1] = LST_KLINE5; AscString[55-1] = LST_KLINE5; AscString[64-1] = LST_KLINE5; AscString[80-1] = LST_KLINE6; break; case 3: /*�、 �、 �、 �、 �、 �、*/ AscString[1-1] = LST_KLINEI; AscString[5-1] = LST_KLINEI; AscString[46-1] = LST_KLINEI; AscString[55-1] = LST_KLINEI; AscString[64-1] = LST_KLINEI; AscString[80-1] = LST_KLINEI; break; case 4: /*�カ�「�「�ヨ�「�「�「�「�「�「�ヨ�「�「�「�「�ヨ�「�「�「�ヨ�「�「�コ*/ AscString[1-1] = LST_KLINE1; CMN_MemorySet( &AscString[2-1], 78, LST_KLINE_ ); AscString[5-1] = LST_KLINE2; AscString[46-1] = LST_KLINE2; AscString[55-1] = LST_KLINE2; AscString[64-1] = LST_KLINE2; AscString[80-1] = LST_KLINE3; break; } }
/************************************************************************* module :[キーマクロコメントリスト] function :[キーマクロコメントリストを印刷する] common :[ List : SYB_KeyMacro ] condition :[] commment :[] return :[印刷結果] machine :[SH7043] language :[SHC] keyword :[LST] date :[98/05/19] author :[桑原美紀] *************************************************************************/ WORD Print_KeyMacro_List( void ) /*なし*/ { UBYTE i; /*loop*/ register WORD ret; /*実行結果*/ /*データなしチェック*/ for ( i = 0; i < SYS_KEYMACRO_MAX; i++ ) { if (( SYB_KeyMacro[i].Step[0] != 0xFF ) || ( SYB_KeyMacro[i].Title[0] != 0x00)) { break; } } if ( i == SYS_KEYMACRO_MAX ) { return ( MSG_PRN_LST_NO_LIST ); } if ( (ret = CharacterPrint( LST_OPEN )) != OK ) { return ( ret ); } /*1改行+発信元名、番号印刷+2改行+見出し+1改行*/ #if ( PRO_PANEL == KANJI ) || ( PRO_JIS_CODE == ENABLE ) if ( (ret = Print_Head1_Common( PWRD_KeyMacroList_K, LST_NOT, 23-1 )) != OK ) { return ( ret ); } #else if ( (ret = Print_Head1_Common( PWRD_KeyMacroList, LST_XXX_TWI_XXX, 18-1 )) != OK ) { return ( ret ); } #endif /*現在時間*/ if ( (ret = CurrentTimePrint( 42-1 )) != OK ) { return ( ret ); } /*�ョ�「�ホ�「�「�「�「�「�イ*/ Print_KeyMacroList_Line( 0, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /*�、 No.�、 タイトル �、*/ Print_KeyMacroList_Line( 1, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } for ( i = 0; i < SYS_KEYMACRO_MAX; i++ ) { if (( SYB_KeyMacro[i].Step[0] != 0xFF ) || /* ステップかコメントが登録されている時 */ ( SYB_KeyMacro[i].Title[0] != 0x00 )) { /*�セ�「�「�゙�「�「�「�ニ*/ Print_KeyMacroList_Line( 2, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /*�、 9 �、xxxxxx�、*/ Prn_Att_Str_Clear( List.S.Print, List.S.Attribute ); List.S.Print[19-1] = LST_KLINEI; #if (PRO_PANEL == ANK) List.S.Print[20-1] = '['; List.S.Print[23-1] = ']'; CMN_UnsignedIntToASC( &List.S.Print[21-1], (UWORD)i+26, 2, '0' ); #endif #if (PRO_PANEL == KANJI) List.S.Print[20-1] = LCD_PICFONT; List.S.Print[23-1] = LCD_PICFONT_LOWER; CMN_UnsignedIntToASC( &List.S.Print[21-1], (UWORD)i+26, 2, '0' ); #endif List.S.Print[24-1] = LST_KLINEI; if (SYB_KeyMacro[i].Title[0] == 0x00) { /* タイトル無しの時 */ AttributeSet( &List.S.Print[25-1], &List.S.Attribute[25-1], PWRD_NoTitle, LST_NOT ); } else{ CMN_StringCopy(&List.S.Print[25-1], SYB_KeyMacro[i].Title ); } List.S.Print[62-1] = LST_KLINEI; if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } } /*�カ�「�「�ヨ�「�「�「�「�コ*/ Print_KeyMacroList_Line( 3, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } /*1行印字(改行)*/ if ( (ret = CharacterPrint( LST_LINE_FEED )) != OK ) { return ( ret ); } if ( (ret = CharacterPrint( LST_CLOSE )) != OK ) { return ( ret ); } return ( OK ); }
/************************************************************************* module :[ダイヤルリスト(ワンタッチ)の1明細印刷] functiom :[ダイヤルリスト(ワンタッチ)の1明細を印刷する。] common :[ List : SYB_OnetouchDial : ] condition :[] commment :[] return :[印刷結果] machine :[SH7043] language :[SHC] keyword :[LST] date :[94/ 2/28] author :[豊田浩子] *************************************************************************/ #if (PRO_DIAL_LIST_GROUP == DISABLE) /* by K.Watanabe 1999/05/24 */ WORD Print_OnetouchDial_List_Specifi( UBYTE Page, /*ページ*/ UBYTE Line, /*現在明細数*/ UBYTE OnetouchCnt, /*ワンタッチダイヤル番号*/ UBYTE *LineCnt ) /*印字行位置*/ { register WORD ret; /*実行結果*/ #if defined(KEISATSU) /* 警察FAX属性追加 Added by SMuratec 夏 2005/07/21 */ UBYTE kei_buf[4]; UBYTE kei_pos; kei_pos = 0; #endif #if 0 /* プレフィックス+ダイヤル番号で40桁を超えても折り返して印字しないので、大島さん確認の上、リストでの展開は止めます by K.Watanabe 2004/11/12 */ //#if defined(STOCKHM2) || (PRO_PREFIX_KEY == ENABLE) /* DVT: Added by SMuratec K.W.Q 2004/09/10 *//* by K.Watanabe 2004/10/12 */ // UWORD length; #endif /* End of defined(STOCKHM2) */ if ( Page > 1 && Line == 0 ) { /*・・・・・・・・・・・・─・*/ Print_Dial_List_Line( 0, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } else { /*・・・・・・・・・・・・─・*/ Print_Dial_List_Line( 2, List.S.Print, List.S.Attribute ); if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } } /*・xXx・xxxxxx・xxxxxxxxx・xxxxxxxx│*/ Print_Dial_List_Line( 3, List.S.Print, List.S.Attribute ); /* No. */ /* List.S.Print[2-1] = '['; List.S.Print[4-1] = ']'; List.S.Print[3-1] = CMN_OffsetToOnetouchCode( OnetouchCnt ); */ #if (PRO_KEYPANEL == PANEL_ANZU_L) if ( CMN_OffsetToOnetouchCode( OnetouchCnt ) <= 0x7A ){ /* ワンタッチ記号が変更(ANZU) 96/01/10 H.HIRAO */ List.S.Print[2-1] = CMN_OffsetToOnetouchCode( OnetouchCnt ); } else{ List.S.Print[2-1] = 0x55; /* 'U'のASCIIコ-ド */ List.S.Print[3-1] = CMN_OffsetToOnetouchCode( OnetouchCnt ) & (UBYTE)0x0F | (UBYTE)0x30; /* U1〜U8記号をつくる*/ } #else /* PANEL_POPLA_B/L/H */ #if (PRO_PANEL == ANK) List.S.Print[5-1] = '['; List.S.Print[8-1] = ']'; CMN_UnsignedIntToASC( &List.S.Print[6-1], (UWORD)(CMN_OffsetToOnetouchCode( OnetouchCnt ) - 0x40), 2, '0' ); #endif #if (PRO_PANEL == KANJI) /* ワンタッチの表示を[]->絵文字に変更 By O.Kimoto 1998/01/22 */ List.S.Print[5-1] = LCD_PICFONT; List.S.Print[6-1] = LCD_PICFONT_LOWER; CMN_UnsignedIntToASC( &List.S.Print[7-1], (UWORD)(CMN_OffsetToOnetouchCode( OnetouchCnt ) - 0x40), 2, '0' ); #endif #endif /*相手先名*/ /* CMN_StringCopy( &List.S.Print[6-1], SYB_OnetouchDial[OnetouchCnt].DialData.Onetouch.Name ); */ #if (PRO_KEYPANEL == PANEL_ANZU_L) #if (PRO_MINOLTA_TEST_FUNC == DISABLE) /* 1998/07/23 Y.Matsukuma */ CMN_StringCopy( &List.S.Print[7-1], SYB_OnetouchDial[OnetouchCnt].Name ); /* 97/01/22 M.Kuwahara */ #endif #else /* PANEL_POPLA_B/L/H */ CMN_StringCopy( &List.S.Print[10-1], SYB_OnetouchDial[OnetouchCnt].Name ); /* 変更(ANZU) 95/12/14 H.HIRAO */ #endif #if defined(KEISATSU) /* 警察FAX属性追加 Added by SMuratec 夏 2005/07/21 */ /* SYB_OnetouchDial[OnetouchCnt].Keisatsu から、属性バッファを作成 */ if (SYB_OnetouchDial[OnetouchCnt].Keisatsu & SYS_KEISATSU_KEIDEN){ CMN_StringCopyNumNotNULL(&kei_buf[kei_pos], "ケ", 1); kei_pos++; } else if (SYB_OnetouchDial[OnetouchCnt].Keisatsu & SYS_KEISATSU_KANYU){ CMN_StringCopyNumNotNULL(&kei_buf[kei_pos], "カ", 1); kei_pos++; } if (SYB_OnetouchDial[OnetouchCnt].Keisatsu & SYS_KEISATSU_ISSEI){ CMN_StringCopyNumNotNULL(&kei_buf[kei_pos], "イ", 1); kei_pos++; } else if (SYB_OnetouchDial[OnetouchCnt].Keisatsu & SYS_KEISATSU_KOBETSU){ CMN_StringCopyNumNotNULL(&kei_buf[kei_pos], "コ", 1); kei_pos++; } if (SYB_OnetouchDial[OnetouchCnt].Keisatsu & SYS_KEISATSU_SCRAMBLE_ON){ CMN_StringCopyNumNotNULL(&kei_buf[kei_pos], "S", 1); kei_pos++; } else if (SYB_OnetouchDial[OnetouchCnt].Keisatsu & SYS_KEISATSU_SCRAMBLE_OFF){ CMN_StringCopyNumNotNULL(&kei_buf[kei_pos], "N", 1); kei_pos++; } if (SYB_OnetouchDial[OnetouchCnt].Keisatsu & SYS_KEISATSU_KYOTSU){ CMN_StringCopyNumNotNULL(&kei_buf[kei_pos], "キ", 1); kei_pos++; } else if (SYB_OnetouchDial[OnetouchCnt].Keisatsu & SYS_KEISATSU_SENYO){ CMN_StringCopyNumNotNULL(&kei_buf[kei_pos], "セ", 1); kei_pos++; } /* 属性がある、40桁番号の場合ご注意してください。*/ if(kei_pos > 0){ CMN_StringCopy( &List.S.Print[35-1], kei_buf ); /*ダイヤル番号*/ CMN_BCD_ToASC_String( List.S.Work, SYB_OnetouchDial[OnetouchCnt].Dial ); /* 変更(ANZU) 95/12/14 H.HIRAO */ CMN_StringCopy( &List.S.Print[35+kei_pos-1], List.S.Work ); } else{ CMN_BCD_ToASC_String( List.S.Work, SYB_OnetouchDial[OnetouchCnt].Dial ); /* 変更(ANZU) 95/12/14 H.HIRAO */ CMN_StringCopy( &List.S.Print[35-1], List.S.Work ); } #else /* CMN_BCD_ToASC_String( (UBYTE *)List.S.Work, SYB_OnetouchDial[OnetouchCnt].DialData.Onetouch.Dial ); */ CMN_BCD_ToASC_String( List.S.Work, SYB_OnetouchDial[OnetouchCnt].Dial ); /* 変更(ANZU) 95/12/14 H.HIRAO */ #endif #if (PRO_KEYPANEL == PANEL_ANZU_L) CMN_StringCopy( &List.S.Print[24-1], List.S.Work ); /*グループNo*/ /* GroupToShortString( SYB_OnetouchDial[OnetouchCnt].DialData.Onetouch.Group, List.S.Work ); */ GroupToShortString( SYB_OnetouchDial[OnetouchCnt].Group, List.S.Work ); /* 変更(ANZU) 95/12/14 H.HIRAO */ CMN_StringCopy( &List.S.Print[65-1], List.S.Work ); #else /* PANEL_POPLA_B/L/H */ #if 0 /* プレフィックス+ダイヤル番号で40桁を超えても折り返して印字しないので、大島さん確認の上、リストでの展開は止めます by K.Watanabe 2004/11/12 */ // #if defined(STOCKHM2) || (PRO_PREFIX_KEY == ENABLE) /* DVT: Added by SMuratec K.W.Q 2004/09/09 *//* by K.Watanabe 2004/10/12 */ // if (List.S.Work[0] == '!'){ // length = CMN_StringLength(SYB_MercuryDialBuffer); /* マキュリー登録桁 */ // // List.S.Print[34] = '['; // if (length > 38){ // CMN_StringCopyNumUntilNull( &List.S.Print[35], SYB_MercuryDialBuffer, 39); // } // else{ // List.S.Print[35 + length] = ']'; // // CMN_StringCopyNumUntilNull( &List.S.Print[35], SYB_MercuryDialBuffer, length); // CMN_StringCopyNumUntilNull( &List.S.Print[36 + length], &List.S.Work[1], // (38 - length) ); // } // } // else{ // CMN_StringCopy( &List.S.Print[35-1], List.S.Work ); // } #else #if !defined(KEISATSU) /* 警察FAX属性追加 Added by SMuratec 夏 2005/07/21 */ CMN_StringCopy( &List.S.Print[35-1], List.S.Work ); #endif #endif /* End of defined(STOCKHM2) || (PRO_PREFIX_KEY == ENABLE) */ #endif if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } *LineCnt -= 2; #if !defined (KEISATSU) /* 05/04/12 石橋正和 */ /* if ( SYB_OnetouchDial[OnetouchCnt].DialData.Onetouch.SubDialPosition != 0xFF ) { */ if (SYB_OnetouchDial[OnetouchCnt].SubDialPosition != 0xFF ) { /* 変更(ANZU) 95/12/14 H.HIRAO */ /*・ ・(転送先)・xxxxxxxxx・ ・ │*/ Print_Dial_List_Line( 3, List.S.Print, List.S.Attribute ); /*(転送先)*/ #if (PRO_KEYPANEL == PANEL_ANZU_L) /* POPLA_L対応 1997/03/07 M.Kuwahara */ AttributeSet( &List.S.Print[7-1], &List.S.Attribute[7-1], PWRD_AltNo, LST_NOT ); #else /* PANEL_POPLA_B/L/H */ AttributeSet( &List.S.Print[10-1], &List.S.Attribute[10-1], PWRD_AltNo, LST_NOT ); #endif /*転送先*/ /* CMN_BCD_ToASC_String( (UBYTE *)List.S.Work, &SYB_SubDial[SYB_OnetouchDial[OnetouchCnt].DialData.Onetouch.SubDialPosition][0] ); */ CMN_BCD_ToASC_String( List.S.Work, &SYB_SubDial[SYB_OnetouchDial[OnetouchCnt].SubDialPosition][0] ); /* 変更(ANZU) 95/12/14 H.HIRAO */ #if (PRO_KEYPANEL == PANEL_ANZU_L) /* POPLA_L対応 1997/03/07 M.Kuwahara */ CMN_StringCopy( &List.S.Print[24-1], List.S.Work ); #else /* PANEL_POPLA_B/L/H */ #if 0 /* プレフィックス+ダイヤル番号で40桁を超えても折り返して印字しないので、大島さん確認の上、リストでの展開は止めます by K.Watanabe 2004/11/12 */ // #if defined(STOCKHM2) || (PRO_PREFIX_KEY == ENABLE) /* DVT: Added by SMuratec K.W.Q 2004/09/09 *//* by K.Watanabe 2004/10/12 */ // if (List.S.Work[0] == '!'){ // length = CMN_StringLength(SYB_MercuryDialBuffer); /* マキュリー登録桁 */ // // List.S.Print[34] = '['; // if (length > 38){ // CMN_StringCopyNumUntilNull( &List.S.Print[35], SYB_MercuryDialBuffer, 39); // } // else{ // List.S.Print[35 + length] = ']'; // // CMN_StringCopyNumUntilNull( &List.S.Print[35], SYB_MercuryDialBuffer, length); // CMN_StringCopyNumUntilNull( &List.S.Print[36 + length], &List.S.Work[1], // (38 - length) ); // } // } // else{ // CMN_StringCopy( &List.S.Print[35-1], List.S.Work ); // } #else CMN_StringCopy( &List.S.Print[35-1], List.S.Work ); #endif /* End of defined(STOCKHM2) */ #endif if ( (ret = CharacterPrint( LST_PRINT )) != OK ) { return ( ret ); } *LineCnt -= 1; } #endif /* !defined (KEISATSU) */ return ( OK ); }