SAP ABAP WRITE语法大全
列表是ABAP/4报表程序数据的输出媒介。每个ABAP/4报表程序将其输出数据传递到直接与该程序连接的列表中。每个程序最多生成21个列表:1个基本列表和20个辅助列表。
将数据写入列表的基本ABAP/4语句是WRITE、SKIP和ULINE输出语句。
一、标准列表结构
(1)标准页眉:标准页眉至少包括两行标准标题。标准标题的首行包含列表表头和页号。第二行由水平线组成。执行程序时,列表表头存储在系统字段SY-TITLE中。如果需要,可以在标准标题中包括最多四行列头和另一条水平线。
(2)标准页
输出数据显示在页眉之下。标准列表包含一个动态长度的单页(内部限制60,000行)。输出长度由当前列表大小确定。输出屏幕包括一个垂直滚动条,允许用户滚动页长超过窗口的列表。
(3)标准列表的宽度
标准列表的宽度取决于执行报表时的窗口宽度。如果用户窗口小于或等于标准窗口大小,则标准页宽应符合标准窗口宽度。用户可能必须滚动列表才能查看列表的所有部件。如果用户窗口超过标准窗口宽度,则标准列表的宽度符合选定标准窗口的宽度。
二、修改列表和列标题
(1)自定义列表
可以修改标准列表的结构并创建单个结构的列表。使用REPORT语句选项以及事件TOP-OF-PAGE和END-OF-PAGE。PROGRAM语句与REPORT语句等介并有相同的选项。如果列表包括几页,则可以分别定义每页的结构。
---单个页眉:要分别定义页眉的格式,必须在紧随事件关键字TOP-OF-PAGE的处理块中定义,
语法:
TOP-OF-PAGE.
WRITE:....
TOP-OF-PAGE事件在系统开始处理列表新页时出现。系统在输出新页首行之前处理TOP-OF-PAGE后面的语句。如果要取消标准页眉,使用语法:REPORT <rep> NO STANDARD PAGEHEADING.使用该语句时,系统不在报表<rep>列表上显示标准页眉。
REPORT ZJESSE02 NO STANDARD PAGE HEADING.
TOP-OF-PAGE.
WRITE: SY-TITLE, 40 'Page', SY-PAGNO.
ULINE.
WRITE: / 'SAP AG', 29 'Walldorf, ',SY-DATUM,
/ 'Neurottstr. 16', / '69190 Walldorf/Baden'.
ULINE.
START-OF-SELECTION.
DO 5 TIMES.
WRITE / SY-INDEX.
ENDDO.
报表程序不使用标准页眉,而是使用 TOP-OF-PAGE 之后的自定义页眉。要显式结束TOP-OF-PAGE处理块,必须指定事件关键字 START-OF-SELECTION。
(2)确定列表宽度
要确定输出列表的宽度,使用REPORT语句的LINE-SIZE选项。语法: REPORT<rep> LINE-SIZE<width>.该语句根据<width>字符确定报表<rep>输出列表的宽度。如果将<width>设置为0,则系统使用标准列表的宽度。一行最多可包含255个字符。如果要打印列表,大多数据打印机不能打印超过132个字符的列表。创建列表时,系统字段SY-LINSZ包含当前行宽。要将列表宽度调整为当前窗口宽度,使用ULINE语句(不带AT选项)创建的水平线自动适配自定义列表宽度。
REPORT ZJESSE02 LINE-SIZE 60.
WRITE: 'SY-LINSZ:', SY-LINSZ.
ULINE.
DO 20 TIMES.
WRITE SY-INDEX.
ENDDO.
(3)确定页长
要确定输出列表的页长,使用REPORT语句的LINE-COUNT选项。REPORT<rep> LINE-COUNT<length>[(<n>)].该语句用<length>行确定报表的页长。如果指定选项号<n>,则系统为页脚保留<n>行页长。并不将这些页脚行填写到END-OF-PAGE事件中,而是作为空行显示。如果设置为0,则系统使用标准页长。创建列表时,系统字段SY-LINCT包含每页的当前行数。
REPORT ZJESSE02 LINE-SIZE 40 LINE-COUNT 4.
WRITE: 'SY-LINCT:', SY-LINCT.
SKIP.
DO 6 TIMES.
WRITE / SY-INDEX.
ENDDO.
该程序将页长确定为四行。使用标准页眉。假定标准页眉 包括两行列表表头:
JESSE的ABAP程序 1
SY-LINCT: 4
JESSE的ABAP程序 2
1
2
JESSE的ABAP程序 3
3
4
JESSE的ABAP程序 4
5
6
(4)定义页脚
要定义页脚,使用END-OF-PAGE事件。在处理列表页时,如果系统到达页脚保留行,或者如果RESERVE语句触发分布则该事件发生。在紧接着END-OF-PAGE事件关键字的处理块中填充页脚的行:
语法
END-OF-PAGE.
WRITE:...
如果为REPORT语句的LINE-COUNT选项中的脚注保留行,则系统只处理紧接着END-OF-PAGE的处理块。
REPORT ZJESSE02 LINE-SIZE 40 LINE-COUNT 6(2)
NO STANDARD PAGE HEADING.
TOP-OF-PAGE.
WRITE: 'Page with Header and Footer'.
ULINE AT /(27).
END-OF-PAGE.
ULINE.
WRITE: /30 'Page', SY-PAGNO.
START-OF-SELECTION.
DO 6 TIMES.
WRITE / SY-INDEX.
ENDDO.
该程序包括三个处理块。关闭标准页眉。将页长设置为六行,其中两行留作页脚。列表包括三页,每页六行。每页由自定义的两行页眉、两行实际列表和两行页脚组成。页脚中显示的当前页号来自系统字段SY-PAGNO 。运行结果如下:
Page with Header and Footer
1
2
Page 1
Page with Header and Footer
3
4
Page 2
Page with Header and Footer
5
6
Page 3
多页列表
如果在报表中写入列表输出页的行数超过在REPORT语句LINE-COUNT选项中定义的行数,则系统自动创建新页。每个新页都包含为报表定义的页眉和页脚(如果有的话)。除自动分布外,可以使用NEW-PAGE和RESERVE语句显式地编码分布。NEW-PAGE语句的选项允许分别设置每页格式。也需要NEW-PAGE语句在程序内打印列表。
无条件分页
要在页处理期间触发分页,请使用NEW-PAGE.
REPORT ZJESSE02 LINE-SIZE 40.
TOP-OF-PAGE.
WRITE: 'TOP-OF-PAGE', SY-PAGNO.
ULINE AT /(17).
START-OF-SELECTION.
DO 2 TIMES.
WRITE / 'Loop:'.
DO 3 TIMES.
WRITE / SY-INDEX.
ENDDO.
NEW-PAGE.
ENDDO.
条件分页
RESERVE <n> LINES.
REPORT ZJESSE02 LINE-SIZE 40 LINE-COUNT 8(2).
END-OF-PAGE.
ULINE.
START-OF-SELECTION.
DO 4 TIMES.
WRITE / SY-INDEX.
ENDDO.
DO 2 TIMES.
WRITE / SY-INDEX.
ENDDO.
RESERVE 3 LINES.
WRITE: / 'LINE 1',
/ 'LINE 2',
/ 'LINE 3'.
该样本程序标准页眉的列表头定义为“标准页眉”。REPORT 语句将页长确定为八行 ,两行用于标准页眉,另外两行为页脚保留。页脚包括水平行和空行 。因此,输出的实际列表,每页留下四行。第一个 DO 循环填充四行,然后发生END-OF-PAGE 事件,其后系统自动开始新页。在第二个 DO 循环之后, 因为页上剩余的自由行 数少于三, 因此 RESERVE语句触发 END-OF-PAGE 事件和分页 。
单页的标准页眉
标准页眉包括列表和列标题。
NEW-PAGE [NO-TITLE|WITH-TITLE] [NO-HEADING|WITH-HEADING].
使用NO-TITLE或WITH-TITLE选项取消或在以后所有页上显示标准表头。基本列表的缺省值为WITH-TITLE,辅助列表为NO-TITLE.使用NO-HEADING或WITH-HEADING选项取消或在以后所有页上显示列标题。基本列表的缺省值为WITH-HEADING,辅助列表为NO-HEADING.即使使用REPORT语句的NOSTANDARD PAGEHEADING选项取消标准页眉,也能使用WITH-TITLE和WITH-HEADING激活单个组件的显示。
REPORT ZJESSE02 LINE-SIZE 40.
WRITE: 'Page', SY-PAGNO.
NEW-PAGE NO-TITLE.
WRITE: 'Page', SY-PAGNO.
NEW-PAGE NO-HEADING.
WRITE: 'Page', SY-PAGNO.
NEW-PAGE WITH-TITLE.
WRITE: 'Page', SY-PAGNO.
NEW-PAGE WITH-HEADING.
WRITE: 'Page', SY-PAGNO.
该程序创建五页,分别带有不同页眉。将列表表头标题文本元素定义为“标准页眉”,列标题定义为“列”。
第 1 和 5 页包含完整的标准页眉 。第 2 页没有列表表头。在第 3 页上,取消整个页眉。 在第 4 页上,省略列标题。
单页页长
要分别确定每页的页长,请使用NEW-PAGE语句:
NEW-PAGE LINE-COUNT<length>."该语句将后续的页长确定为<length>。可以是变量。如果设置为0,则系统使用标准页长。页眉是页的部分因此也是页长的部分。要将页长适配当前窗口长度,将值设置为SY-SROWS.
列表级的页宽
NEW-PAGE LINE-SIZE <width>.从新页开始的所有列表级宽度都为<width>,而不是REPORT语句中定义的宽度。
通过窗口滚动窗口
SCROLL LIST FORWARD|BACKWRAD[INDEX<idx>].不带INDEX选项时,该语句以当前窗口大小向前或向后滚动当前列表。使用INDEX选项时,系统以列表级<idx>滚动列表。
REPORT ZJESSE02 NO STANDARD PAGE HEADING LINE-SIZE 40.
TOP-OF-PAGE.
WRITE: 'Top of Page', SY-PAGNO, 'SY-SROWS:', SY-SROWS.
ULINE.
START-OF-SELECTION.
DO 100 TIMES.
WRITE / SY-INDEX.
ENDDO.
DO 3 TIMES.
SCROLL LIST FORWARD.
ENDDO.
按页滚动
要按页滚动列表,即按页长垂直滚动列表,SCROLL语句提供下列选项:
SCROLL LIST TO FIRST PAGE|LASTPAGE|PAGE<pag>[INDEX<idx>][LINE<lin>].
不用INDEX选项,语句将当前列表滚动到首页、尾页或<pag>页。使用INDEX选项,则系统滚动列表级<idx>的列表。
REPORT ZJESSE02 NO STANDARD PAGE HEADING
LINE-SIZE 40 LINE-COUNT 8(2).
DATA: PAG TYPE I VALUE 15,
LIN TYPE I VALUE 4.
TOP-OF-PAGE.
WRITE: 'Top of Page', SY-PAGNO.
ULINE.
END-OF-PAGE.
ULINE.
WRITE: 'End of Page', SY-PAGNO.
START-OF-SELECTION.
DO 100 TIMES.
DO 4 TIMES.
WRITE / SY-INDEX.
ENDDO.
ENDDO.
SCROLL LIST TO PAGE PAG LINE LIN.
列表从第 15 页开始显示 。由于LINE 选项,实际列表的前三行滚动到页眉以下。
滚动到列表的页边缘
语法:
SCROLL LIST LEFT|RIGHT [INDEX<idx>].
按列滚动
SCROLL LIST TO COLUMN <col>[INDEX<idx>]
REPORT ZJESSE02 NO STANDARD PAGE HEADING LINE-SIZE 200.
TOP-OF-PAGE.
WRITE: AT 161 'Top of Page', SY-PAGNO,
'SY-SCOLS:', SY-SCOLS.
ULINE.
START-OF-SELECTION.
DO 200 TIMES.
WRITE SY-INDEX.
ENDDO.
SCROLL LIST TO COLUMN 178.
三、列表页面设置
定位输出
SY-COLNO用于当前列 SY-LINNO 用于当前行
(1)绝对定位:
POSITION <col>."水平定位该语句将水平输出位置和SY-COLNO系统字段设置为<col>.
SKIP TO LINE<n>."垂直定位该语句将垂直输出位置和SY-LINNO系统字段设置为<lin>.
BACK. "将输出定位到整个页眉之后的第一行
REPORT ZJESSE02 NO STANDARD PAGE HEADING LINE-SIZE 60.
DATA: X(3), Y(3).
X = SY-COLNO. Y = SY-LINNO.
TOP-OF-PAGE.
WRITE: 'Position of Header: ', X, Y.
ULINE.
START-OF-SELECTION.
SKIP TO LINE 10.
POSITION 20.
X = SY-COLNO. Y = SY-LINNO.
WRITE: '* <- Position', X, Y.
SKIP TO LINE 12.
ULINE AT 20(20).
BACK.
X = SY-COLNO. Y = SY-LINNO.
WRITE: 'Position after BACK:', X, Y.
(2)相对定位
产生换行,要生产换行,在WRITE,ULINE或NEW-LINE语句的AT选项中使用反斜杠。
NEW-LINE "该语句将输出定位在新行中,将SY-COLNO设置为1并且将SY-LINNO加1.
WRITE <f> UNDER<g>."系统从开始输出字段<g>的同一列中开始输出<f>。该语句不限于当前页。
RESERVE. ... BACK. "如果BACK紧随RESERVE,则后续输出出现在RESERVE之后的第一行中。
REPORT ZJESSE02 NO STANDARD PAGE HEADING LINE-SIZE 40.
DATA X TYPE I.
WRITE 'Some numbers:' NO-GAP.
X = SY-COLNO.
ULINE AT /(X).
RESERVE 5 LINES.
DO 5 TIMES.
WRITE / SY-INDEX.
ENDDO.
X = SY-COLNO.
BACK.
WRITE AT X ' <- Start of Loop'.
输出前两行之后,RESERVE 语句用于将后续五行定义为块。紧随 BACK 之后的输出写入到块的第一行。请注意,如何使用SY-COLNO 系统字段给第一行加下划线以及如何定位最后的WRITE输出。
输出如下:
Some numbers:
1 <- Start of Loop
2
3
4
5
格式输出:
FORMAT <option1>[ON|OFF]<option2> [ON|OFF] ....
使字段可接受输入
FORMAT INPUT [ON|OFF]. "要在运行时将输出字段设置为“准备输入”。
REPORT ZJESSE02.
WRITE 'Please fill in your name before printing:'.
WRITE / ' Enter name here ' INPUT ON.
ULINE.
WRITE 'You can overwrite the following line:'.
FORMAT INPUT ON INTENSIFIED OFF.
ULINE.
FORMAT INPUT OFF INTENSIFIED ON.
将字段输出为热点
FORMAT HOTSPOT [ON|OFF]
REPORT ZJESSE02.
INCLUDE <LIST>.
START-OF-SELECTION.
WRITE 'Now comes a'.
FORMAT HOTSPOT ON COLOR 5 INVERSE ON.
WRITE 'HOTSPOT'.
FORMAT HOTSPOT OFF COLOR OFF.
AT LINE-SELECTION.
WRITE / 'New list AT-LINE-SELECTION'.
SKIP.
WRITE 'This is also a hotspot:'.
WRITE ICON_LIST AS ICON HOTSPOT.
在本程序中 ,首行的 START-OF-SELECTION事件部分格式化为热点。标准页眉定义为文本元素。如果用户将鼠标移动到输出的 HOTSPOT 单词上,则鼠标指针更改为手形。单击触发事件AT-LINE-SELECTION。 在该事件中 ,程序创建包含其他热点的辅助列表。
特殊输出格式
SET COUNTRY <c>.
REPORT ZJESSE02 LINE-SIZE 40.
DATA: NUM TYPE P DECIMALS 3 VALUE '123456.789'.
ULINE.
WRITE: / 'INITIAL:'.
WRITE: / NUM, SY-DATUM.
ULINE.
SET COUNTRY 'US'.
WRITE: / 'US, SY-SUBRC:', SY-SUBRC.
WRITE: / NUM, SY-DATUM.
ULINE.
SET COUNTRY 'GB'.
WRITE: / 'GB, SY-SUBRC:', SY-SUBRC.
WRITE: / NUM, SY-DATUM.
ULINE.
SET COUNTRY 'DE'.
WRITE: / 'DE, SY-SUBRC:', SY-SUBRC.
WRITE: / NUM, SY-DATUM.
ULINE.
SET COUNTRY 'XYZ'.
WRITE: / 'XYZ, SY-SUBRC:', SY-SUBRC.
WRITE: / NUM, SY-DATUM.
ULINE.
SET COUNTRY SPACE.
WRITE: / 'SPACE, SY-SUBRC:', SY-SUBRC.
WRITE: / NUM, SY-DATUM.
ULINE.
运行结果如下:
JESSE的ABAP程序 1
INITIAL:
123,456.789 2011-07-16
US, SY-SUBRC: 0
123,456.789 07/16/2011
GB, SY-SUBRC: 0
123,456.789 16.07.2011
DE, SY-SUBRC: 0
123.456,789 16.07.2011
XYZ, SY-SUBRC: 4
123,456.789 07/16/2011
SPACE, SY-SUBRC: 0
123,456.789 2011-07-16
货币特有的输出格式
WRITE <f> CURRENCY<c>.
REPORT ZJESSE02 LINE-SIZE 40.
DATA: NUM1 TYPE P DECIMALS 4 VALUE '12.3456',
NUM2 TYPE P VALUE '123456'.
SET COUNTRY 'US'.
WRITE: 'USD', NUM1 CURRENCY 'USD', NUM2 CURRENCY 'USD',
/ 'BEF', NUM1 CURRENCY 'BEF', NUM2 CURRENCY 'BEF',
/ 'KUD', NUM1 CURRENCY 'KUD', NUM2 CURRENCY 'KUD'.
JESSE的ABAP程序 1
USD 1,234.56 1,234.56
BEF 123,456 123,456
KUD 123.456 123.456
单位特有输出格式
WRITE <f> UNIT<u>.
REPORT ZJESSE02 LINE-SIZE 40.
DATA: NUM1 TYPE P DECIMALS 1 VALUE 1,
NUM2 TYPE P DECIMALS 4 VALUE '2.5'.
SET COUNTRY 'US'.
WRITE: 'KG', NUM1 UNIT 'KG', NUM2 UNIT 'KG',
/ 'PC', NUM1 UNIT 'PC', NUM2 UNIT 'PC'.
JESSE的ABAP程序 1
KG 1 2.5000
PC 1.0 2.5000
画线、框架和网格
直接:
REPORT ZJESSE02 NO STANDARD PAGE HEADING.
SKIP TO LINE 3.
ULINE AT 2(1).
WRITE 4 '-'.
WRITE 6 '--'.
WRITE 9 '---'.
ULINE AT 12(4).
SKIP TO LINE 1.
POSITION 18.
WRITE '|'.
SKIP TO LINE 3.
DO 4 TIMES.
NEW-LINE.
POSITION 18.
WRITE '|'.
ENDDO.
第一条 ULINE 语句创建一列的水平线 。第一条 WRITE 语句的连字符显示为正常输出字段。第二条 WRITE语句的连字符创建两列宽的直线。下面三个连字符与 ULINE 语句一起创建七列宽的直线。输出的第一个 '|'字符在第一行中创建垂直线。其他四个 '|' 字符创建 条线段长的直线,从第 3 行开始。
角
REPORT ZJESSE02 NO STANDARD PAGE HEADING.
WRITE '--'.
WRITE / '|'.
SKIP TO LINE 1.
ULINE AT 5(6).
NEW-LINE.
WRITE 10 '|'.
SKIP TO LINE 4.
WRITE: '| |',
/ '----------'.
T型交叉
REPORT ZJESSE02 NO STANDARD PAGE HEADING.
WRITE '---'.
WRITE /2 '| |'.
ULINE AT /5(8).
SKIP TO LINE 4.
DO 3 TIMES.
WRITE '|'.
NEW-LINE.
ENDDO.
SKIP TO LINE 5.
WRITE '---------'.
SKIP TO LINE 4.
ULINE AT 6(10).
WRITE 15 '|' .
十字交叉
REPORT ZJESSE02 NO STANDARD PAGE HEADING.
WRITE ' |'.
WRITE /'-------'.
WRITE /' |'.
SKIP TO LINE 1.
DO 3 TIMES.
WRITE 12 SY-VLINE.
NEW-LINE.
ENDDO.
SKIP TO LINE 2.
ULINE AT 12(1).
特殊线
REPORT ZJESSE02 NO STANDARD PAGE HEADING LINE-SIZE 60.
INCLUDE <LINE>.
DATA: X0 TYPE I VALUE 10,
Y0 TYPE I VALUE 10,
N TYPE I VALUE 16,
I TYPE I VALUE 0,
X TYPE I, Y TYPE I.
X = X0. Y = Y0. PERFORM POS.
WHILE I LE N.
WRITE LINE_BOTTOM_LEFT_CORNER AS LINE.
X = X + 1. PERFORM POS.
ULINE AT X(I).
X = X + I. PERFORM POS.
WRITE LINE_BOTTOM_RIGHT_CORNER AS LINE.
Y = Y - 1. PERFORM POS.
DO I TIMES.
WRITE '|'.
Y = Y - 1. PERFORM POS.
ENDDO.
WRITE LINE_TOP_RIGHT_CORNER AS LINE.
I = I + 1.
X = X - I. PERFORM POS.
ULINE AT X(I).
X = X - 1. PERFORM POS.
WRITE LINE_TOP_LEFT_CORNER AS LINE.
Y = Y + 1. PERFORM POS.
DO I TIMES.
WRITE '|'.
Y = Y + 1. PERFORM POS.
ENDDO.
I = I + 1.
ENDWHILE.
FORM POS.
SKIP TO LINE Y.
POSITION X.
ENDFORM.
编程框架
可以使用ABAP/4中可用的线类型编程框架。下面的样本程序定义宏WRITE_FRAME,可以取代WRITE<f>语句。系统在WRITE_FRAME语句指定的字段<f>周围画框架,该框架字段动态适配该字段的长度。
REPORT ZJESSE02 NO STANDARD PAGE HEADING LINE-SIZE 60.
DATA: X TYPE I, Y TYPE I, L TYPE I.
DEFINE WRITE_FRAME.
X = SY-COLNO. Y = SY-LINNO.
WRITE: '|' NO-GAP, &1 NO-GAP, '|' NO-GAP.
L = SY-COLNO - X.
Y = Y - 1. SKIP TO LINE Y. POSITION X.
ULINE AT X(L).
Y = Y + 2. SKIP TO LINE Y. POSITION X.
ULINE AT X(L).
Y = Y - 1. X = SY-COLNO. SKIP TO LINE Y. POSITION X.
END-OF-DEFINITION.
SKIP.
WRITE 'Demonstrating'.
WRITE_FRAME 'dynamic frames'.
WRITE 'in'.
WRITE_FRAME 'ABAP/4'.
WRITE 'output lists.'.
编程网络
REPORT ZJESSE02 NO STANDARD PAGE HEADING LINE-SIZE 60.
TABLES SPFLI.
DATA: X TYPE I, Y TYPE I, L TYPE I.
TOP-OF-PAGE.
WRITE 3 'List of Flights in a Dynamic Grid'
COLOR COL_HEADING.
ULINE.
START-OF-SELECTION.
DEFINE NEW_GRID.
Y = SY-LINNO. Y = Y + 2. SKIP TO LINE Y.
X = SY-COLNO. POSITION X. WRITE '|'.
END-OF-DEFINITION.
DEFINE WRITE_GRID.
X = SY-COLNO. Y = SY-LINNO. POSITION X.
WRITE: &1, '|'.
L = SY-COLNO - X + 1.
X = X - 2. Y = Y + 1. SKIP TO LINE Y. POSITION X.
ULINE AT X(L).
Y = Y - 1. X = SY-COLNO. SKIP TO LINE Y. POSITION X.
END-OF-DEFINITION.
GET SPFLI.
NEW_GRID.
WRITE_GRID: SPFLI-CARRID,
SPFLI-CONNID,
SPFLI-CITYFROM,
SPFLI-CITYTO.
相关文章:
SAP ABAP WRITE语法大全
列表是ABAP/4报表程序数据的输出媒介。每个ABAP/4报表程序将其输出数据传递到直接与该程序连接的列表中。每个程序最多生成21个列表:1个基本列表和20个辅助列表。 将数据写入列表的基本ABAP/4语句是WRITE、SKIP和ULINE输出语句。 一、标准列表结构 (1&…...
微信小程序自定义全局组件showModal
开发过程中微信提供的showmodal样式不符合ui风格,又不想写成组件用的页面都引入,就考虑模拟showmodal写一个自定义的弹框组件 一,在components中新建一个navModal组件 navModal.wxml <view class="modal_mask" hidden={{hidden}}><view class="mo…...
4|无线传感器网络与应用|无线传感器网络原理及方法-许毅版|考试知识点
《无线传感器网络原理及方法》第1章无线传感器网络概述1.1无线传感器网络的基本概念1.2无线传感器网络的特征1.2.1与现有无线网络的区别1.2.2与现场总线的区别1.2.3传感器节点的限制1.2.4传感器组网的特点1.3无线传感器网络的关键性能指标1.4无线传感器网络的应用1.5无线传感器…...
startForegroundService与startService 使用浅析
一. 了解服务(Service)的概念 service是安卓开发中一个很重要组件,意为“服务”。与我们常见的activity不同,“服务”是默默的在背后进行工作的,通常,它用于在后台为我们执行一些耗时,或者需要…...
django项目实战三(django+bootstrap实现增删改查)进阶分页
目录 一、分页 1、修改case_list.html页面 2、修改views.py的case_list方法(分页未封装) 二、分页封装 1、新建类Pagination 2、修改views.py的case_list方法 三、再优化,实现搜索分页qing情况 四、优化其他查询页面实现分页和查询 五…...
Python 之 Pandas DataFrame 数据类型的简介、创建的列操作
文章目录一、DataFrame 结构简介二、DataFrame 对象创建1. 使用普通列表创建2. 使用嵌套列表创建3 指定数值元素的数据类型为 float4. 字典嵌套列表创建5. 添加自定义的行标签6. 列表嵌套字典创建 DataFrame 对象7. Series 创建 DataFrame 对象三、DataFrame 列操作1. 选取数据…...
华为OD机试真题Python实现【5键键盘的输出】真题+解题思路+代码(20222023)
🔥系列专栏 华为OD机试(Python)真题目录汇总华为OD机试(JAVA)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出描述:示例1:示例2:解题思路代码实现运行结果:版权说明:题目...
IDEA全家桶式讲解 | IDEA安装、使用、断点调试、Git、插件 (第二篇)
目录 一:JavaEE阶段需要掌握的IDEA技能 1. 配置Tomcat 2. 配置Maven 3. IDEA连接数据库 4. 方便的特殊功能 5. 断点调试(重点) 6. IDEA中常用Git协同开发(重点) 7. 常用插件安装 一:JavaEE阶段需要…...
音视频基础之封装格式与音视频同步
封装格式的概念 封装格式(也叫容器)就是将已经编码压缩好的视频流、音频流及字幕按照一定的方案放到一个文件中,便于播放软件播放。 一般来说,视频文件的后缀名就是它的封装格式。 封装的格式不一样,后缀名也就不一样。 比如&a…...
外籍在读博士|赴新西兰奥克兰大学双院士导师麾下联合培养
N同学来自阿拉伯国家,但本硕博都是在我国某省属高校就读,现为材料学专业一年级博士生。联合培养首选澳洲国家,包括澳大利亚和新西兰,其次是美国,希望在2023年初出国,以完成整个学年的学习计划。在我们的帮助…...
Learning C++ No.11【string类实现】
引言: 北京时间:2023/2/19/8:48,昨天更新了有关进程状态的博客,然后在休息的时候,打开了腾讯视屏,然后看到了了一个电视剧,导致上头,从晚上6点看到了10点,把我宝贵的博客…...
实力见“证”:Tapdata 技术创新与发展潜力广受认可
Tapdata 积极拥抱各种“不确定”,变中求新,只为呈现出更加好用的产品。 而 Tapdata 在专业领域不断深耕,持续打磨产品能力的同时,也收获了诸多来自外界的肯定,从用户到投资人,从生态伙伴到技术媒体以及官方…...
【C++修炼之路】18.map和set
每一个不曾起舞的日子都是对生命的辜负 map和setmap和set一.关联式容器二.set2.1 set的介绍2.2 set的使用1.set的模板参数列表2.set的构造3.set的迭代器4.set修改操作5.bound函数三.multiset四.map3.1 map的介绍3.2 map的使用1.map的模板参数说明2.pair的介绍3.map的[]重载五.m…...
ChatGPT原理与技术演进剖析
—— 要抓住一个风口,你得先了解这个风口的内核究竟是什么。本文作者:黄佳 (著有《零基础学机器学习》《数据分析咖哥十话》) ChatGPT相关文章已经铺天盖地,剖析(现阶段或者只能说揣测)其底层原…...
Retrofit+Hilt后端请求小项目1--项目介绍
简介 本项目根据 youtube 对应教程实现而来 将会对对应代码以及依赖(如 Hilt、retrofit、coil)进行详细的分析与解读,同时缕清项目结构安排 如文章有叙述不清晰的,请直接查看原教程:https://www.youtube.com/watch?…...
实际项目角度优化App性能
前言:前年替公司实现了一个在线检疫App,接下来一年时不时收到该App的需求功能迭代,部分线下问题跟进。随着新冠疫情防控政策放开,该项目也是下线了。 从技术角度来看,有自己的独特技术处理特点。下面我想记录一下该App…...
Structure|Alphafold2在肽结构预测任务上的基准实验
题目:Benchmarking AlphaFold2 on peptide structureprediction 文献来源:2023, Structure 31, 1–9 代码:基准实验,比较了比较多的模型 1.背景介绍 由2-50个氨基酸构成的聚合物可以称为肽。但是关于肽和蛋白质之间的差异还是…...
Simple XML
简介 官网:https://simple.sourceforge.net/home.php Github:https://github.com/ngallagher/simplexml Simple 是用于 Java 的高性能 XML 序列化和配置框架。它的目标是提供一个 XML 框架,使 XML 配置和通信系统的快速开发成为可能。该框架…...
在代码质量和工作效率的矛盾间如何取舍?
这个问题的答案是,在很短的一段时期,编写高质量代码似乎会拖慢我们的进度。与按照头脑中首先闪现的念头编写代码相比,高质量的代码需要更多的思考和努力。但如果我们编写的不仅仅是运行一次就抛之脑后的小程序,而是更有实质性的软…...
rabbitMq安装(小短文)--未完成
rabbitMq是在activeMq的基础上创造的,有前者的功能,比前者强,属于后来居上。系统环境:windows10首先下载相关软件Erlang,因为他是这个语言写的。https://www.erlang.org/downloads然后安装,并且弄到环境变量里验证是否…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
