当前位置:网站首页>CAPL script printing functions write, writeex, writelineex, writetolog, writetologex, writedbglevel do you really know which one to use under what circumstances?
CAPL script printing functions write, writeex, writelineex, writetolog, writetologex, writedbglevel do you really know which one to use under what circumstances?
2022-07-06 09:48:00 【Ant soldier】
Preface
- Engaged in industry “ several tens of years ”, You can always meet these printing functions on different occasions , What's the difference , Today, the blogger will give the students a wisp
- Demonstrate hardware and software environment Win10 x64 ; CANoe 11 SP2 x64
- This chapter demonstrates the source code download , Click the jump
write
1️⃣ First create the project and file , For demonstration
2️⃣ write It is the simplest and most commonly used printing function , Post it here , It is to make you familiar with the print formats of different data types .
3️⃣ Testing process , Output Soure
The type is CAPL/.NET
on key 'a'
{
write ("pressed key %c",this);
}
writeEx
1️⃣ writeEx Just like write More complicated , You can specify the display position of printing , You can also specify the type of printing
- writeEx It will print on the last line of the window , That is to say No line wrapping
2️⃣ Testing process , Printed on Trace On , Remember trace Of CAPL To check
on key 'b'
{
writeEx (TraceWindow,Information,"pressed key %c",this);
}
3️⃣ Testing process , It can be seen that the output is System Page , And printing without line breaks
on key 'c'
{
writeEx (SystemWindow,Information,"pressed key %c",this);
writeEx (SystemWindow,Warning,"pressed key %c",this);
}
writeLineEX
1️⃣ and writeEx The difference between printing and wrapping , You can specify the display position of printing , You can also specify the type of printing
2️⃣ Testing process
on key 'd'
{
writeLineEx (SystemWindow,Information,"pressed key %c",this);
writeLineEx (SystemWindow,Warning,"pressed key %c",this);
}
writeToLog
1️⃣ writeToLog seeing the name of a thing one thinks of its function , That is to say Logging The document writes something ,
2️⃣ Since it's to logging File write data , Then create a logging Block , Set to CAPL Triggered mode , need logging
3️⃣ The test code is as follows :
On key 'f'
{
char timeBuffer[64];
getLocalTimeString(timeBuffer);
write("pressed key %d",this);
setLogFileName("logging", "test.asc");
startLogging("logging",100);
writeToLog("%s *************writeToLog*************",timeBuffer);
writeToLogEx("%s: *************writeToLogEx*************",timeBuffer);
stopLogging("logging",100);
}
4️⃣ Output results
- writeToLog and writeToLogEx The difference can also be seen ,writeToLog Just print more “// Time stamp ”
writeToLogEx
writeDbgLevel
1️⃣ This is very easy to use with functions , I suggest you learn to use , In larger projects , It is not recommended to use write
and writeLineEx
Wait for the output function to debug the code , Because we can't control these debug Output or not
- This function can decide whether to print it according to priority
- The first parameter is to specify priority , The lower the number is , Description higher priority ,debug The more likely information is to be output , Of course , It depends on
setWriteDbgLevel
Set priority - 0 The highest priority , If setWriteDbgLevel(0), So every time I call writeDbgLevel function , The first argument must be =0 , Can be output , Otherwise the output is suppressed
- 15 Has the lowest priority , If setWriteDbgLevel(15) So every time I call writeDbgLevel function , The first parameter is equal to whatever , Can output
- In actual development , We will pass weite too debug Our code , After debugging , We don't expect this debug The information is printed , Then we can go through setWriteDbgLevel Function to increase the output priority , Achieve the purpose of inhibiting output
- It is recommended to use ,
2️⃣ Test code and test results
On key 'g'
{
setWriteDbgLevel(7);
writeDbgLevel (4, "This is shown:");
// Output: This is shown
writeDbgLevel (9, "This is not shown");
// No output
}
End |
summary
- Have the most simple life , The furthest dream , Even if it's freezing tomorrow , Lu Yao's horse died !
- Wechat partners can pay attention Langge on-board diagnosis , A small circle in the industry , In the group
SkyDrive data
,Source code
,There are all kinds of gods
Free time communication technology , Talk about job opportunities .- If this blog is helpful to you , please “ give the thumbs-up ” “ Comment on ”“ Collection ” One key, three links Oh ! It's not easy to code words , Everyone's support is my driving force to stick to it .
边栏推荐
猜你喜欢
If a university wants to choose to study automation, what books can it read in advance?
Redis connection redis service command
Full stack development of quartz distributed timed task scheduling cluster
Programmation défensive en langage C dans le développement intégré
51单片机进修的一些感悟
Which is the better prospect for mechanical engineer or Electrical Engineer?
《ASP.NET Core 6框架揭秘》样章发布[200页/5章]
嵌入式开发中的防御性C语言编程
Defensive C language programming in embedded development
Hugo blog graphical writing tool -- QT practice
随机推荐
Hero League rotation chart manual rotation
Redis connection redis service command
CAPL脚本中关于相对路径/绝对路径操作的几个傻傻分不清的内置函数
Several ways of MySQL database optimization (pen interview must ask)
Full stack development of quartz distributed timed task scheduling cluster
CAP理论
Research and implementation of hospital management inpatient system based on b/s (attached: source code paper SQL file)
YARN组织架构
Mapreduce实例(九):Reduce端join
英雄联盟轮播图自动轮播
MapReduce instance (V): secondary sorting
Cooperative development in embedded -- function pointer
May brush question 26 - concurrent search
Mapreduce实例(五):二次排序
Publish and subscribe to redis
六月刷题02——字符串
June brush question 01 - array
五月集训总结——来自阿光
O & M, let go of monitoring - let go of yourself
六月刷题01——数组