博客公告(点击显示/隐藏)| 今日心情:神学
2010-07-30 21:09:43
小S吧今天你来了吗?更新速度:每周2-3篇以上!在俺博客看到有用的东西,学习了之后,记得回访带点人气哦 ^_^ 嘿嘿!
欢迎跟俺交换友情链接啊。。留言,直接QQ等联系我都行啊
转载本博客文章请注明:来源小S吧——sunbright博客,链接地址:http://www.xiaos8.com
2010
6-10
一位正在初学C++的同事,突然问我一个问题,说用打印函数,只用for循环,怎么输出一个菱形?
想起来这是以前学编程时,非常基础的一个问题
本来以为很简单,于是随便想了一下,发现还真没想象那么简单额
于是乎,努力仔细的想想,于是下面的答案就出来了
当然是Flash写的:
我这个用了3个for循环,不知道有没有用的for循环更少的方法?
(注意哦,只能用for循环和基本的运算)
想起来这是以前学编程时,非常基础的一个问题
本来以为很简单,于是随便想了一下,发现还真没想象那么简单额
于是乎,努力仔细的想想,于是下面的答案就出来了
当然是Flash写的:
我这个用了3个for循环,不知道有没有用的for循环更少的方法?
(注意哦,只能用for循环和基本的运算)
var k:int, result:String = "", sum:int = 7;
var s:int = Math.abs(- sum / 2);
for(var i:int = 0; i < sum; i ++){
var n:int = Math.abs(s - i);
var t:int = sum - n * 2;
for(k = 0; k < n; k ++){
result += " ";
}
for(k = 0; k < t; k ++){
result += "*";
}
result += "\n";
}
trace(result);输出结果:
*
***
*****
*******
*****
***
*
var s:int = Math.abs(- sum / 2);
for(var i:int = 0; i < sum; i ++){
var n:int = Math.abs(s - i);
var t:int = sum - n * 2;
for(k = 0; k < n; k ++){
result += " ";
}
for(k = 0; k < t; k ++){
result += "*";
}
result += "\n";
}
trace(result);输出结果:
*
***
*****
*******
*****
***
*
2010
6-8
鼠标的滚轮不灵活了,自己拆开看了一下
发现是橡皮圈和滚轮太松了,摩擦力不够,致使滚动滚轮时,滚动条没任何反应
于是乎就想办法增加橡皮圈和滚轮之间的摩擦力
刚开始用纸在橡皮圈和滚轮之间再固定一层增加摩擦力,弄好后效果倒是达到了,但是橡皮圈因此鼓了起来,致使滚动时,老是被卡住
突然想起个把月买过502胶,把橡皮圈和滚轮之间涂上一层502胶,少许时间后,效果达到了
于是在将鼠标组装起来,试了一下效果,嘿!还真不错!
又省了几十块钱换鼠标了,哇哈哈!
发现是橡皮圈和滚轮太松了,摩擦力不够,致使滚动滚轮时,滚动条没任何反应
于是乎就想办法增加橡皮圈和滚轮之间的摩擦力
刚开始用纸在橡皮圈和滚轮之间再固定一层增加摩擦力,弄好后效果倒是达到了,但是橡皮圈因此鼓了起来,致使滚动时,老是被卡住
突然想起个把月买过502胶,把橡皮圈和滚轮之间涂上一层502胶,少许时间后,效果达到了
于是在将鼠标组装起来,试了一下效果,嘿!还真不错!
又省了几十块钱换鼠标了,哇哈哈!
2010
6-3
2010
6-3
很少写Flex相关的东西,今天遇到了这个问题,想了很多办法,也查了百度,都没有得到比较正确的办法。
下面是解决的办法,但不知道有没有更简单的办法就是了,俺只是业余摆弄一下Flex做一些AIR小工具。首先是一段DataGrid相关实例代码:
1、得到resize之后一定要dataComp.validateNow();,这样取出来的总列宽才是正确的!
2、第一个for循环在计算总列宽,直接取dataComp的宽度是不对的,它会包含滚动条的宽度,我也不知道有没有什么办法可以直接取到总列宽,因此我采用了for循环去累加列宽;
3、第二个for循环在设置widthList中是在设置需要固定列宽的子项,然后从总列宽中减去;
4、第三个for循环在设置widthList中是按百分比设置子项列宽。
下面是解决的办法,但不知道有没有更简单的办法就是了,俺只是业余摆弄一下Flex做一些AIR小工具。首先是一段DataGrid相关实例代码:
<mx:DataGrid id="dataComp" dataProvider="{resultList}" width="100%" height="100%" sortableColumns="false" selectable="false"
resizableColumns="false" draggableColumns="false" resize="dataCompResizeHandle()">
<mx:columns>
<mx:DataGridColumn dataField="line" headerText="行数" textAlign="center" width="40"/>
<mx:DataGridColumn dataField="text" headerText="匹配文本" paddingLeft="5" paddingRight="5"
itemRenderer="mx.controls.Label"/>
<mx:DataGridColumn dataField="path1" headerText="路径" paddingLeft="5" paddingRight="5"
itemRenderer="mx.controls.Label"/>
<mx:DataGridColumn dataField="times" headerText="次数" textAlign="center" width="40"/>
</mx:columns>
</mx:DataGrid>
侦听resize事件,当得到resize之后做这样的操作:resizableColumns="false" draggableColumns="false" resize="dataCompResizeHandle()">
<mx:columns>
<mx:DataGridColumn dataField="line" headerText="行数" textAlign="center" width="40"/>
<mx:DataGridColumn dataField="text" headerText="匹配文本" paddingLeft="5" paddingRight="5"
itemRenderer="mx.controls.Label"/>
<mx:DataGridColumn dataField="path1" headerText="路径" paddingLeft="5" paddingRight="5"
itemRenderer="mx.controls.Label"/>
<mx:DataGridColumn dataField="times" headerText="次数" textAlign="center" width="40"/>
</mx:columns>
</mx:DataGrid>
//数据对象重设尺寸处理
private var widthList:Array = [40,0.7,0.3,40];
private function dataCompResizeHandle():void{
dataComp.validateNow();
var value:Number,display:DataGridColumn,i:int;
var list:Array = dataComp.columns;
var length:int = list.length;
var dataWidth:int = 0;
for(i = 0; i < length; i ++){
display = list[i];
dataWidth += display.width;
}
for(i = 0; i < length; i ++){
display = list[i];
value = widthList[i];
if(value > 1){
dataWidth -= value;
display.width = int(value);
}
}
for(i = 0; i < length; i ++){
display = list[i];
value = widthList[i];
if(value <= 1) display.width = int(dataWidth * value);
}
}
要点注释:private var widthList:Array = [40,0.7,0.3,40];
private function dataCompResizeHandle():void{
dataComp.validateNow();
var value:Number,display:DataGridColumn,i:int;
var list:Array = dataComp.columns;
var length:int = list.length;
var dataWidth:int = 0;
for(i = 0; i < length; i ++){
display = list[i];
dataWidth += display.width;
}
for(i = 0; i < length; i ++){
display = list[i];
value = widthList[i];
if(value > 1){
dataWidth -= value;
display.width = int(value);
}
}
for(i = 0; i < length; i ++){
display = list[i];
value = widthList[i];
if(value <= 1) display.width = int(dataWidth * value);
}
}
1、得到resize之后一定要dataComp.validateNow();,这样取出来的总列宽才是正确的!
2、第一个for循环在计算总列宽,直接取dataComp的宽度是不对的,它会包含滚动条的宽度,我也不知道有没有什么办法可以直接取到总列宽,因此我采用了for循环去累加列宽;
3、第二个for循环在设置widthList中是在设置需要固定列宽的子项,然后从总列宽中减去;
4、第三个for循环在设置widthList中是按百分比设置子项列宽。
1 快速浏览所有文章




- 查看svn更新内容以及最新状态(实时更新)
- 查看框架API文档(09.6.15更新)
- 查看框架代码(09.4.20更新)
框架暂停开发,且没有完全竣工,目前只能使用air包和library包!