中国DOS联盟论坛

中国DOS联盟
-- 联合DOS 推动DOS 发展DOS --

联盟域名:cndos.rths.ml  论坛域名:cndos.rths.ml/forum

DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

» 游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助

 
« « 2021-7 » »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

栏目分类

最热的 5 篇文章

搜索网志文章


在线用户 : 10
0 位会员   10 位游客
[VBS]如何把文本中回车转换成&vbcr&字符
如何把文本中回车转换成&vbcr&字符??
比如用ReadAll读了个文本的内容,假设是:

ff
fukkk
eee


然后把转换成:
ff&vbcr&fukkk&vbcr&eee

我用Asc函数转换,但转换成这样的:
ff
&vbcr&fukkk
&vbcr&eee

请指教啊!谢谢

评论
<<   [1] [2]  >>   >



  Quote:
Originally posted by kich at 2007-4-14 10:02:
如何把文本中回车转换成&vbcr&字符??
比如用ReadAll读了个文本的内容,假设是:

ff
fukkk
eee


然后把转换成:
ff&vbcr&fukkk&vbcr&eee

我 ...

你所谓的回车,其实是回车+换行,如果没猜错的话,你只是替换了回车,还剩换行在呢,当然是那效果。

baomaboy 2007-4-14 11:40

哦,对的,恩,谢谢了!好象是这么做的!!

问一下,把一篇TXT文字(里面可能会有特殊符号和回车)定义成一个很长的字符,然后放到VBS脚本里做为一个常数,怎么做啊??

kich 2007-4-14 11:57



  Quote:
Originally posted by kich at 2007-4-14 11:57:
哦,对的,恩,谢谢了!好象是这么做的!!

问一下,把一篇TXT文字(里面可能会有特殊符号和回车)定义成一个很长的字符,然后放到VBS脚本里做为一个常数,怎么做啊??

没看明白你的意思.

baomaboy 2007-4-14 12:13

就是说,如果我有一大段文字,我需要它作为一个常量,然后我准备输入到其他文本里(因为其他文本要用到这些文字).比如说,一个HTML的小段文字,我要把它作为一个常量输出,但它里面有特殊字符,怎么解决??(回车和引号,不能把这一大段作为一个常量吧,因为有回车在里面嘛)

不知道有没有说明白!!

kich 2007-4-15 00:13

引号 可以用chr(34)

不如你再说明白一些你的最终目的,比如这样做是为了"加密" 或其他的

baomaboy 2007-4-15 00:20

我的目的:
我是想做一个中英文双字幕的字幕文件,但首先要对这些字幕做格式说明,因为我要对很多电影的字幕做操作,而他们的格式都是一样的,所以,这些定义的格式,可以把它做成一个常量放在VBS文件里,然后,分别调入中英文字幕再稍加处理,然后在这些中英文字幕的最前面加上定义的格式说明(就是那个常量),但这个常量是个比较长的文本段,有十几行,没办法做成一个常量.
为更表达更清晰,把那个格式定义帖出来放在下面,看看怎么把这段文本做成一个常量呢?
CODE:  [Copy to clipboard]
[Script Info]
;本字幕为英语在上,汉语在下,视频内部有时会出现英语.
ScriptType: v4.00
Collisions: Normal
PlayResX: 384
PlayResY: 288
Timer: 100.0000

[V4 Styles]
;汉字样式
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,17,&Hffffff,&H00ffff,&H000000,&H000000,-1,0,1,2,0,2,20,20,21,0,1

;英语样式
Style: Default2,Arial,12,&Hffffff,&H00ffff,&H000000,&H000000,-1,0,1,2,0,2,20,20,5,0,1

;当视频内置英文字幕时,则用次汉语字幕样式,以至不会隐藏掉视频里的英语字幕.
Style: Default3,Arial,15,&Hffffff,&H00ffff,&H000000,&H000000,-1,0,1,2,0,2,20,20,5,0,1
当然,有时候还涉及到引号!
Thx

[ Last edited by kich on 2007-4-15 at 12:27 AM ]

kich 2007-4-15 00:26

我以前的做法是把这段文字作成一个文本文件放在那,然后用ReadAll调用,但这就要求这个文本文件必须存在,很麻烦,一个脚本+一个文件!
如果把这段文字定义成常量放在VBS里,这样就省事多了,可以随便拷贝了!!

kich 2007-4-15 00:31



  Quote:
Originally posted by kich at 2007-4-15 00:31:
我以前的做法是把这段文字作成一个文本文件放在那,然后用ReadAll调用,但这就要求这个文本文件必须存在,很麻烦,一个脚本+一个文件!
如果把这段文字定义成常量放在VBS里,这样就省事多了,可以随便拷贝了!!

遇到阻碍单行的符号就用替换的方法吧,要输出时再还原,呵呵 几乎所有的病毒都是用此法加密自身为单行的,替换成一些绝对不会有冲突的比如chr(18)、chr(30)。。。

[ Last edited by baomaboy on 2007-4-15 at 01:05 AM ]

baomaboy 2007-4-15 00:55

哦,原来就是用一个不会冲突的字符代替啊,那就用一些特殊字符来替换吗?
那回车+换行怎么换!
我是想做一个专门用于转换的VBS文件,把文件拖上去,然后就输出一个替换过的文件!
那么这个VBS在处理回车+换行,应该怎么写程序呢?
Replace(content,chr(13)+char(10),cha(18))??

kich 2007-4-15 01:07



  Quote:
Originally posted by kich at 2007-4-15 01:07:
哦,原来就是用一个不会冲突的字符代替啊,那就用一些特殊字符来替换吗?
那回车+换行怎么换!
我是想做一个专门用于转换的VBS文件,把文件拖上去,然 ...

Replace(content,chr(13)+char(10),cha(18))??
分别替换因为个别时回车和换行不连接,那Replace(content,chr(13)+char(10),cha(18))失效了。
Replace(content,chr(13),cha(28))
Replace(content,chr(13),cha(29))
Replace(content,chr(34),cha(18)) 替换" 因为 " 在VBS中用于注释 变单行后 " 之后全变成注释了 所以必须换掉。

想拖到上面输出:

content=readallstr
content=Replace(content,chr(13),cha(28))
content=Replace(content,chr(13),cha(29))
content=Replace(content,chr(34),cha(18))
fso.输出content

原理是这样的 实际操作中大多用 For len(content) 遍历来替换的

[ Last edited by baomaboy on 2007-4-15 at 01:39 AM ]

baomaboy 2007-4-15 01:38

哦,原来是这样,晚上我回去试试看到底是怎么才能输出我想要的东西!!
谢谢指教!有什么不明白,我还来这里问问看啊!!
Thx

kich 2007-4-15 04:00

和单引不知道有什么关系,字符串里貌似只有""特殊罢了。

slore 2007-4-15 05:12

有这样一个单引过滤好是好点我觉得!因为我想还转换其他的文本的呢!!

呵呵,谢谢各位指教!

kich 2007-4-15 23:21

"我是单引号 '你把我当字符串我没有被注释!"
你看上面的能被注释掉么?

slore 2007-4-16 00:13

发表评论
标题:   [可选]
选项:
 禁用 URL 识别
 禁用 Smilies
 禁用 Discuz! 代码
 使用个人签名
 接收新回复邮件通知

           
[完成后可按 Ctrl+Enter 发布]

可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



[ 联系我们 - 中国DOS联盟 ]


Powered by Discuz! © 2001-2011