hblovetian
新手,望各位大哥大姐指點(diǎn)。
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 242 個(gè)
工控威望: 492 點(diǎn)
下載積分: 6069 分
在線時(shí)間: 142(小時(shí))
注冊(cè)時(shí)間: 2010-11-04
最后登錄: 2024-09-16
查看hblovetian的 主題 / 回貼
樓主  發(fā)表于: 2017-03-29 22:27
宏指令中怎么取一個(gè)字符的前幾位,后幾位,和中間幾位。如'0123456789'怎么取12345,12345678,6789。怎么編寫宏指令,謝謝。
希望各位多多指點(diǎn)。謝謝!
lixianji_007
級(jí)別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 242 個(gè)
工控威望: 2871 點(diǎn)
下載積分: 5483 分
在線時(shí)間: 769(小時(shí))
注冊(cè)時(shí)間: 2011-08-27
最后登錄: 2024-10-25
查看lixianji_007的 主題 / 回貼
1樓  發(fā)表于: 2017-03-30 12:16
圖片:
函數(shù)庫里有這個(gè)函數(shù)的,不過威綸的宏指令手冊(cè)里沒有講解,做了個(gè)樣例仿真一下可以的;

macro_command main()
char a[10],b[10]   //定義
GetData(a[0],"TK6070iP",lw,20,10)  //讀取源字符串
StringMid(a[2],6,b[0] )    //從字符串lw20開始的第3個(gè)字符截取6個(gè)字符保存到b[0]開始地址;
SetData (b[0],"TK6070iP",lw,100,10)  //截取的字符串保存到lw100開始的地址
end macro_command
[ 此帖被lixianji_007在2017-03-30 12:22重新編輯 ]
本帖最近評(píng)分記錄:
  • 下載積分:+1(anke5410) 熱心助人!
  • 天下事有難易乎?為之,則難者亦易矣!不為,則易者亦難矣!
    lixianji_007
    級(jí)別: 工控俠客
    精華主題: 0
    發(fā)帖數(shù)量: 242 個(gè)
    工控威望: 2871 點(diǎn)
    下載積分: 5483 分
    在線時(shí)間: 769(小時(shí))
    注冊(cè)時(shí)間: 2011-08-27
    最后登錄: 2024-10-25
    查看lixianji_007的 主題 / 回貼
    2樓  發(fā)表于: 2017-03-30 14:28
    這個(gè)是字符串截取,不是浮點(diǎn)數(shù)的截取,如果要10進(jìn)制數(shù)的截取的話可以用算術(shù)運(yùn)算解決,如數(shù)據(jù)是123456,要取前4位的話就除以100,取商;如要取后4位的話就用減法;也可用邏輯運(yùn)算和算術(shù)運(yùn)算配合的方法實(shí)現(xiàn)。
    天下事有難易乎?為之,則難者亦易矣!不為,則易者亦難矣!