注册 登录
编程论坛 意见和建议

关于贴程序代码

woodhead 发布于 2006-06-29 13:42, 1931 次点击
很长的程序,没有缩进格式,看这种代码心情不太好.
我知道很多代码原来是有格式的,贴上来以后好象把tab变成一个空格了。
其实论坛的功能里有 程序代码标签 这个很不错的功能, 或者 [ CODE ] 代码 [ /CODE ]
但是大多都不知道,能不能宣传宣传,这个可能会影响回帖的人的积极性。
18 回复
#2
静夜思2006-06-29 14:20
tab变成一个空格我也注意到了,暂时还没找到解决办法,有谁知道TAB的cha编码是多少?请告诉我
至于很多用户不知道“程序代码”功能,我也无能为力,论坛还有很多好用的操作方法,用户都不知道,比如上传功能很多人还不会用,这只有用户自己去发现了,不能强迫他们接受,否则只能无故增加他们的负担。
#3
woodhead2006-06-29 17:48
明白了。
tab的ASCII码的值应该是 9 ,十进制的。
#4
静夜思2006-06-29 18:09
抱歉,对于tab变四个空格现在还没找到可行的办法,现在所见的所有在线编辑器包括微软社区的编辑器还有比较出名的ewebediter编辑器都是变成一个空格的,可能这需要从浏览器上改进了。
#5
woodhead2006-06-29 18:22
没办法了,
#6
神vLinux飘飘2006-06-29 19:06
这个应该是在JAVASCRIPT中可以找到相应的代码吧

如果JAVASCRIPT中找不到,也会在从WEB提交表单到数据库存储再到数据读出并且表示出来之中任何一个地方出现。那样就难搞了
#7
静夜思2006-06-29 22:00
如果能解决应该在javascript中去做,在粘贴的时候触发事件把char(9)转换成4个    找了很多专业的JS类的网站和论坛,都是默认转换成一个空格的,现在还没找到可行的方法。
#8
神vLinux飘飘2006-06-29 23:47
int main(void){
int number=1;
printf("%d",number);
return 0;
}
#9
神vLinux飘飘2006-06-29 23:47
int main(void){
int number=1;
printf("%d",number);
return 0;
}
#10
神vLinux飘飘2006-06-29 23:48
我怎么发代码都很正常啊
#11
静夜思2006-06-29 23:49
在纯文字模式下回帖框用的textarea,很容易解决这个问题,在所见即所得模式下就不好解决了。
#12
linuxpluto2006-06-30 12:34


把空格替换成tab就可以了,这里tab被替换成空格了
<textarea id=\"a\" rows=\"10\" cols=\"90\" onbeforepaste=a()>
复 制 这
段 文  字,然后粘
贴在这里,tab会被替
换成“----”
</textarea><SCRIPT LANGUAGE=\"JavaScript\" defer>
<!--
function a() {
cbd=clipboardData.getData(\"text\")
v=\"\"
for (i=0 ;i<cbd.length;i++)
if (cbd.charCodeAt(i)==9)
v+=\"----\"
else
v+=cbd.charAt(i)
clipboardData.setData(\"text\",v)
}
//-->
</SCRIPT>

[此贴子已经被作者于2006-6-30 12:36:15编辑过]

#13
静夜思2006-06-30 14:45
回复:(linuxpluto)把空格替换成tab就可以了,...
好快,我以为你也几天才登录一次QQ,那个号我好久没登录过了。
最近工作都还好吧
我今天时间有些紧,改天仔细拜读。
#14
静夜思2006-06-30 21:59

谢谢linuxpluto的鼎力相助,楼主的问题按linuxpluto提供的方式已经完全解决,现在仅遗留一点小问题,clipboardData.getData("text")取的是文本格式,这样会把粘贴内容的HTML格式去掉而变成纯文本格式,而用clipboardData.getData("HTML")会在取读过程中把tab已经给换成了一个空格,linuxpluto能不能再想想其他的办法?

当然现在解决了程序格式的问题就算丢掉粘贴时的HTML格式也值得。

[此贴子已经被作者于2006-6-30 22:05:35编辑过]

#15
静夜思2006-06-30 22:09
测试一下

[CODE]function ctlent(){
if (document.all)
{
if(event.ctrlKey && event.keyCode==13&&ispost==0)
{
ispost=1;
Dvbbs_CopyData('Body')
this.document.Dvform.submit();
}
}
}[/CODE]
#16
静夜思2006-06-30 22:10
显得有条理多了,呵呵
#17
woodhead2006-07-01 10:47
呵呵,多谢各位了。
#18
linuxpluto2006-07-01 22:54

我也忙呦

#19
神vLinux飘飘2006-07-02 07:38
你就免了
1