WEBDYNPRO FPM 框架

框架搭建

1、FPM_OVP_COMPONENT

 1 METHOD change_toolbar_btn .2 * enabled     "ABAP_TRUE可用 ABAP_FALSE不可用3 * visibility  "01不可见 02可见4   DATA: ls_btn TYPE if_fpm_ovp=>ty_s_toolbar_button.5   CHECK wd_this->mo_cnr IS BOUND.6 7   TRY .8       CLEAR:ls_btn.9       wd_this->mo_cnr->get_toolbar_button(
10         EXPORTING
11           iv_toolbar_element_id = id
12         IMPORTING
13           es_toolbar_button     = ls_btn
14       ).
15       CHECK ls_btn IS NOT INITIAL.
16 
17 *      IF text IS SUPPLIED.
18       ls_btn-text = text.
19 *      ENDIF.
20       IF enabled IS SUPPLIED.
21         ls_btn-enabled = enabled.
22       ENDIF.
23       IF visibility IS SUPPLIED.
24         ls_btn-visibility = visibility.
25       ENDIF.
26 
27       wd_this->mo_cnr->change_toolbar_button(
28         iv_content_area   = \'PAGE_1\'
29         is_toolbar_button = ls_btn ).
30     CATCH cx_root INTO DATA(lo_err).
31       DATA(lv_txt) = lo_err->get_text( ).
32   ENDTRY.
33 
34 ENDMETHOD.
1 METHOD fire_view_action .
2 
3   DATA: lo_action TYPE REF TO cl_wdr_action.
4   lo_action ?= wd_this->z_curr_view->get_action( action_name ).
5   CHECK lo_action IS BOUND.
6   lo_action->fire( ).
7 
8 ENDMETHOD.
 1 METHOD init_toolbar .2 3   DATA: lt_elm     TYPE if_fpm_ovp=>ty_t_toolbar_element,4         lv_txt     TYPE fpm_text,5         lv_enable  TYPE fpm_enabled,6         lv_visible TYPE fpm_visibility.7 8   wd_this->mo_fpm = cl_fpm_factory=>get_instance( ).9   wd_this->mo_cnr ?= wd_this->mo_fpm->get_service( `CNR_OVP` ).
10 
11   TRY.
12       wd_this->mo_cnr->get_toolbar_elements( IMPORTING et_toolbar_element = lt_elm ).
13     CATCH cx_root INTO DATA(lo_err).
14       DATA(lv_err_txt) = lo_err->get_text( ).
15   ENDTRY.
16 
17   LOOP AT lt_elm INTO DATA(ls_elm).
18     CLEAR:lv_txt.
19     CASE ls_elm-element_id.
20       WHEN \'FPM_SAVE_1\'.
21         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/SAVE\' ).
22         lv_enable = abap_true.
23         lv_visible = 2.
24 
25       WHEN \'FPM_CANCEL_1\'.
26         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/ZCX\' ).
27         lv_enable = abap_true.
28         lv_visible = 2.
29 
30       WHEN \'ZMDG_COMMIT\'.
31         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/COMMIT\' ).
32         lv_enable = abap_true.
33         lv_visible = 2.
34 
35       WHEN \'ZMDG_COMMITSP\'.
36         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/SP\' ).
37         lv_enable = abap_true.
38         lv_visible = 1.
39 
40       WHEN \'ZMDG_COMMITSPJJ\'.
41         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/SPJJ\' ).
42         lv_enable = abap_true.
43         lv_visible = 1.
44 
45       WHEN OTHERS.
46     ENDCASE.
47 
48     CHECK lv_txt IS NOT INITIAL.
49     change_toolbar_btn(
50       id         = ls_elm-element_id
51       text       = lv_txt
52       enabled    = lv_enable
53       visibility = lv_visible
54     ).
55   ENDLOOP.
56 
57 ENDMETHOD.
  1 METHOD modify_toolbar .2 3 *  get view context4   DATA lo_view_context TYPE REF TO if_wd_context_node.5   lo_view_context ?= wd_this->z_curr_view->get_context( )->root_node.6 7   DATA: lo_nd_read_only    TYPE REF TO if_wd_context_node,8         lo_nd_dispaly_only TYPE REF TO if_wd_context_node,9         lo_el_read_only    TYPE REF TO if_wd_context_element,10         lo_el_dispaly_only TYPE REF TO if_wd_context_element.11 12   DATA: lv_commitoa       TYPE wdy_boolean,13         lv_read_commit    TYPE wdy_boolean,14         lv_dispaly_commit TYPE wdy_boolean.15 16 *   get node17   lo_nd_read_only = lo_view_context->get_child_node( name = wd_this->wdctx_read_only ).18   lo_nd_dispaly_only = lo_view_context->get_child_node( name = wd_this->wdctx_dispaly_only ).19 20 *   get element21   lo_el_read_only = lo_nd_read_only->get_element( ).22   lo_el_dispaly_only = lo_nd_dispaly_only->get_element( ).23   CHECK lo_el_read_only IS NOT INITIAL.24   CHECK lo_el_dispaly_only IS NOT INITIAL.25 26 *   get single attribute27   lo_el_read_only->get_attribute(28     EXPORTING29       name  = `COMMITOA`30     IMPORTING31       value = lv_commitoa ).32   lo_el_read_only->get_attribute(33     EXPORTING34       name  = `COMMIT`35     IMPORTING36       value = lv_read_commit ).37   lo_el_dispaly_only->get_attribute(38     EXPORTING39       name  = `COMMIT`40     IMPORTING41       value = lv_dispaly_commit ).42 43 44 45 *  change toolbar buttons attr.46   DATA: lt_elm     TYPE if_fpm_ovp=>ty_t_toolbar_element,47         lv_txt     TYPE fpm_text,48         lv_enable  TYPE fpm_enabled,49         lv_visible TYPE fpm_visibility.50   TRY.51       wd_this->mo_cnr->get_toolbar_elements( IMPORTING et_toolbar_element = lt_elm ).52     CATCH cx_root INTO DATA(lo_err).53       DATA(lv_err_txt) = lo_err->get_text( ).54   ENDTRY.55 56   LOOP AT lt_elm INTO DATA(ls_elm).57     CASE ls_elm-element_id.58       WHEN \'FPM_SAVE_1\'.59         lv_enable = lv_commitoa.60         IF lv_read_commit = abap_true.61           lv_visible = 2. "Visible62         ELSE.63           lv_visible = 1. "Invisible64         ENDIF.65         IF lv_visible = 1.66           lv_enable = abap_false.67         ENDIF.68         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/SAVE\' ).69 70       WHEN \'FPM_CANCEL_1\'.71         lv_enable = abap_true.72         IF lv_read_commit = abap_true.73           lv_visible = 2. "Visible74         ELSE.75           lv_visible = 1. "Invisible76         ENDIF.77         IF lv_visible = 1.78           lv_enable = abap_false.79         ENDIF.80         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/ZCX\' ).81 82       WHEN \'ZMDG_COMMIT\'.83         lv_enable = lv_commitoa.84         IF lv_read_commit = abap_true.85           lv_visible = 2. "Visible86         ELSE.87           lv_visible = 1. "Invisible88         ENDIF.89         IF lv_visible = 1.90           lv_enable = abap_false.91         ENDIF.92         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/COMMIT\' ).93 94       WHEN \'ZMDG_COMMITSP\'.95         lv_enable = abap_true.96         IF lv_dispaly_commit = abap_true.97           lv_visible = 2. "Visible98         ELSE.99           lv_visible = 1. "Invisible
100         ENDIF.
101         IF lv_visible = 1.
102           lv_enable = abap_false.
103         ENDIF.
104         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/SP\' ).
105 
106       WHEN \'ZMDG_COMMITSPJJ\'.
107         lv_enable = abap_true.
108         IF lv_dispaly_commit = abap_true.
109           lv_visible = 2. "Visible
110         ELSE.
111           lv_visible = 1. "Invisible
112         ENDIF.
113         IF lv_visible = 1.
114           lv_enable = abap_false.
115         ENDIF.
116         lv_txt = cl_wd_utilities=>get_otr_text_by_alias( alias = \'ZMDG01/SPJJ\' ).
117 
118       WHEN OTHERS.
119     ENDCASE.
120 
121     change_toolbar_btn(
122       id         = ls_elm-element_id
123       text       = lv_txt
124       enabled    = lv_enable
125       visibility = lv_visible
126     ).
127 
128   ENDLOOP.
129 
130 ENDMETHOD.
 1 METHOD needs_confirmation .2 3   CASE io_event->mv_event_id.4     WHEN \'FPM_CLOSE\'.5       DATA(lo_win_mngr) = wd_this->wd_get_api( )->get_window_manager( ).6       DATA: lt_text TYPE string_table.7       lt_text = VALUE #( ( `未保存的数据将会丢失,是否继续?` ) ).8       CALL METHOD lo_win_mngr->create_popup_to_confirm9         EXPORTING
10           text         = lt_text
11           button_kind  = 5    "Yes,No,Cancel
12           message_type = if_wd_message_manager=>co_type_warning
13 *         close_button = ABAP_TRUE
14 *         window_title =
15 *         window_left_position =
16 *         window_top_position  =
17 *         window_position      =
18 *         window_width =
19 *         window_height        =
20 *         default_button       =
21         RECEIVING
22           result       = DATA(lo_popup_window).
23 *      IF lO_POPUP_WINDOW NE 1.
24 *        wd_this->wd_get_api( )->cancel_navigation( ).
25 *      ENDIF.
26 
27     WHEN OTHERS.
28   ENDCASE.
29 
30 ENDMETHOD.
 1 METHOD popup_confirm .2 3   DATA(lo_win_mngr) = wd_this->wd_get_api( )->get_window_manager( ).4   DATA: lt_text TYPE string_table.5   lt_text = VALUE #( ( `未保存的数据将会丢失,是否继续?` ) ).6   CALL METHOD lo_win_mngr->create_popup_to_confirm7     EXPORTING8       text         = lt_text9       button_kind  = 4    "Yes,No
10       message_type = if_wd_message_manager=>co_type_warning
11       close_button = abap_false
12 *     window_title =
13 *     window_left_position =
14 *     window_top_position  =
15 *     window_position      =
16 *     window_width =
17 *     window_height        =
18 *     default_button       =
19     RECEIVING
20       result       = DATA(lo_popup_window).
21 
22   lo_popup_window->subscribe_to_button_event(
23     button      = if_wd_window=>co_button_yes
24 *   BUTTON_TEXT = \'\'
25 *   TOOLTIP     =
26     action_name = \'ZYES\'
27     action_view = wd_this->z_curr_view
28   ).
29 
30   lo_popup_window->subscribe_to_button_event(
31     button      = if_wd_window=>co_button_no
32 *   BUTTON_TEXT = \'\'
33 *   TOOLTIP     =
34     action_name = \'ZNO\'
35     action_view = wd_this->z_curr_view
36   ).
37 
38   lo_popup_window->open( ).
39 
40 
41 
42 
43 ENDMETHOD.
 1 METHOD process_event .2 3   CASE io_event->mv_event_id.4     WHEN \'FPM_SAVE\'.5       fire_view_action( \'SAVE_DATA\' ).6 7     WHEN \'FPM_CANCEL\'.8 *      fire_view_action( \'ZCX\' ).9       wd_this->zf_close = abap_true.
10       wd_this->mo_fpm->raise_event_by_id( \'FPM_CLOSE\' ).
11 
12     WHEN \'FPM_CLOSE\'.
13       popup_confirm( ).
14 
15     WHEN \'ZMDG_COMMIT\'.
16       fire_view_action( \'COMMITOA\' ).
17 
18     WHEN \'ZMDG_COMMITSP\'.
19       fire_view_action( \'COMMIT_APPROVE\' ).
20 
21     WHEN \'ZMDG_COMMITSPJJ\'.
22       fire_view_action( \'COMMIT_SPJJ\' ).
23 
24     WHEN OTHERS.
25   ENDCASE.
26 
27   modify_toolbar( ).
28 
29 ENDMETHOD.
 1 METHOD report_msg .2 3 *   get message manager4   DATA lo_api_controller     TYPE REF TO if_wd_controller.5   DATA lo_message_manager    TYPE REF TO if_wd_message_manager.6 7   lo_api_controller ?= wd_This->Wd_Get_Api( ).8 9   CALL METHOD lo_api_controller->get_message_manager
10     RECEIVING
11       message_manager = lo_message_manager.
12 
13 *   report message
14   CALL METHOD lo_message_manager->report_message
15     EXPORTING
16       message_text = text
17       message_type = type.
18 
19 ENDMETHOD.
1 METHOD wddobeforenavigation .
2 
3   IF wd_this->z_inited = abap_true.
4     DATA(lo_navi_to) = wd_this->mo_fpm->get_navigate_to( ).
5     popup_confirm( ).
6   ENDIF.
7 
8 ENDMETHOD.
  1 METHOD wddoinit .2 3   DATA lo_nd_header_data TYPE REF TO if_wd_context_node.4   DATA lo_nd_header_data_info TYPE REF TO if_wd_context_node_info.5   DATA ls_header_data TYPE wd_this->element_header_data.6 7   DATA lt_value_set TYPE wdr_context_attr_value_list.8   DATA ls_value_set TYPE wdr_context_attr_value.9   lo_nd_header_data = wd_context->get_child_node( name = wd_this->wdctx_header_data ).10   lo_nd_header_data_info = lo_nd_header_data->get_node_info( ).11 * define list of raddiobuttons by changing type infos of attribute bound to property selectedKey12 13   SELECT * INTO TABLE @DATA(lt_tvtwt) FROM tvtwt WHERE spras = @sy-langu AND vtweg >= \'10\' AND vtweg <= \'50\'.14   LOOP AT lt_tvtwt INTO DATA(ls_tvtwt).15     ls_value_set-text  = ls_tvtwt-vtext.16     ls_value_set-value = ls_tvtwt-vtweg.17     APPEND ls_value_set TO lt_value_set.18   ENDLOOP.19   lo_nd_header_data_info->set_attribute_value_set( name = \'VTWEG\' value_set = lt_value_set ).20 21   REFRESH lt_value_set.22   SELECT * INTO TABLE @DATA(lt_t077x) FROM t077x WHERE spras = @sy-langu AND ( ktokd = \'Z001\' OR ktokd = \'Z002\') .23   LOOP AT lt_t077x INTO DATA(ls_t077x).24     ls_value_set-text  = ls_t077x-txt30.25     ls_value_set-value = ls_t077x-ktokd.26     APPEND ls_value_set TO lt_value_set.27   ENDLOOP.28   lo_nd_header_data_info->set_attribute_value_set( name = \'KTOKD\' value_set = lt_value_set ).29   REFRESH lt_value_set.30 31   SELECT * INTO TABLE @DATA(lt_T005T) FROM t005t WHERE spras = @sy-langu  .32   LOOP AT lt_T005T INTO DATA(ls_T005T).33     ls_value_set-text  = ls_T005T-landx.34     ls_value_set-value = ls_T005T-land1.35     APPEND ls_value_set TO lt_value_set.36   ENDLOOP.37   lo_nd_header_data_info->set_attribute_value_set( name = \'LAND1\' value_set = lt_value_set ).38   REFRESH lt_value_set.39 40   DATA: i_input  TYPE dd07v,o_output TYPE dd07v.41   i_input-domname = \'ZDCJLXS\'.42 43   i_input-domvalue_l = \'A1\'.44   CALL FUNCTION \'ZMDG_GET_DD07V\'45     EXPORTING46       i_input  = i_input47     IMPORTING48       o_output = o_output.49   ls_value_set-text  = o_output-ddtext ."\'新增客户代码\'.50   ls_value_set-value = \'A1\'.51   APPEND ls_value_set TO lt_value_set.52   i_input-domvalue_l = \'A2\'.53   CALL FUNCTION \'ZMDG_GET_DD07V\'54     EXPORTING55       i_input  = i_input56     IMPORTING57       o_output = o_output.58   ls_value_set-text  = o_output-ddtext ."\'客户抬头变更\'.59   ls_value_set-value = \'A2\'.60   APPEND ls_value_set TO lt_value_set.61   i_input-domvalue_l = \'A3\'.62   CALL FUNCTION \'ZMDG_GET_DD07V\'63     EXPORTING64       i_input  = i_input65     IMPORTING66       o_output = o_output.67   ls_value_set-text  = o_output-ddtext ."\'送达方变售达方\'.68   ls_value_set-value = \'A3\'.69   APPEND ls_value_set TO lt_value_set.70   i_input-domvalue_l = \'A4\'.71   CALL FUNCTION \'ZMDG_GET_DD07V\'72     EXPORTING73       i_input  = i_input74     IMPORTING75       o_output = o_output.76   ls_value_set-text  = o_output-ddtext ."\'与关联企业共用编码\'.77   ls_value_set-value = \'A4\'.78   APPEND ls_value_set TO lt_value_set.79 80   lo_nd_header_data_info->set_attribute_value_set( name = \'ZCJLX\' value_set = lt_value_set ).81   REFRESH lt_value_set.82 83   DATA lo_el_header_data TYPE REF TO if_wd_context_element.84 85 * navigate from <CONTEXT> to <HEADER_DATA> via lead selection86   lo_nd_header_data = wd_context->get_child_node( name = wd_this->wdctx_header_data ).87 88 * get element via lead selection89   lo_el_header_data = lo_nd_header_data->get_element( ).90 91   SELECT SINGLE bname name_text zssbm zssgs zcqb92    INTO (ls_header_data-bname,ls_header_data-bnametext,ls_header_data-zssbm,ls_header_data-zssgs,ls_header_data-zcqb)93    FROM v_username94   INNER JOIN ztoasapuser ON ztoasapuser~zsapuname = v_username~bname95   WHERE bname = sy-uname .96 97 *   set all declared attributes98   lo_el_header_data->set_static_attributes(99      static_attributes = ls_header_data ).
100 
101 
102 
103   init_toolbar( ).
104 
105 ENDMETHOD.

PFCG配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/241399.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试 ASP.NET Core 中间件

正常情况下&#xff0c;中间件会在主程序入口统一进行实例化&#xff0c;这样如果想单独测试某一个中间件就很不方便&#xff0c;为了能测试单个中间件&#xff0c;可以使用 TestServer 单独测试。 这样便可以&#xff1a; 实例化只包含需要测试的组件的应用管道。发送自定义请…

计算机网络编程

网络编程 文章目录 网络编程1 计算机网络1.1 什么是网络1.2 什么是计算机网络1.3 计算机网络发展的四个阶段 2 常用名词2.1 网络模型2.1.1 OSI模型2.1.2 TCP/IP模型 2.2 网络协议2.2.1 TCP/UDP2.2.2 IP 2.3 Port: 端口号 3 计算机网络编程3.1 InetAddress类3.2 基于TCP的Socket…

瑞_Java开发手册_(六)工程结构

文章目录 工程结构的意义(一) 应用分层(二) 二方库依赖(三) 服务器 &#x1f64a;前言&#xff1a;本文章为瑞_系列专栏之《Java开发手册》的工程结构篇&#xff0c;主要介绍应用分层、二方库依赖、服务器。由于博主是从阿里的《Java开发手册》学习到Java的编程规约&#xff0c…

前端面试题汇总大全(含答案)-- 持续更新

​一、HTML 篇 1. 简述一下你对 HTML 语义化的理解&#xff1f; 用正确的标签做正确的事情。 html 语义化让页面的内容结构化&#xff0c;结构更清晰&#xff0c;便于对浏览器、搜索引擎解析&#xff1b;即使在没有样式 CSS 情况下也以一种文档格式显示&#xff0c;并且是容易…

Puppeteer让你网页操作更简单(2)抓取数据

Puppeteer让你网页操作更简单(1)屏幕截图】 示例2 —— 让我们抓取一些数据 现在您已经了解了Headless Chrome和Puppeteer的工作原理基础知识,让我们看一个更复杂的示例,其中我们实际上可以抓取一些数据。 首先,请查看此处的Puppeteer API文档。如您所见,有大量不同的方法我…

计算机毕业设计 基于SSM的历史/博物馆藏系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

Linux粘滞位的理解,什么是粘滞位?

文章目录 前言如何理解&#xff1f;粘滞位的操作最后总结一下 前言 粘滞位&#xff08;Stickybit&#xff09;&#xff0c;或粘着位&#xff0c;是Unix文件系统权限的一个旗标。最常见的用法在目录上设置粘滞位&#xff0c;如此以来&#xff0c;只有目录内文件的所有者或者root…

Dubbo-admin监控中心

监控中心 Dubbo-admin监控中心执行操作启动provider和consumer项目进行测试总体流程 Dubbo-admin监控中心 dubbo-admin下载路径 git clone https://github.com/apache/dubbo-admin.git图1-1 dubbo-admin项目文件展示 执行操作 # 启动zookeeper# 前端 cd dubbo-admin-ui npm i…

多模态融合的基础问题及算法研究

&#x1f31e;欢迎来到深度学习的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f64f;作者水平很有限&#xff0c;如果发现错误&#xff…

C++--默认参数

一.默认参数&#x1f357; C中允许函数提供默认参数&#xff0c;也就是允许在函数的声明或定义时给⼀个或多个参数指定默认值。在调 ⽤具有默认参数的函数时&#xff0c;如果没有提供实际参数&#xff0c;C将⾃动把默认参数作为相应参数的值。 二.使用规则&#x1f357; 1.如果…

Spring Web文件上传功能简述

文章目录 正文简单文件上传文件写入 总结 正文 在日常项目开发过程中&#xff0c;文件上传是一个非常常见的功能&#xff0c;当然正规项目都有专门的文件服务器保存上传的文件&#xff0c;实际只需要保存文件路径链接到数据库中即可&#xff0c;但在小型项目中可能没有专门的文…

Spring中动态注册和销毁对象

1. 使用说明 通常我们项目中想要往spring容器中注入一个bean可以在项目初始化的时候结合Bean注解实现。但是该方法适合项目初始化时候使用&#xff0c;如果后续想要继续注入对象则无可奈何。本文主要描述一种在后续往spring容器注入bean的方法。 2. 实现 2.1 说明 2.1.1 注册…

「 典型安全漏洞系列 」03.跨站请求伪造CSRF详解

引言&#xff1a;CSRF&#xff08;Cross-Site Request Forgery&#xff0c;跨站请求伪造&#xff09;是一种攻击技术&#xff0c;通过使用用户的身份进行不诚实地操作&#xff0c;恶意用户可以在受害者&#xff08;目标&#xff09;的机器上执行一些未授权的操作。这可能会危及…

FairyGUI Day 1 导入FairyGUI

FairyGUI Unity3d引擎版本&#xff1a;Uinty3d 20233.2.3f1 1、从资产商店中将FairyGUI购入我的资产中&#xff0c;目前是免费的。 2、从我的资产中将FairyGUI导入到当前项目中。 3、我遇到的问题&#xff0c;我的Assets下有两个文件夹分别是Resources和Scenes&#xff0c;导…

进阶Docker4:网桥模式、主机模式与自定义网络

目录 网络相关 子网掩码 网关 规则 docke网络配置 bridge模式 host模式 创建自定义网络(自定义IP) 网络相关 IP 子网掩码 网关 DNS 端口号 子网掩码 互联网是由许多小型网络构成的&#xff0c;每个网络上都有许多主机&#xff0c;这样便构成了一个有层次的结构。 IP 地…

pytest + allure(windows)安装

背景 软硬件环境&#xff1a; windows11&#xff0c;已安装anaconda&#xff0c;python&#xff0c;pycharm用途&#xff1a;使用pytest allure 生成报告allure 依赖java&#xff0c;点击查看java安装教程 allure 下载与安装 从 allure下载网址下载最新版本.zip文件 放在自…

Android Dialog setCanceledOnTouchOutside失效,点击dialog外面不消失

前言&#xff1a;有一个需求需要点击dialog外面要消失&#xff0c;本来以为很简单结果设置了一直未生效 setCanceledOnTouchOutside(true); 问了半天chat-gpt4结果给的答案都不明显 查看代码发现设置了style&#xff0c;于是尝试去除这个style&#xff0c;结果点击setCancele…

蓝桥杯回文日期判断

思想&#xff1a;对于回文数的判断方法&#xff0c;最快的就是取其中一半的字符串长度&#xff0c;为s&#xff0c;然后将其进行翻转为s’ &#xff0c;再把两者进行拼接即可保证是回文数&#xff0c;这样子就解决了枚举所有回文数的问题。 注意点&#xff1a; 要求必须是有效…

SQL Server中数据表的增删查改

文章目录 一、增二、查三、改四、删除 一、增 进行增删查改的前提需要在指定数据库中创建数据表&#xff0c;对这块不大理解的可以先看看前面几期文章&#xff1a; 创建数据库 创建数据表 use StudentManageDB go insert into Students (StudentName,Gender,Birthday,Age,Stu…

如何使用万能头 #include<bits/stdc++.h>

准备蓝桥杯的时候看到了很多头文件包含了这个头文件&#xff0c;后来查了一下 它是C中支持的一个几乎万能的头文件&#xff0c;几乎包含所有的可用到的C库函数。以后写代码就可以直接引用这一个头文件了&#xff0c;不需要在写一大堆vector、string、map、stack…… 我们该如何…