`
guanhuaing
  • 浏览: 1205868 次
文章分类
社区版块
存档分类
最新评论

ABAP--How to use TEXTEDIT(SAP 的样例摘抄)

 
阅读更多
Use SE75 to create your own custom text ID for SAVE_TEXT object
  1. Example 1: Creating the TextEdit control
  2. Example 2: Event handling - Application event
  3. Example 3: Event handling - System event
  4. Example 4: Calling a methods of the control
  5. Example 5: Responding to an event
  6. Example 6: Protect a line in the TextEdit control and the importance of FLUSH
  7. Example 7: Using multiple controls
See the whole program code
Example 1: Creating the TextEdit control
This is a simple example of how to implement a text edit control.
Steps
  1. Create a report
  2. In the start of selection event add: SET SCREEN '100'.
  3. Create screen 100
  4. Place a custom control on the screen by choosing the custom control icon which can be recognized by the letter 'C', and give it the name MYCONTAINER1 .
  5. To be able to exit the program, add a pushbutton with the function code EXIT.
  6. In the elements list enter the name OK_CODE for the element of type OK.
The code
REPORT sapmz_hf_controls1 .
CONSTANTS:
line_length TYPE i VALUE 254.
DATA: ok_code LIKE sy-ucomm.
DATA:
* Create reference to the custom container
custom_container TYPE REF TO cl_gui_custom_container,
* Create reference to the TextEdit control
editor TYPE REF TO cl_gui_textedit,
repid LIKE sy-repid.
START-OF-SELECTION.
SET SCREEN '100'.
*---------------------------------------------------------------------*
* MODULE USER_COMMAND_0100 INPUT *
*---------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE ok_code.
 WHEN 'EXIT'.
 LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100INPUT
*&---------------------------------------------------------------------*
*& ModuleSTATUS_0100OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
* The TextEdit control should only be initialized the first time the
* PBO module executes
IF editor IS INITIAL.
 repid = sy-repid.
* Create obejct for custom container
 CREATE OBJECT custom_container
 EXPORTING
 container_name = 'MYCONTAINER1'
 EXCEPTIONS
 cntl_error = 1
 cntl_system_error = 2
 create_error = 3
 lifetime_error = 4
 lifetime_dynpro_dynpro_link = 5
 others = 6
 .
 IF sy-subrc <> 0.
 MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
 ENDIF.
* Create obejct for the TextEditor control
 CREATE OBJECT editor
 EXPORTING
 wordwrap_mode =
 cl_gui_textedit=>wordwrap_at_fixed_position
 wordwrap_position = line_length
 wordwrap_to_linebreak_mode = cl_gui_textedit=>true
 parent = custom_container
 EXCEPTIONS
 error_cntl_create = 1
 error_cntl_init = 2
 error_cntl_link = 3
 error_dp_create = 4
 gui_type_not_supported = 5
 others = 6
 .
 IF sy-subrc <> 0.
 MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
 ENDIF.
ENDIF.
ENDMODULE. " STATUS_0100OUTPUT
Example 2: Event handling - Application event
There are 2 types of events:
System events. These events are triggerede irrespective of the screen flow-logic.
Application events. The PAI module is processed after an event. The method CL_GUI_CFW=>DISPATCH must be called to initiate event handling
In this example an application event is added to the program in example 1. New code is marked with red.
Steps:
Create an input/output field on screen 100, where the event type can be output. Name it EVENT_TYPE
The code:

REPORT sapmz_hf_controls1 .
CONSTANTS:
line_length TYPE i VALUE 254.
DATA: ok_code LIKE sy-ucomm.
DATA:
* Create reference to the custom container
custom_container TYPE REF TO cl_gui_custom_container,
* Create reference to the TextEdit control
editor TYPE REF TO cl_gui_textedit,
repid LIKE sy-repid.
**********************************************************************
* Impmenting events
**********************************************************************
DATA:
event_type(20) TYPE c,

* Internal table for events that should be registred
i_events TYPE cntl_simple_events,

* Structure for oneline of the table
wa_events TYPE cntl_simple_event.
*---------------------------------------------------------------------*
* CLASS lcl_event_handler DEFINITION
*---------------------------------------------------------------------*
CLASS lcl_event_handler DEFINITION.

PUBLIC SECTION.
CLASS-METHODS:
catch_dblclick FOR EVENT dblclick
OF cl_gui_textedit IMPORTING sender.
ENDCLASS.
CLASS lcl_event_handler IMPLEMENTATION.

METHOD catch_dblclick.
event_type = 'Event DBLCLICK raised'.
ENDMETHOD.

ENDCLASS.

START-OF-SELECTION.
CLEAR wa_events. refresh i_events.
SET SCREEN '100'.

*---------------------------------------------------------------------*
* MODULE USER_COMMAND_0100 INPUT *
*---------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN OTHERS.
* Call the Dispacth method to initiate application event handling

call method cl_gui_cfw=>Dispatch.

ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
* The TextEdit control shoul only be initialized the first time the
* PBO module executes
IF editor IS INITIAL.
repid = sy-repid.
* Create obejct for custom container
CREATE OBJECT custom_container
EXPORTING
container_name = 'MYCONTAINER1'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Create obejct for the TextEditor control
CREATE OBJECT editor
EXPORTING
wordwrap_mode =
cl_gui_textedit=>wordwrap_at_fixed_position
wordwrap_position = line_length
wordwrap_to_linebreak_mode = cl_gui_textedit=>true
parent = custom_container
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
gui_type_not_supported = 5
others = 6
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Link the event handler method to the event and the
* TextEdit control
SET HANDLER lcl_event_handler=>catch_dblclick FOR editor.
* Register the event in the internal table i_events
wa_events-eventid = cl_gui_textedit=>event_double_click.
wa_events-appl_event = 'X'. "This is an application event
append wa_events to i_events.
* Pass the table to the TextEdit control using method
* set_registred_events
call method editor->set_registered_events
exporting events = i_events.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
Result:
When you double click on the TextEdit control, the input/ouput field should show the text: Event DBLCLICK
Example 3: Event handling - System event
System events are passed irrespective of the flow-logic of the screen. To implement a system event change the code from example 2 as follows:
Code:
CLASS lcl_event_handler IMPLEMENTATION.
METHOD catch_dblclick.
*--- event_type = 'Event DBLCLICK raised'.
* Reacting to the system event
call method cl_gui_cfw=>set_new_ok_code
exporting new_code = 'SHOW'.
MODULE user_command_0100 INPUT.
CASE ok_code.
code.........
WHEN 'SHOW'.
event_type = 'System dblclick'.
WHEN OTHERS.
*---- call method cl_gui_cfw=>Dispatch.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT

MODULE status_0100 OUTPUT.
Code ................
*--- wa_events-appl_event = 'X'. "This is an application event
wa_events-appl_event = space. "This is a system event
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
Result:
When you double clicks on the TextEdit control nothing happens, since the flow-logic of the screen and the fielde transport is ignore.
Example 4: Calling methods of the control
In this exercise a function that loads the texts of an internal table into the text window, is implemented.
Steps:
Define anoterh pushbutton on the screen, that activates the method that fills the TextEdit control. Give itname PUSHBUTTON_IMPORT and function code IMP.
Define a form CREATE_TEXTS that carries out the text import.
Only changes to the code in example 2 is show.
Code:
MODULE user_command_0100 INPUT.
CASE ok_code.
code.........
WHEN 'IMP'.
perform load_texts.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Form load_texts
*&---------------------------------------------------------------------*
* This form creates an internal table with texts. The the contents of
* the table is instered into the TextEdit control using method
* set_text_as_r3table
*----------------------------------------------------------------------*
FORM load_texts.
TYPES:
BEGIN OF t_texttable,
line(line_length) TYPE c,
END OF t_texttable.
DATA
i_texttable TYPE TABLE OF t_texttable.
* Create internal table with texts
APPEND 'This a method that fills the TextEdit control' TO i_texttable.
APPEND 'with a text.' TO i_texttable.
DO 10 TIMES.
APPEND 'hallo world !' TO i_texttable.
ENDDO.
* Load TextEdit control with texts
CALL METHOD editor->set_text_as_r3table
EXPORTING table = i_texttable.
IF sy-subrc > 0.
* Display an error message
EXIT.
ENDIF.
* All methods that operates on controls are transferred to the frontend
* by a RFC calls. the method FLUSH is used to determine when this is done.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc > 0.
* Display an error message
ENDIF.
ENDFORM. " create_texts

Example 5: Responding to an event
When you double click on a text line in the TextEdit control, you want it to be prefixed with a '*'.
The line number of the TextEdit control that is double clicked, is retreived using method GET_SELECTION_POS. The internal text table is reloaded froim the TextEdit control with method GET_TEXT_AS_R3TABLE. The position of the double click in the TextEdit control is used to find the entry in the table, and the entry is prefixed with '*' and loaded into the TextEdit control again.
The program should be changed so that the internal table i_texttable is global, and a global flag g_loaded added. The load of the table should be moved to the PBO module. The changes in thje code are marked with red. The whole program now looks like this:
Code
REPORT sapmz_hf_controls1 .
CONSTANTS:
line_length TYPE i VALUE 254.
DATA: ok_code LIKE sy-ucomm.
DATA:
* Create reference to the custom container
custom_container TYPE REF TO cl_gui_custom_container,
* Create reference to the TextEdit control
editor TYPE REF TO cl_gui_textedit,
repid LIKE sy-repid.
**********************************************************************
* Utillity table to load texts
**********************************************************************
TYPES:
BEGIN OF t_texttable,
line(line_length) TYPE c,
END OF t_texttable.
DATA:
i_texttable TYPE TABLE OF t_texttable,
g_loaded(1) TYPE c.


**********************************************************************
* Impmenting events
**********************************************************************
DATA:
event_type(20) TYPE c,
* Internal table for events that should be registred
i_events TYPE cntl_simple_events,
* Structure for oneline of the table
wa_events TYPE cntl_simple_event.
*---------------------------------------------------------------------*
* CLASS lcl_event_handler DEFINITION
*---------------------------------------------------------------------*
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
catch_dblclick FOR EVENT dblclick
OF cl_gui_textedit IMPORTING sender.
ENDCLASS.
CLASS lcl_event_handler IMPLEMENTATION.
METHOD catch_dblclick.
DATA:
from_line TYPE i,
from_pos TYPE i,
to_line TYPE i,
to_pos TYPE i,
wa_texttable TYPE t_texttable.
* Used for the sytem event
call method cl_gui_cfw=>set_new_ok_code
exporting new_code = 'SHOW'.
* Read the position of the double click
CALL METHOD sender->get_selection_pos
IMPORTING
from_line = from_line
from_pos = from_pos
to_line = to_line
to_pos = to_pos.
* Texts in the TextEdit control can have been changed, so
* first reload text from the control into the internal
* table that contains text
IF NOT g_loaded IS INITIAL.
CALL METHOD sender->get_text_as_r3table
IMPORTING table = i_texttable.
*   Read the line of the internal table that was clicked
READ TABLE i_texttable INDEX from_line INTO wa_texttable.
IF sy-subrc <> 0.
EXIT.
ENDIF.
IF wa_texttable+0(1) CS '*'.
SHIFT wa_texttable.
ELSEIF wa_texttable+0(1) NS '*'.
SHIFT wa_texttable RIGHT.
wa_texttable+0(1) = '*'.
ENDIF.

modify i_texttable from wa_texttable index from_line.
* Reload texts from h einternal table
perform load_texts.
ENDIF.
ENDMETHOD.
ENDCLASS.


START-OF-SELECTION.
CLEAR wa_events.
REFRESH: i_events.
SET SCREEN '100'.
*---------------------------------------------------------------------*
* MODULE USER_COMMAND_0100 INPUT *
*---------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'SHOW'.
event_type = 'System dblclick'.
WHEN 'IMP'.
PERFORM Load_texts.
WHEN OTHERS.
* CALL METHOD cl_gui_cfw=>dispatch. "Not used for system events
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
* The TextEdit control shoul only be initialized the first time the
* PBO module executes
IF editor IS INITIAL.
repid = sy-repid.
* Create object for custom container
CREATE OBJECT custom_container
EXPORTING
container_name = 'MYCONTAINER1'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Create obejct for the TextEditor control
CREATE OBJECT editor
EXPORTING
wordwrap_mode =
cl_gui_textedit=>wordwrap_at_fixed_position
wordwrap_position = line_length
wordwrap_to_linebreak_mode = cl_gui_textedit=>true
parent = custom_container
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
gui_type_not_supported = 5
others = 6
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Link the event handler method to the event and the
* TextEdit control
SET HANDLER lcl_event_handler=>catch_dblclick FOR editor.
* Register the event in the internal table i_events
wa_events-eventid = cl_gui_textedit=>event_double_click.
* wa_events-appl_event = 'X'. "This is an application event
wa_events-appl_event = space. "This is a system event
APPEND wa_events TO i_events.
* Pass the table to the TextEdit control uding method
* set_registred_events
CALL METHOD editor->set_registered_events
EXPORTING events = i_events.
* Create internal table with texts taht can be uploaded to
* the TextEdit control
APPEND 'This a method that fills the TextEdit control' TO i_texttable.
APPEND 'with a text.' TO i_texttable.
DO 10 TIMES.
APPEND 'hallo world !' TO i_texttable.
ENDDO.

ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Form Load_texts
*&---------------------------------------------------------------------*
* This form loads the lines of the internal table i_texttable into
* the TextEdit control
*----------------------------------------------------------------------*
FORM Load_texts.
* Load TextEdit control with texts
CALL METHOD editor->set_text_as_r3table
EXPORTING table = i_texttable.
IF sy-subrc > 0.
* Display an error message
EXIT.
ENDIF.
* All methods that operates on controls are transferred to the frontend
* by a RFC calls. the method FLUSH is used to determine when this is
* done.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc > 0.
* Display an error message
ENDIF.
g_loaded = 'X'.
ENDFORM. " create_texts
Example 6: Protect a line in the TextEdit control and the importance of FLUSH
All methods that operates on controls are transfered to the fronend by RFC calls. The FLUSH method is used to synchronize control execution and the frontend. This is very important when working e.g. with export parameters from a method, as the parmeters will not be correct before the FLUSH method has been called.
The example below portects selected lines in the TextEdit and uses FLUSH to ensure that the correct parameters are returned from method GET_SELECTION_POS.
Note: Instead of using method PROTECT_LINES, the method PROTECT_SELECTION could be used. This method does not need line numbers or a FLUSH statement
Steps
Add a new pushbutton to the screen with the function code PROTECT.
Code
Add the following code to the example:
* Global variables

DATA:
from_idx TYPE i,
to_idx TYPE i,
index TYPE i.
MODULE user_command_0100 INPUT.
CASE ok_code.
code.......................
WHEN 'PROTECT'.
PERFORM protect.
.......................
ENDCASE.

*&---------------------------------------------------------------------*
*& Form protect
*&---------------------------------------------------------------------*
* Protects marked lines in a TextEdit control
*----------------------------------------------------------------------*
FORM protect.
* Determine the area selected by the user
CALL METHOD editor->get_selection_pos
IMPORTING
from_line = from_idx
to_line = to_idx
EXCEPTIONS
error_cntl_call_method = 1.
* Synchronize execution in the control with the ABAP program.
* Without this synchronization the variables from_idx and
* to_idx will have obsolutete values (The initial value for
* both, are 0)
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc > 0.
* Errormessage: Error in flush
ENDIF.
* Protect the selected lines
IF to_idx > from_idx.
to_idx = to_idx - 1.
ENDIF.
CALL METHOD editor->protect_lines
EXPORTING
from_line = from_idx
to_line = to_idx.
* The PROTECT_SELECTION method could be used instead, eliminating the
* need of line numbers and the last FLUSH
* call method editor->protect_selection.
* Flush again to protect immidiately


CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc > 0.
* Errormessage: Error in flush
ENDIF.

ENDFORM. " protect

Example 7: Using multiple controls
In this example a second TextEdit control will be added to the screen. The new TextEdit control will be designed to act as a clipboard for short texts.
Steps:
Add a new container to the screen and name it MYCONTAINER2.

Code:
Insert global datadeclaration:
**********************************************************************
* Implementing a second Scratch TextEdit control
**********************************************************************


DATA:
scratch TYPE REF TO cl_gui_textedit,
custom_container2 TYPE REF TO cl_gui_custom_container.
Insert the following code in the PBO module:
*------------------------------------------------------
* The SCRATCH TextEdit control
*------------------------------------------------------

IF scratch IS INITIAL.
* Create obejct for custom container2
CREATE OBJECT custom_container2
EXPORTING
container_name = 'MYCONTAINER2'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Create obejct for the SCRATCH TextEditor control
CREATE OBJECT scratch
EXPORTING
parent = custom_container2
wordwrap_mode =
cl_gui_textedit=>wordwrap_at_windowborder
wordwrap_to_linebreak_mode = cl_gui_textedit=>true.
* Remove the staus bar
CALL METHOD scratch->set_statusbar_mode
EXPORTING statusbar_mode = cl_gui_textedit=>false.
ENDIF.
分享到:
评论

相关推荐

    2024嵌入式大厂面经C++首创

    2024嵌入式大厂面经C++首创提取方式是百度网盘分享地址

    C++ 高性能爬虫代码,带UI

    C++ 高性能爬虫代码,带UI

    2024嵌入式面试资料裕日软件C笔试题

    2024嵌入式面试资料裕日软件C笔试题提取方式是百度网盘分享地址

    黑色素瘤分类数据集10015张7类别.7z

    数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):10015 分类类别数:7 类别名称:[“0”,“1”,“2”,“3”,“4”,“5”,“6”] 更多信息:blog.csdn.net/FL1623863129/article/details/139561265

    2024年高尿酸及痛风疾病医药行业分析报告.pptx

    行业报告

    自由生活条件中老年人体力活动的分类研究

    体力活动对老年人的身心健康有很大影响。研究表明 65 岁以上的老年人缺少必要的体力锻炼,会增加跌倒的风险、会阻碍行动、会降低肌肉力量和丧失自主能力。积极的生活方式有助于老年人降低残疾和慢性病的风险,从而提高老年人的身心健康和幸福指数。世界卫生组织的一份报告表示,积极运动的老年人肌肉适应力强,器官功能正常,因此他们跌倒的风险比较低,并且拥有很高的认知能力。世界卫生组织建议老年人每周进行 30 分钟或 30 分钟以上的体力活动,每周 5 次不低于 10 分钟的适度体力活动或高水准的体力活动,来确保老年人的健康需求。因此,通过长期对日常活动等数据特征分析,可以更好的规划出,每天体力活动和久坐的时间比,从而提高老年人生活的质量。近年来,由于可穿戴设备在加工率、电池寿命、小型化和成本效益等方面的科技进 步,可穿戴监控设备得到快速发展。在过去的几年里,我们做了大量的工作,利用加速计、陀螺仪等惯性传感器设备,对老年人的体力活动进行监督测量。大多数现有的系统都是根据青少年指标获得数据集进行开发验证的,很少有系统将老年人纳入其数据采集范围。Rosario 等研究人员,用 PAC 系统对年轻人进行测试,并

    上市公司污染排放当量(2007-2022).xlsx

    详细介绍及样例数据:https://blog.csdn.net/T0620514/article/details/139567890

    基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本116.0.5841.0)

    资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom116.0.5841.0 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver116.0.5841.0 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)

    2024嵌入式面试资料禾赛科技2021嵌入式开发

    2024嵌入式面试资料禾赛科技2021嵌入式开发提取方式是百度网盘分享地址

    基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本115.0.5790.90)

    资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5790.90 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5790.90 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)

    华为OD机试C卷- 欢乐的周末(Java & JS & Python & C).md-私信看全套OD代码及解析

    私信博主免费看所有华为OD真题、考试报告、手撕代码、面试记录

    基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本115.0.5773.4)

    资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5773.4 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5773.4 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)

    2023全球财富报告(英)-2023-76页.pdf

    2023全球财富报告(英)-2023-76页.pdf

    2024嵌入式面试资料指针经验总结

    2024嵌入式面试资料指针经验总结提取方式是百度网盘分享地址

    C++ MPI多进程并发

    C++ MPI多进程并发

    毕设:企业员工绩效考评系统的设计与实现-java语言的前后端分离的webapp

    本项目是java语言的前后端分离的webapp: ● 前端:html+mui+jquery,HBuilder开发,nginx部署 ● 后端:jdk8+springboot+mybatisPlus,idea开发,tomcat部署 ● 由于前后端分开开发,会产生跨域问题,故开发中用nginx做代理服务器 企业员工绩效考评系统是一个涉及人力资源管理、数据分析和技术实现的复杂项目。使用Java语言进行前后端分离的Web应用开发是一个不错的选择,因为它能够提供稳定、可扩展和易于维护的解决方案。以下是一个基于Java语言的企业员工绩效考评系统的设计与实现建议: 1. 需求分析 用户角色:确定系统的主要用户角色,如员工、部门经理、人力资源部门等。 核心功能: 员工自我评估:员工可以定期进行自我评估,提交工作表现和目标完成情况。 上级评估:部门经理可以对下属员工进行绩效评估,并提供反馈。 数据汇总与分析:人力资源部门可以汇总员工绩效数据,进行统计分析和报告生成。 实时通知与提醒:系统能够及时通知员工和管理者有关绩效评估的相关信息。 2. 技术选型 前端:HTML5、CSS3、JavaScript(可

    2024嵌入式面试资料2022交大捷普社招-C开发

    2024嵌入式面试资料2022交大捷普社招-C开发提取方式是百度网盘分享地址

    毕业设计-基于四元数变换的彩色图像水印算法设计与实现.zip

    毕业设计-基于四元数变换的彩色图像水印算法设计与实现. 题目:基于四元数变换的彩色图像水印算法设计与实现 ● 变换算法: QDFRNT, 四元数分数阶随机变换 、 QDFRFT, 四元数分数阶傅里叶变换 ● 水印算法: ● 基于 SVM 的自适应彩色图像水印算法 ● 基于量化的自适应彩色图像水印算法 ( TODO ### 一、引言 #### 1.1 研究背景 随着数字技术的飞速发展和广泛应用,图像已成为信息传播的重要形式之一。然而,由于图像易于复制和篡改,版权保护问题日益突出。水印作为一种有效的版权保护手段,通过在图像中嵌入不易察觉的标志或图案来标识图像的所有权,从而防止未经授权的复制和分发。传统的水印方法主要依赖于像素级别的操作,如改变图像的颜色或纹理,但这些方法容易被分析和去除。近年来,四元数变换作为一种非线性几何变换,被应用于图像处理领域,为水印算法的改进提供了新的思路。 #### 1.2 研究目的 本研究的目的是设计和实现一种基于四元数变换的彩色图像水印算法。通过在水印图像上施加四元数变换,使得水印对原图像的视觉质量影响最小,同时提高算法的鲁棒性,使其能够在多种图像处理操作(

    2024年小型通用减速机行业分析报告.pptx

    行业报告

    华为OD机试C卷- 迷宫问题(Java & JS & Python).md-私信看全套OD代码及解析

    私信博主免费看所有华为OD真题、考试报告、手撕代码、面试记录

Global site tag (gtag.js) - Google Analytics