咖啡日语论坛

 找回密码
 注~册
搜索
查看: 3577|回复: 2

文件打开或者保存的选择DIALOG

[复制链接]
发表于 2010-2-2 10:46:28 | 显示全部楼层 |阅读模式
本帖最后由 bgx5810 于 2010-2-2 10:48 编辑

文件打开的选择DIALOG


REPORT  FILEOPENDIALOG.

  PARAMETERS: P_FILE TYPE RLGRAP-FILENAME.

************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
************************************************************************
  PERFORM OPEN_FILENM.
  
*&---------------------------------------------------------------------*
*&      Form OPEN_FILENM
*&---------------------------------------------------------------------*
*       DIALOG打开
*----------------------------------------------------------------------*
FORM OPEN_FILENM.

  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
*    EXPORTING
*      WINDOW_TITLE               =
*      DEFAULT_EXTENSION          =
*      DEFAULT_FILENAME           =
*      FILE_FILTER                =
*      INITIAL_DIRECTORY          =
*      MULTISELECTION             =
    CHANGING
      FILE_TABLE                 = FILE_TABLE
      RC                         = RC
    EXCEPTIONS
      FILE_OPEN_DIALOG_FAILED    = 1
      CNTL_ERROR                 = 2
      ERROR_NO_GUI               = 3
      NOT_SUPPORTED_BY_GUI       = 4
      OTHERS                     = 5.

  IF SY-SUBRC = 0.
    READ TABLE FILE_TABLE INTO FILE INDEX 1.
    P_FILE = FILE-FILENAME.
  ENDIF.

ENDFORM.


这个时候你所取得的P_FILE是路径加文件名的。
如果想单独得到文件名或者路径可以再调用以下方法

CALL FUNCTION 'SO_SPLIT_FILE_AND_PATH'
  EXPORTING
    FULL_NAME           = P_FILE
  IMPORTING
    STRIPPED_NAME       = STRIPPED_NAME
    FILE_PATH           = FILE_PATH
  EXCEPTIONS
    X_ERROR             = 1
    OTHERS              = 2.

以上方法的返回值:
STRIPPED_NAME是你所选的文件的文件名。
FILE_PATH是你所选的文件的路径。
回复

使用道具 举报

 楼主| 发表于 2010-2-2 10:46:45 | 显示全部楼层
本帖最后由 bgx5810 于 2010-2-2 10:50 编辑

文件保存的选择DIALOG


REPORT  FILESAVEDIALOG.

  PARAMETERS: P_FILE TYPE RLGRAP-FILENAME.

************************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
************************************************************************
  PERFORM OPEN_FILENM.
  
*&---------------------------------------------------------------------*
*&      Form OPEN_FILENM
*&---------------------------------------------------------------------*
*       DIALOG打开
*----------------------------------------------------------------------*
FORM OPEN_FILENM.

  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
*    EXPORTING
*      WINDOW_TITLE               =
*      DEFAULT_EXTENSION          =
*      DEFAULT_FILE_NAME          =
*      FILE_FILTER                =
*      INITIAL_DIRECTORY          =
*      PROMPT_ON_OVERWRITE        =
    CHANGING
      FILENAME                   = FILENAME
      PATH                       = PATH
      FULLPATH                   = FULLPATH
*      USER_ACTION                =
*      FILE_ENCODING              =
    EXCEPTIONS
      CNTL_ERROR                  = 1
      ERROR_NO_GUI                = 2
      NOT_SUPPORTED_BY_GUI        = 3
      OTHERS                      = 4 .

ENDFORM.

上面的3个返回值分别对应你所选择要保存的文件名、路径、全路径加文件名。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注~册

本版积分规则

小黑屋|手机版|咖啡日语

GMT+8, 2025-1-11 19:36

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表