int cell_change() { //change_col,change_col_id,change_row_id string dh_v_info, i_amount, i_info; int i, r, n, x; if (change_col == 'amount') { // 获取单据备注内容 dh_v_info = gui_get_val('Edit_Note'); if (amount != '') // 如果金额不为空,将摘要加入备注 { if(note_info != '') { if (dh_v_info == '') { dh_v_info = note_info; } else { dh_v_info += nl() + note_info; } } } else { // 如果金额为空(被删除),从备注中删除摘要 // 1. strcmp()函数,比较两个字符串是否相等,0相等,1大于,-1小于 // 如果备注框里的字符与摘要字符相等,直接将备注设为空 if(strcmp(dh_v_info, note_info) == 0) { dh_v_info = ''; } else { // 2. 如果备注框里字符与摘要字符不相等 // str_pos()函数,返回串2在串1中的位置,未找到返回-1 // str_replace()函数,字符串中替换一个串 // 2.1 摘要字符在备注字符的首位 str_pro()返回 0, // 替换摘要字符和一个回车 nl() n = str_pos(dh_v_info, note_info); x = strlen(note_info); if(n == 0) { dh_v_info = str_replace(dh_v_info, note_info + nl(), ''); } // 2.2 摘要字符不在备注字符的首位 str_pro()返回大于 0, // 替换一个回车 nl()和摘要字符 if(n > 0) { dh_v_info = str_replace(dh_v_info, nl() + note_info, ''); } } } dh_v_info = gui_set_val('Edit_Note', dh_v_info); } return 1; }; |