⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ui_delete.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  17:00:29 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\common\ui_delete.c                #
#       List file     =  d:\case_i_d90f\ap\ap_music\list\ui_delete.lst       #
#       Object file   =  d:\case_i_d90f\ap\ap_music\obj\ui_delete.r01        #
#       ASM file      =  d:\case_i_d90f\ap\ap_music\list\ui_delete.s01       #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_music\Obj\ -e -K -w  #
#                        -gA -z9 -RCODE -r0 -DNAPDEBUG                       #
#                        -LD:\case_i_d90f\ap\ap_music\List\ -q -t8           #
#                        -AD:\case_i_d90f\ap\ap_music\List\                  #
#                        -ND:\case_i_d90f\ap\ap_music\List\ -X               #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        d:\case_i_d90f\AP\COMMON\ui_delete.c                #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_delete(17)
   \   0000                    RSEG    COM_CTRL(0)
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextOutMode
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  draw_del_file
   \   0000                    EXTERN  fselDelFile
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselSetLocation
   \   0000                    EXTERN  ui_auto_select
   \   0000                    PUBLIC  ui_delete
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    RSEG    COM_CTRL
   \   0000            ui_delete:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        ap common lib, file/folder delete control file
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *******************************************************************************
     10          */
     11          #pragma codeseg(COM_CTRL)
     12          
     13          #include "ap_common.h"
     14          extern WORD    fselFileNo;
     15          extern BYTE    fselDirLayer;
     16          extern void show_del_fail(BYTE langid);
     17          extern int draw_del_file(file_location_t *location, BYTE string_id);
     18          extern void draw_del_dir(file_location_t *location, BYTE string_id);   
     19          /********************************************************************************
     20          * Description : delete  the  files of the selector directory.
     21          *
     22          * Arguments  : location  :keep the file selector parament
     23                         string_id :display language type
     24                         type: the kind of the files
     25          * Returns     :
     26          *            other:    Successful
     27          *            0:    Fail, detail information in fselError
     28          * Notes       :
     29          *
     30          ********************************************************************************/
     31          int ui_delete(file_location_t *location, BYTE type,BYTE string_id)
     32          {
   \   0000  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0003  F8FF              DEFW    65528
   \   0005  FDE5              PUSH    IY
     33              BOOL need_draw=TRUE;
     34              BYTE   delflag;
     35              BYTE  i, playlistclassbak;
     36          
     37              char  key;
     38              if ( !fselSetLocation(location) )
   \   0007  DD5E02            LD      E,(IX+2)
   \   000A  DD5603            LD      D,(IX+3)
   \   000D  3E00              LD      A,BYTE3 fselSetLocation
   \   000F  210000            LD      HL,LWRD fselSetLocation
   \   0012  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0015  2C                INC     L
   \   0016  2D                DEC     L
   \   0017  283F              JR      Z,?0010
   \   0019            ?0002:
     39                  return RESULT_IGNORE;
   \   0019            ?0003:
     40              need_draw = TRUE;
     41              delflag = 0;
     42                ap_message_init(NULL); 
   \   0019  110000            LD      DE,0
   \   001C  3E00              LD      A,BYTE3 ap_message_init
   \   001E  210000            LD      HL,LWRD ap_message_init
   \   0021  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0024  DD36F801          LD      (IX-8),1
   \   0028            ?0050:
   \   0028  DD36F900          LD      (IX-7),0
   \   002C            ?0005:
     43              while(1)
     44              {
     45                  //show ui
     46                  if(need_draw)
   \   002C  AF                XOR     A
   \   002D  DDB6F8            OR      (IX-8)
   \   0030  2829              JR      Z,?0008
   \   0032            ?0007:
     47                  {
     48                      if(type==DELETE_FILE)
   \   0032  AF                XOR     A
   \   0033  DDB604            OR      (IX+4)
   \   0036  2020              JR      NZ,?0010
   \   0038            ?0009:
     49                      {
     50                          int result; 
     51                          result=draw_del_file(location, string_id);            //删除单个文件的显示
   \   0038  DD4E0A            LD      C,(IX+10)
   \   003B  DD5E02            LD      E,(IX+2)
   \   003E  DD5603            LD      D,(IX+3)
   \   0041  3E00              LD      A,BYTE3 draw_del_file
   \   0043  210000            LD      HL,LWRD draw_del_file
   \   0046  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0049  E5                PUSH    HL
   \   004A  FDE1              POP     IY
   \   004C            ?0012:
     52                          while( (key = ap_get_message())!=NULL );                          //获取消息
   \   004C  CD0000            CALL    LWRD ap_get_message
   \   004F  B7                OR      A
   \   0050  20FA              JR      NZ,?0012
   \   0052            ?0013:
   \   0052            ?0011:
     53                          return result; 
   \   0052  FDE5              PUSH    IY
   \   0054  E1                POP     HL
     54                      }            
   \   0055  C33801            JP      LWRD ?0042
   \   0058            ?0010:
     55                      else
     56                      {
     57                          return RESULT_IGNORE;                    //其它情况,忽略并退出函数
   \   0058  C30A01            JP      LWRD ?0048
     58                      }
     59                      need_draw=FALSE;
   \   005B            ?0008:
     60                  }
     61          
     62                  //handle msg
     63                  key = ap_get_message();                          //获取消息
   \   005B  CD0000            CALL    LWRD ap_get_message
     64                  switch(key)
   \   005E  5F                LD      E,A
   \   005F  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   0062  0900              DEFW    9
   \   0064  05                DEFB    5
   \   0065  06                DEFB    6
   \   0066  1E                DEFB    30
   \   0067  21                DEFB    33
   \   0068  30                DEFB    48
   \   0069  37                DEFB    55
   \   006A  38                DEFB    56
   \   006B  45                DEFB    69
   \   006C  46                DEFB    70
   \   006D  1F01              DEFW    ?0036
   \   006F  8100              DEFW    ?0015
   \   0071  8100              DEFW    ?0015
   \   0073  2C00              DEFW    ?0005
   \   0075  0F01              DEFW    ?0032
   \   0077  A200              DEFW    ?0019
   \   0079  0A01              DEFW    ?0048
   \   007B  0401              DEFW    ?0028
   \   007D  8100              DEFW    ?0015
   \   007F  8100              DEFW    ?0015
   \   0081            ?0015:
     65                  {
     66                  case AP_KEY_NEXT:                            //YES和NO之间切换
     67                  case AP_KEY_PREV:
     68                  case AP_KEY_NEXT | AP_KEY_HOLD:
     69                  case AP_KEY_PREV | AP_KEY_HOLD:
     70                      if(delflag==0)
   \   0081  AF                XOR     A
   \   0082  DDB6F9            OR      (IX-7)
   \   0085  0E3C              LD      C,60
   \   0087  C5                PUSH    BC
   \   0088  0E4E              LD      C,78
   \   008A  200D              JR      NZ,?0017
   \   008C            ?0016:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -