??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产亚洲网站,亚洲成av人片不卡无码久久,久久精品国产亚洲AV麻豆网站http://www.shnenglu.com/momoxiao/category/14698.htmlzh-cnTue, 27 Sep 2011 20:18:28 GMTTue, 27 Sep 2011 20:18:28 GMT60[zz]JavaScript ?newQ?好久不见?/title><link>http://www.shnenglu.com/momoxiao/archive/2011/09/24/156668.html</link><dc:creator>默</dc:creator><author>默</author><pubDate>Fri, 23 Sep 2011 20:54:00 GMT</pubDate><guid>http://www.shnenglu.com/momoxiao/archive/2011/09/24/156668.html</guid><wfw:comment>http://www.shnenglu.com/momoxiao/comments/156668.html</wfw:comment><comments>http://www.shnenglu.com/momoxiao/archive/2011/09/24/156668.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/momoxiao/comments/commentRss/156668.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/momoxiao/services/trackbacks/156668.html</trackback:ping><description><![CDATA[<div><a >http://ued.taobao.com/blog/2007/05/15/%E4%BD%A0%E7%9C%9F%E7%9A%84%E4%BC%9A%E5%86%99javascript%E5%90%97%EF%BC%9F/<br /></a>--<br /><span id="lhb7vpv" class="Apple-style-span" style="color: #333333; font-family: Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif; line-height: 25px; background-color: #ffffff; "><h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 16px; color: #ff6700; font-family: 'Microsoft Yahei'; ">JavaScript ?newQ?好久不见?/h2><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2"><em style="font-style: italic; ">原文Q?nbsp;</em><a style="text-decoration: underline; color: #0064b1; "><font size="2"><em style="font-style: italic; ">JavaScript, We Hardly new Ya</em></font></a><em style="font-style: italic; "> Q-</em></font><em style="font-style: italic; "><font size="2">Douglas Crockford?/font></em></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">JavaScript是一门基于原型的语言Q但它却拥有一?new 操作W得其看v来象一门经典的面对对象语言。那样也qh了程序员们,D一些有问题的编E模式?/font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">其实你永q不需要在JavaScript使用 new Object()。用字面量的形式{}d代吧?br /></font><font size="2"><br />同理Q不要?new Array() Q而代之以字面量[]。JavaScript中的数组q不象Java中的数组那样工作的,使用cMJava的语法只会让你糊涂?/font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">同理不用使用 new Number, new String, 或?new Boolean。这些的用法只会产生无用的类型封装对象。就直接使用单的字面量吧?/font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">不要使用 new Function d建函数对象。用函数表达式更好。比如:</font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">frames[0].onfocus = new Function(“document.bgColor=’antiquewhite’”)</font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">更好的写法是Q?/font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">frames[0].onfocus = function () {document.bgColor = ‘antiquewhite’;};</font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">W二UŞ式让脚本~译器更快的看到函数MQ于是其中的语法错误也会更快被检出来。有时候程序员使用 new Function 是因Z们没有理解内部函数是如何工作的?/font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">selObj.onchange = new Function(“dynamicOptionListObjects["+<br />dol.index+"].change(this)”);</font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">如果我们让用字符串做函数体,~译器不能看到它们。如果我们用字符串表辑ּ做函CQ我们同样也看不到它们。更好的方式是不要盲目~程。通过刉一个返回gؓ函数的函数调用,我们可以明确的按g递我们想要绑定的倹{这允许我们在@环中初始化一pd selObj 对象?/font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">selObj.onchange = function (i) {<br />return function () {<br />dynamicOptionListObjects[i].change(this);</font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">};<br />}(dol.index);</font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">直接对一个函C用new永远不是一个好L。比如, new function Ҏ造新对象没有提供什么优ѝ?/font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">myObj = new function () {<br />this.type = ‘core’;<br />};</font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">更好的方式是使用对象字面量,它更dyQ更快捷?/font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2">myObj = {<br />type: ‘core’<br />};</font></p><p style="margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font size="2"></font><font size="2">假如我们需要创建的对象包含的方法需要访问私有变量或者函敎ͼ更好的方式仍然是避免使用new.</font><font size="2"></font><font size="2">var foo = new function() {<br />function processMessages(message) {<br />alert(“Message: ” + message.content);<br />}<br />this.init = function() {<br />subscribe(“/mytopic”, this, processMessages);<br />}<br />}<br /></font><font size="2">通过使用 new 去调用函敎ͼ对象会持有一个无意义的原型对象。这只会费内存而不会带来Q何好处。如果我们不使用newQ我们就不用在对象链l护一个无用的prototype对象。所以我们可以用Q)来正的调用工厂函数?/font><font size="2"></font><font size="2"></font><font size="2">var foo = function () {<br />function processMessages(message) {<br />alert(“Message: ” + message.content);<br />}<br />return {<br />init: function () {<br />subscribe(“/mytopic”, this, processMessages);<br />}<br />};<br />}();<br /></font><font size="2">所以原则很单: 唯一应该要用到new操作W的地方是调用一个古老的构造器函数的时候。当调用一个构造器函数的时候,是强制要求用new的?/font><font size="2">有时候可以来new一? 有的时候还是不要了吧?/font></p></span></div><img src ="http://www.shnenglu.com/momoxiao/aggbug/156668.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/momoxiao/" target="_blank">默</a> 2011-09-24 04:54 <a href="http://www.shnenglu.com/momoxiao/archive/2011/09/24/156668.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript 两个{号 三个{号http://www.shnenglu.com/momoxiao/archive/2011/09/24/156665.htmlFri, 23 Sep 2011 18:16:00 GMThttp://www.shnenglu.com/momoxiao/archive/2011/09/24/156665.htmlhttp://www.shnenglu.com/momoxiao/comments/156665.htmlhttp://www.shnenglu.com/momoxiao/archive/2011/09/24/156665.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/156665.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/156665.html=== 用来q行严格比较,不是同类型直接false



2011-09-24 02:16 发表评论
]]>
HTML <span> 标签http://www.shnenglu.com/momoxiao/archive/2011/09/08/155382.htmlThu, 08 Sep 2011 14:21:00 GMThttp://www.shnenglu.com/momoxiao/archive/2011/09/08/155382.htmlhttp://www.shnenglu.com/momoxiao/comments/155382.htmlhttp://www.shnenglu.com/momoxiao/archive/2011/09/08/155382.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/155382.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/155382.htmlhttp://www.w3school.com.cn/tags/tag_span.asp
-
-

HTML <span> 标签

定义和用?/h2>

<span> 标签被用来组合文档中的行内元素?/p>

HTML ?XHTML 之间的差?/h2>

NONE

提示和注释:

提示Q?/span>请?<span> 来组合行内元素,以便通过样式来格式化它们?/p>

注释Q?/span>span 没有固定的格式表现。当对它应用样式Ӟ它才会生视觉上的变化?/p>

例子

<p><span>some text.</span>some other text.</p>

例子解释

如果不对 span 应用样式Q那?span 元素中的文本与其他文本不会Q何视觉上的差异。尽如此,上例中的 span 元素仍然?p 元素增加了额外的l构?/p>

可以?span 应用 id ?class 属性,q样既可以增加适当的语义,又便于对 span 应用样式?/p>

可以对同一?<span> 元素应用 class ?id 属性,但是更常见的情况是只应用其中一U。这两者的主要差异是,class 用于元素l(cM的元素,或者可以理解ؓ某一cd素)Q?id 用于标识单独的唯一的元素?/p>

提示Q?/span>事实上,您也许已l注意到了,W3School 站点上有一些文本的样式与其他文本是不同的。比?#8220;提示”使用了粗体的红艌Ӏ尽实现这U效果的Ҏ非常多,但是我们的做法是Q?#8220;提示”使用 span 元素Q然后对q个 span 元素的父元素Q即 p 元素应用 classQ这样就可以对这个类的子元素 span 应用相应的样式了?/p>

HTML:

<p class="tip"><span>提示Q?lt;/span>... ... ...</p>

CSS:

p.tip span {
	font-weight:bold;
	color:#ff9955;
	}

标准属?/h2>
id, class, title, style, dir, lang, xml:lang

如需完整的描qͼ误?a style="text-decoration: underline; color: #900b09; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; ">标准属?/a>?/p>

事g属?/h2>
onclick, ondblclick, onmousedown, onmouseup, onmouseover, 
onmousemove, onmouseout, onkeypress, onkeydown, onkeyup

如需完整的描qͼ误?a style="text-decoration: underline; color: #900b09; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; ">事g属?/a>?/p>



2011-09-08 22:21 发表评论
]]>
javascript语言_ahttp://www.shnenglu.com/momoxiao/archive/2011/09/04/155074.htmlSun, 04 Sep 2011 13:41:00 GMThttp://www.shnenglu.com/momoxiao/archive/2011/09/04/155074.htmlhttp://www.shnenglu.com/momoxiao/comments/155074.htmlhttp://www.shnenglu.com/momoxiao/archive/2011/09/04/155074.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/155074.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/155074.htmlch04 函数
///////////// Function Literal

var add = function (a,b){
    
return a + b;
}

///////////// Invocation

// The Method Invocation Pattern

var myObject = {
    value: 
0,
    increment: 
function (inc) {
        
this.value += typeof inc === 'number' ? inc : 1;
    }
};

myObject.increment();
document.writeln(myObject.value);

myObject.increment(
2);
document.writeln(myObject.value);

// The Function Invocation Pattern

var sum = add(34);

myObject.
double = function(){
    
var that = this// Workaround

    
var helper = function(){
        that.value 
= add(that.value, that.value)
    };

    helper();
};

// Invoke double as a method.

myObject.
double();
document.writeln(myObject.value);

// The Constructor Invocation Pattern

var Quo = function(string){
    
this.status = string;
};

Quo.prototype.get_status 
= function(){
    
return this.status;
};

var myQuo = new Quo("confused");
document.writeln(myQuo.get_status());

// The Apply Invocation Pattern

var array = [34];
var sum = add.apply(null, array);

var statusObject = {
    status: 'A
-OK'
};

var status = Quo.prototype.get_status.apply(statusObject);

//////////////// Arguments

var sum = function(){
    
var i, sum = 0;
    
for(i = 0; i < arguments.length; i += 1){
        sum 
+= arguments[i];
    }
    
return sum;
};

document.writeln(sum(
4815162342));



////////////////// 4.6 Exceptions

var add = function(a, b){
    
if(typeof a !== 'number' || typeof b !== 'number'){
        
throw{
            name: 'TypeError',
            message: 'add needs numbers'
        }
    }
    
return a + b;
}

var try_it = function(){
    
try{
        add(
"seven");
    }
catch(e){
        document.writeln(e.name 
+ ': ' + e.message);
    }
}

try_it();


/////////////// 4.7 Argumenting Types

// TODO
Function.prototype.method = function(name, func){
    
this.prototype[name] = func;
    
return this;
};


Number.method('integer', 
function(){
        
return Math[this < 0 ? 'ceil' : 'floor'](this);
});
document.writeln((
-10 / 3).integer());


String.method('trim', 
function(){
        
return this.replace(/^\s+|\s+$/g, '');
});
document.writeln('
"' + "      neat       ".trim() + '"');


Function.prototype.method 
= function(name, func){
    
if(!this.prototype[name]){
        
this.prototype[name] = func;
    }
};

/////////////////// 4.8 Recursion

// hanoi问题Q递归求解
var hanoi = function(disc, src, aux, dst){
    
if(disc > 0){
        hanoi(disc 
- 1, src, dst, aux);
        document.writeln('Move disc ' 
+ disc + ' from ' + src + ' to ' + dst);
        hanoi(disc 
- 1, aux, src, dst);
    }
}
hanoi(
3, 'Src', 'Aux', 'Dst');


// 递归处理览器端的文档对象模?/span>
//
 TODO wark_the_DOM ?nbsp;walk 什么关p?
var wark_the_DOM = function walk(node, func){
    func(node);
    node 
= node.firstChild;
    
while(node){
        walk(node, func);
        node 
= node.nextSibling;
    }
};

var getElementsByAttribute = function(att, value){
    
var results = [];

    wark_the_DOM(document.body, 
function(node){
            
var actual = node.nodeType === 1 && node.getAttribute(att);
            
if(typeof actual === 'string' &&  // node属性是string,node值等于传入的valueQ或者value不是string
                (actual === value || typeof value !== 'string')){
            results.push(node);
            }
            });
};


// N归求阶乘。js不能做尾递归优化?/span>
var factorial = function factorial(i, a){
    a 
= a || 1;
    
if(i < 2){
        
return a;
    }
    
return factorial(i - 1, a * i);
};
document.writeln(factorial(
4));


//////////////// Scope

var foo = function(){
    
var a = 3, b = 5;
    
var bar = function(){
        
var b = 7, c = 11;
        a 
+= b + c;
    };
    bar();
};
foo();


////////////// Closure

// 通过调用函数的Ş式初始化myObject
//
 该函数返回一个包含有2个方法的对象Qƈ且这些方法n有l访问value变量的特?/span>
var myObject = function(){
    
var value = 0;

    
return {
        increment: 
function(inc){
            value 
+= typeof inc === 'number' ? inc : 1;
        },
        getVaule: 
function(){
            
return value;
        }
    }
}(); 
// 立刻执行

// 创徏一个名为quo的构造函? 它构造出带有get_statusҎ和statusU有属性的一个对象?/span>
var quo = function(status){
    
return {
        get_status: 
function(){
                        
return status;
        }
    };
};
var myQuo = quo("amazed");
document.writeln(myQuo.get_status());

// 定义一个函敎ͼ它设|一个DOM节点为黄Ԍ然后把它变成白色
var fade = function(node){
    
var level = 1;
    
var step = function(){
        
var hex = level.toString(16);
        node.style.backgroundColor 
= '#FFFF' + hex + hex; // TODO 颜色~码
        if(level < 15){
            level 
+= 1;
            setTimeout(step, 
100); // setTimeout()Ҏ用于在指定的毫秒数后调用函数或计表辑ּ
        }
    };
    setTimeout(step, 
100);
};
fade(document.body);


// l一个数l中的节点设|事件处理程?/span>
var add_the_handles = function(nodes){
    
var i;
    
for(i = 0; i < nodes.length; i+=1){
        node[i].onclick 
= function(i){
            
return function(e){
                alert(e);
            };
        }(i);
    }
};
add_the_handles(document.body);

///////////// Module

// L字符串中的HTML字符Qƈ替换为它们对应的字符
String.method('deentityify',function(){
    
// The entity table. Itmaps entity names to characters.
    var entity= {
        quot: '
"',
        lt: '<',
        gt: '>'
    };

    // Return the deentityify method.
    return function(){
        return this.replace(/&([^&;]+);/g, // TODO 正则
            function(a, b){
                var r = entity[b];
                return typeof r === 'string' ? r : a;
            })
    };
}());
document.writeln('&lt;&quot;&gt;'.deentityify());

// q回一个用来生唯一字符串的对象
// 唯一字符串由两部分组成:前缀+序列?br />// 该对象包括一个设|前~的方法,一个设|序列号的方法,和一个生唯一字符串的gensymҎ
var serial_maker = function(){
    var prefix = '';
    var seq = 0;
    return {
        set_prefix: function(p){
                        prefix = String(p);
                    },
        set_seq: function(s){
                     seq = s;
                 },
        gensym: function(){
                    var result = prefix + seq;
                    seq += 1;
                    return result;
                }
    };
};
var seqer = serial_maker();
seqer.set_prefix('Q');
seqer.set_seq(1000);
var unique = seqer.gensym();
document.writeln(unique);

/////////////// Curry

Function.method('curry', function(){
    var slice = Array.prototype.slice;
    args = slice.apply(arguments);
    that = this;
    return function(){
        return that.apply(null, args.concat(slice.apply(arguments)));
    };
});

var add1 = add.curry(1);
document.writeln(add1(6));

////////////// Memoization

// Fibonacci, beform memoization
var fibonacci = function(n){
    return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
};

for(var i = 0; i <= 10; i += 1){
    document.writeln('//' + i + ': ' + fibonacci(i));
}

// after memoization
var fibonacci2 = function(){
    var memo = [0, 1];
    var fib = function(n){
        var result = memo[n];
        if(typeof result !== 'number'){
            result = fib(n - 1) + fib(n - 2);
            memo[n] = result;
        }
        return result;
    };
    return fib;
}();
for(var i = 0; i <= 10; i += 1){
    document.writeln('//' + i + ': ' + fibonacci2(i));
}

var memoizer = function(memo, fundamental){
    var shell = function(n){
        var result = memo[n];
        if(typeof result !== 'number'){
            result = fundamental(shell, n);
            memo[n] = result;
        }
        return result;
    };
    return shell;
};

var fabonacci3 = memoizer([0,1], function(shell, n){
        return shell(n - 1) + shell(n - 2);
});

var factorial2 = memoizer([1,1], function(shell, n){
        return n * shell(n - 1);
});

ch05 l承

5.1 伪类

吐下槽?the Function constructor that produces the function object runs some code like this:"被译成了“Function构造器产生的函数对象会q行cMq样的一些代码:”。主语都错了。这本书里的错误实比较多?br />

2011-09-04 21:41 发表评论
]]>
[django debug toolbar] Caught UnicodeEncodeError while renderinghttp://www.shnenglu.com/momoxiao/archive/2011/06/14/148631.htmlTue, 14 Jun 2011 07:08:00 GMThttp://www.shnenglu.com/momoxiao/archive/2011/06/14/148631.htmlhttp://www.shnenglu.com/momoxiao/comments/148631.htmlhttp://www.shnenglu.com/momoxiao/archive/2011/06/14/148631.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/148631.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/148631.html
报错:
Caught UnicodeEncodeError while rendering: ('ascii', u'if not counters: return result_list    #\u6570\u636e\u5e93\u91cc\u6ca1\u6709\u65e5\u671fdate\u7684\u8bb0\u5f55'4048'ordinal not in range(128)')

解决:
if not counters: return result_list #数据库里没有日期date的记?/span>
Ҏ
#数据库里没有日期date的记?/span>
if not counters: return result_list

ps,好久没来,CuteEditor都支持chrome了啊:-)


2011-06-14 15:08 发表评论
]]>
file_addhttp://www.shnenglu.com/momoxiao/archive/2011/03/24/142665.htmlThu, 24 Mar 2011 09:58:00 GMThttp://www.shnenglu.com/momoxiao/archive/2011/03/24/142665.htmlhttp://www.shnenglu.com/momoxiao/comments/142665.htmlhttp://www.shnenglu.com/momoxiao/archive/2011/03/24/142665.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/142665.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/142665.html参数:要合q的文g?br>
#include <stdio.h>

int main(int argc, char **argv)
{
    FILE 
*fin, *fout;
    
int i;
    
int c;

    
if((fout = fopen("tmp","w")) == NULL){
        printf(
"create output file error.\n");
        
return 1;
    }

    
for(i = 1; i < argc; i++){
        fputs(argv[i], fout);
        fputs(
"\n", fout);
    }

    
for(i = 1; i < argc; i++){
        
if((fin = fopen(argv[i],"r")) == NULL){
            printf(
"file not exist - %s\n", argv[i]);
            
return 1;
        }

        fputs(
"\n\n#############\n", fout);
        fputs(argv[i], fout);
        fputs(
"\n#############\n", fout);

        
while((c = fgetc(fin)) != EOF )
            fputc(c, fout);

        fclose(fin);
    }

    fclose(fout);

    
return 0;

}


2011-03-24 17:58 发表评论
]]>
[zz] File I/Ohttp://www.shnenglu.com/momoxiao/archive/2011/03/24/142658.htmlThu, 24 Mar 2011 09:17:00 GMThttp://www.shnenglu.com/momoxiao/archive/2011/03/24/142658.htmlhttp://www.shnenglu.com/momoxiao/comments/142658.htmlhttp://www.shnenglu.com/momoxiao/archive/2011/03/24/142658.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/142658.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/142658.htmlhttp://www.csie.ntu.edu.tw/~cprog2003/downloads/Notes%20on%20C%20File%20I-O.htm

File I/O

The FILE type

  1. 當在C中想使用檔案時,需要宣告FILE variable
  2. FILE variable是一個pointerQ因它是一個指向檔案現在用到哪裡的指標?在比較底層的意義?close to hardware)Q它是一個file descriptor?/li>
Example:
FILE *myfile;

在C中,實際上是使用Stream I/O的方式來存取資料。也是說,當打開一個檔案後Q?OS那邊會將一部分的資料先讀起來在一個暫存的Buffer裡,然後FILE這個pointer會L向這個bufferQ?每讀取一個字元時Q它會往前移動一個。同樣的Q當我們在寫入的時候,當我們完成像是fprintf時, 它也是先寫入這個buffer中,直到這個buffer被flush或是寫出到device中,才會真正的做改變?/p>

這張圖的左邊是deviceQ右邊就是buffer?br>

Associate the variable with a file

  1. Use fopen()
  2. Specify the file path and the mode
  3. 成功的話, fopen會return一個file pointerQ否? return NULL
"r"open for reading; 假如檔案不存在,則失敗?/td>
"w"open or create for writing; 假如檔案存在Q其珑֭的內Ҏ被覆蓋?/td>
"a"open or create for writng; 看w的不同在|它會接著珑֭的內容繼U做下去
"r+"open for reading and writing; 檔案一定要存在
"w+"open or create for reading and writing; 檔案不存在就開新檔案Q存在就覆寫
"a+"open or create for reading and writing; 不同處同上面a和w的差?/td>

FILE *fopen(char *name, char *mode)
Example:
FILE *myfile;
myfile = fopen("input.txt", "r");

Testing for EOF

  1. EOF是保留字Q表CEnd Of File?/li>
  2. 當想要檢查現在的file pointer是否已經只到檔案的結時Q可以用feof(file)
  3. 當真的已E是EOF時,return 0Q否則,return non-zero
Syntax:
int feof( FILE *stream );
Example: 
if( feof( myfile ) )
printf("End of file\n");

Writing / Reading by single character

  1. To read in or write out text by char, use fgetc() and fputc()
  2. fgetc會return下一個在input stream中的charQ若是已EEOFQ則return EOF。而為什g要return int而不是charQ則是因為EOF已經不在char的範圍內(不在0~255Q為-1)?/li>
  3. fputc則會return所寫入的char的|假如發生錯誤的話Qreturn EOF?/li>
Syntax:
int fgetc( FILE *stream );
int fputc( int c, FILE *stream );
Example: 
FILE *myfile, *myfile2;
int c;
myfile = fopen("in", "r");>
myfile2 = fopen("out", "w");
while( (c=fgetc(myfile)) != EOF)
	fputc(c, myfile2);

Writing / Reading by line of text

  1. To read in or write out text by line, use fgets() and fputs()
  2. fgets會return指向str的char pointerQ假若發生錯誤或是遇到EOF時,returns NULL
  3. fputs return 0 on success and EOF on error.
Syntax:
char *fgets(char *str, int size, FILE *stream);
int fputs(const char *str, FILE *stream);
Example: 
FILE *myfile, *myfile2;
char tmp[80];
myfile = fopen("in", "r");>
myfile2 = fopen("out", "w");
while( (fgets(tmp, 80, myfile)) != NULL)
	fputs(tmp, myfile2);

fprintf() and fscanf()

  1. Work like printf and scanf, except with files
  2. 跟上面fgets, fputs不同的是Q這兩個function可以做formatted I/O
Examples:
fprintf(outputfile, "My age is %d\n", myAge);
fscanf(inputfile, "%f", &floatVariable);


Close the files

  1. 當在一個檔案的工作已經i束後,可以使用fclose()Q之前buffer的資料實際寫入?/li>
  2. 因此當在檔案的寫入i束後,最好還是用fclose他關掉?/li>
  3. 成功的話Qreturn 0Q否則,return EOF
Syntax:
int fclose( FILE *stream );

A sample program

假如你們還是不會用的話 Q可以套?參?下面的程式?table class="ebox1" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: black; background-position: initial initial; background-repeat: initial initial; ">
#include 
#define INFILE "input.txt"
//下面這個學號換成你自己的學?
#define OUTFILE "R92922099"

char *readin(FILE *);

int main() {
    FILE *infile, *outfile;
    char *input;

	/* 打開檔案 */
    if( (infile = fopen(INFILE, "r")) == NULL ) {
        printf("can't open input file\n");
        exit(1);								//假若失敗的話Q就離開E式
    }else if( (outfile = fopen(OUTFILE, "w")) == NULL ) {
        printf("can't open output file\n");
        exit(1);								//假若失敗的話Q就離開E式
    }
	/* 用剛剛取得的file pointer來讀取檔案的內容的動?*/
    input = readin( infile );
	/*
		你們如何處理從檔案中所讀到的資料resultQ?
		寫在這裡Q或是在這裡呼叫function
	*/

    fclose(infile);
    fclose(outfile);
}

//檔案中所有的內容都讀取出來,用result指向這個資料,然後return這個pointer做處?
char *readin(FILE *in) {
    char tmp[80];
    char *result="";
    while( fgets( tmp, 80, in)!=NULL ) {
        asprintf(&result, "%s%s", result, tmp);
    }
    return result;
}




2011-03-24 17:17 发表评论
]]>
function declaration isn't a prototypehttp://www.shnenglu.com/momoxiao/archive/2011/01/27/139392.htmlWed, 26 Jan 2011 20:28:00 GMThttp://www.shnenglu.com/momoxiao/archive/2011/01/27/139392.htmlhttp://www.shnenglu.com/momoxiao/comments/139392.htmlhttp://www.shnenglu.com/momoxiao/archive/2011/01/27/139392.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/139392.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/139392.htmlQ: function declaration isn't a prototype
A:
http://hi.baidu.com/%D4%BC%D0%DE%D1%C7ing/blog/item/d5f86a0f598b47c27acbe138.html

static void cut_mode(void)
如果写成static void cut_mode()
׃有警告function declaration isn't a prototype



2011-01-27 04:28 发表评论
]]>
getopt getopt_longhttp://www.shnenglu.com/momoxiao/archive/2011/01/26/139346.htmlWed, 26 Jan 2011 06:34:00 GMThttp://www.shnenglu.com/momoxiao/archive/2011/01/26/139346.htmlhttp://www.shnenglu.com/momoxiao/comments/139346.htmlhttp://www.shnenglu.com/momoxiao/archive/2011/01/26/139346.html#Feedback2http://www.shnenglu.com/momoxiao/comments/commentRss/139346.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/139346.htmlgetopt
--man
        #include <unistd.h>

       int getopt(int argc, char * const argv[],
                  const char *optstring);

       extern char *optarg;
       extern int optind, opterr, optopt;

       #include <getopt.h>

       int getopt_long(int argc, char * const argv[],
                  const char *optstring,
                  const struct option *longopts, int *longindex);

--ex

 23 struct option longopts[] = {
 24     {"icmp", no_argument, NULL, 'i'},
 25     {"help", no_argument, NULL, 'h'},
 26     {"drop", required_argument, NULL, 'd'},
 27     {0,0,0,0}
 28 };

 51     while((c = getopt_long(argc, argv, "hid:", longopts, NULL))!=-1){
 52         switch(c){
 53             case 'i':{
 54                 own->icmp_off = 1;
 55                 break;
 56             }
 57             case 'd':{
 58                 own->drop_ip = inet_addr(optarg);
 59                 break;
 60             }
 61             case 'h':{
 62                 print_help(argv[0]);
 63                 return -1;
 64             }
 65             default:
 66                 break;
 67         }

--

作用Q?br>解析输入的参数?/p>

参数Q?br>argc和argv是传入main的参C??参数列表?br>"hid:"?h -i -d q样的选项Qd后有冒号Q表C?d选项有参数跟着?br>longopts是struct option *Q列?h -i -d对应的长选项格式--help --icmp --drop

相关外部变量Q?br>extern char *optarg; - 当前选项的参数字?/p>

2011-01-26 14:34 发表评论
]]>
C 语言?/title><link>http://www.shnenglu.com/momoxiao/archive/2010/11/10/133206.html</link><dc:creator>默</dc:creator><author>默</author><pubDate>Wed, 10 Nov 2010 07:28:00 GMT</pubDate><guid>http://www.shnenglu.com/momoxiao/archive/2010/11/10/133206.html</guid><wfw:comment>http://www.shnenglu.com/momoxiao/comments/133206.html</wfw:comment><comments>http://www.shnenglu.com/momoxiao/archive/2010/11/10/133206.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.shnenglu.com/momoxiao/comments/commentRss/133206.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/momoxiao/services/trackbacks/133206.html</trackback:ping><description><![CDATA[RT<img src ="http://www.shnenglu.com/momoxiao/aggbug/133206.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/momoxiao/" target="_blank">默</a> 2010-11-10 15:28 <a href="http://www.shnenglu.com/momoxiao/archive/2010/11/10/133206.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python 分割 合ƈ 字符?/title><link>http://www.shnenglu.com/momoxiao/archive/2010/11/01/131976.html</link><dc:creator>默</dc:creator><author>默</author><pubDate>Mon, 01 Nov 2010 05:51:00 GMT</pubDate><guid>http://www.shnenglu.com/momoxiao/archive/2010/11/01/131976.html</guid><wfw:comment>http://www.shnenglu.com/momoxiao/comments/131976.html</wfw:comment><comments>http://www.shnenglu.com/momoxiao/archive/2010/11/01/131976.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/momoxiao/comments/commentRss/131976.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/momoxiao/services/trackbacks/131976.html</trackback:ping><description><![CDATA[ip = '127.0.0.1' # 分割 items = ip.split('.') # 合ƈ sep = ' ' item = sep.join(items)<img src ="http://www.shnenglu.com/momoxiao/aggbug/131976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/momoxiao/" target="_blank">默</a> 2010-11-01 13:51 <a href="http://www.shnenglu.com/momoxiao/archive/2010/11/01/131976.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【{】CSS display 属?/title><link>http://www.shnenglu.com/momoxiao/archive/2010/09/21/127224.html</link><dc:creator>默</dc:creator><author>默</author><pubDate>Tue, 21 Sep 2010 02:28:00 GMT</pubDate><guid>http://www.shnenglu.com/momoxiao/archive/2010/09/21/127224.html</guid><wfw:comment>http://www.shnenglu.com/momoxiao/comments/127224.html</wfw:comment><comments>http://www.shnenglu.com/momoxiao/archive/2010/09/21/127224.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/momoxiao/comments/commentRss/127224.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/momoxiao/services/trackbacks/127224.html</trackback:ping><description><![CDATA[<table class="dataintable" style="font-family: Arial,Helvetica,sans-serif; margin-top: 10px; border-collapse: collapse; border: 1px solid #888888; width: 606px;"> <tbody> <tr> <th style="vertical-align: baseline; padding: 5px 15px 5px 5px; background-color: #cccccc; border: 1px solid #888888; text-align: left;">?/th> <th style="vertical-align: baseline; padding: 5px 15px 5px 5px; background-color: #cccccc; border: 1px solid #888888; text-align: left;">描述</th> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">none</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素不会被昄?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">block</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素将昄为块U元素,此元素前后会带有换行W?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">inline</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">默认。此元素会被昄为内联元素,元素前后没有换行W?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">inline-block</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">行内块元素。(CSS2.1 新增的|</td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">list-item</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ列表昄?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">run-in</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会Ҏ上下文作为块U元素或内联元素昄?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">compact</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">CSS 中有?compactQ不q由于缺乏广泛支持,已经?CSS2.1 中删除?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">marker</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">CSS 中有?markerQ不q由于缺乏广泛支持,已经?CSS2.1 中删除?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">table</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ块表格来显C(cM <table>Q,表格前后带有换行W?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">inline-table</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ内联表格来显C(cM <table>Q,表格前后没有换行W?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">table-row-group</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ一个或多个行的分组来显C(cM <tbody>Q?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">table-header-group</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ一个或多个行的分组来显C(cM <thead>Q?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">table-footer-group</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ一个或多个行的分组来显C(cM <tfoot>Q?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">table-row</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ一个表D昄Q类?<tr>Q?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">table-column-group</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ一个或多个列的分组来显C(cM <colgroup>Q?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">table-column</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ一个单元格列显C(cM <col>Q?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">table-cell</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ一个表格单元格昄Q类?<td> ?<th>Q?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">table-caption</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">此元素会作ؓ一个表格标题显C(cM <caption>Q?/td> </tr> <tr> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">inherit</td> <td style="vertical-align: text-top; padding: 5px 15px 5px 5px; background-color: #efefef; border: 1px solid #aaaaaa;">规定应该从父元素l承 display 属性的倹{?/td> </tr> </tbody> </table> <br><img src ="http://www.shnenglu.com/momoxiao/aggbug/127224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/momoxiao/" target="_blank">默</a> 2010-09-21 10:28 <a href="http://www.shnenglu.com/momoxiao/archive/2010/09/21/127224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TypeError: 'tuple' object does not support item assignmenthttp://www.shnenglu.com/momoxiao/archive/2010/08/23/124482.htmlMon, 23 Aug 2010 15:18:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/08/23/124482.htmlhttp://www.shnenglu.com/momoxiao/comments/124482.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/08/23/124482.html#Feedback1http://www.shnenglu.com/momoxiao/comments/commentRss/124482.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/124482.html

    def SetValue(self, row, col, value):
        data_list 
= list(self.data)
        
for i in range(len(data_list)):
            data_list[i] 
= list(data_list[i])
        data_list[row][col] = value
        self.data 
= tuple(data_list)


2010-08-23 23:18 发表评论
]]>
python passhttp://www.shnenglu.com/momoxiao/archive/2010/08/23/124425.htmlMon, 23 Aug 2010 08:30:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/08/23/124425.htmlhttp://www.shnenglu.com/momoxiao/comments/124425.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/08/23/124425.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/124425.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/124425.html

pass语句什么也不做Q一般作为占位符或者创建占位程序,pass语句不会执行M操作Q比如:

while False:

pass

pass通常用来创徏一个最单的c:

class MyEmptyClass:

pass

pass在Y件设计阶D也l常用来作ؓTODOQ提醒实现相应的实现Q比如:

def initlog(*args):

pass #please implement this



2010-08-23 16:30 发表评论
]]>
【{】请教个思\关于用wx.Grid操作数据?/title><link>http://www.shnenglu.com/momoxiao/archive/2010/08/23/124401.html</link><dc:creator>默</dc:creator><author>默</author><pubDate>Mon, 23 Aug 2010 05:16:00 GMT</pubDate><guid>http://www.shnenglu.com/momoxiao/archive/2010/08/23/124401.html</guid><wfw:comment>http://www.shnenglu.com/momoxiao/comments/124401.html</wfw:comment><comments>http://www.shnenglu.com/momoxiao/archive/2010/08/23/124401.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/momoxiao/comments/commentRss/124401.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/momoxiao/services/trackbacks/124401.html</trackback:ping><description><![CDATA[     摘要: 用Gridd操作数据库添加,修改数据一般都用什么方法?要求可以再Grid上修Ҏ据,修改后可以保存到数据库有没有个操作数据库的实际例子谢?=============使用wx.grid.PyGridTableBase, 然后自己定义SetValue, 在里面实C的数据库操作, 可以在修改grid的时? 同时更新数据?d和删除行需要自己定义事? 事g的触发可以是button或者是con...  <a href='http://www.shnenglu.com/momoxiao/archive/2010/08/23/124401.html'>阅读全文</a><img src ="http://www.shnenglu.com/momoxiao/aggbug/124401.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/momoxiao/" target="_blank">默</a> 2010-08-23 13:16 <a href="http://www.shnenglu.com/momoxiao/archive/2010/08/23/124401.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>去除代码前行L工?/title><link>http://www.shnenglu.com/momoxiao/archive/2010/08/22/124324.html</link><dc:creator>默</dc:creator><author>默</author><pubDate>Sun, 22 Aug 2010 14:13:00 GMT</pubDate><guid>http://www.shnenglu.com/momoxiao/archive/2010/08/22/124324.html</guid><wfw:comment>http://www.shnenglu.com/momoxiao/comments/124324.html</wfw:comment><comments>http://www.shnenglu.com/momoxiao/archive/2010/08/22/124324.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/momoxiao/comments/commentRss/124324.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/momoxiao/services/trackbacks/124324.html</trackback:ping><description><![CDATA[<a ><u><font color="#0000ff">http://www.cnblogs.com/yanxy/archive/2010/02/19/yanxyfirstpython.html</font></u></a><br><br>==================<br><br>|上看的例子,??<br>1.  u''<br>2. self.textBox.GetValue()<br>    self.textBox.SetValue()<br>3. singleStr <span style="color: #000000;">=</span><span style="color: #000000;"> singleStr[i:]   </span><span style="color: #008000;">#</span><span style="color: #008000;"> 留后面的内容</span><br><br> <div style="padding: 4px 5px 4px 4px; font-size: 13px; border-left-color: #cccccc; width: 98%; background-color: #eeeeee;"><span style="color: #008000;">#</span><span style="color: #008000;"> -*- coding:utf-8 -*-</span><span style="color: #008000;"><br>#</span><span style="color: #008000;"> 去除代码前行L工?/span><span style="color: #008000;"><br>#<br></span><span style="color: #0000ff;">import</span><span style="color: #000000;"> wx<br><br></span><span style="color: #0000ff;">class</span><span style="color: #000000;"> MainWindow(wx.Frame):<br>    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> </span><span style="color: #800080;">__init__</span><span style="color: #000000;">(self, parent, id):<br>        wx.Frame.</span><span style="color: #800080;">__init__</span><span style="color: #000000;">(self, parent, id,<br>                          u</span><span style="color: #800000;">'</span><span style="color: #800000;">去除代码前行L工?/span><span style="color: #800000;">'</span><span style="color: #000000;">)<br>        self.textBox </span><span style="color: #000000;">=</span><span style="color: #000000;"> wx.TextCtrl(self, </span><span style="color: #000000;">1</span><span style="color: #000000;">,<br>                                   style </span><span style="color: #000000;">=</span><span style="color: #000000;"> wx.TE_MULTILINE,<br>                                   size </span><span style="color: #000000;">=</span><span style="color: #000000;"> (</span><span style="color: #000000;">600</span><span style="color: #000000;">,</span><span style="color: #000000;">600</span><span style="color: #000000;">))<br>        self.butOK </span><span style="color: #000000;">=</span><span style="color: #000000;"> wx.Button(self, label </span><span style="color: #000000;">=</span><span style="color: #000000;"> u</span><span style="color: #800000;">'</span><span style="color: #800000;">去除行号</span><span style="color: #800000;">'</span><span style="color: #000000;">)<br>        self.butLeft </span><span style="color: #000000;">=</span><span style="color: #000000;"> wx.Button(self, label </span><span style="color: #000000;">=</span><span style="color: #000000;"> u</span><span style="color: #800000;">'</span><span style="color: #800000;">去除左侧W一个字W?/span><span style="color: #800000;">'</span><span style="color: #000000;">)<br>        self.Bind(wx.EVT_BUTTON, self.CutLineNum, self.butOK)<br>        self.Bind(wx.EVT_BUTTON, self.CutLeftChar, self.butLeft)<br>        self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)<br><br>        self.sizer </span><span style="color: #000000;">=</span><span style="color: #000000;"> wx.BoxSizer(wx.HORIZONTAL)<br>        self.sizer.Add(self.textBox, </span><span style="color: #000000;">1</span><span style="color: #000000;">, wx.EXPAND)<br>        self.sizer.Add(self.butOK)<br>        self.sizer.Add(self.butLeft)<br>        self.SetSizer(self.sizer)<br>        self.SetAutoLayout(</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>        self.sizer.Fit(self)<br>        self.Show(True)<br><br>    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> OnCloseWindow(self, event):<br>        self.Destroy()<br><br>    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> CutLineNum(self, event):<br>        multiStr </span><span style="color: #000000;">=</span><span style="color: #000000;"> unicode(self.textBox.GetValue()).splitlines(</span><span style="color: #000000;">1</span><span style="color: #000000;">) </span><span style="color: #008000;">#</span><span style="color: #008000;">!!!获取文本框中的数?!!</span><span style="color: #008000;"><br></span><span style="color: #000000;">        outStr </span><span style="color: #000000;">=</span><span style="color: #000000;"> u</span><span style="color: #800000;">''</span><span style="color: #000000;"><br>        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> singleStr </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> multiStr:<br>            singleStr </span><span style="color: #000000;">=</span><span style="color: #000000;"> singleStr.lstrip()<br>            i </span><span style="color: #000000;">=</span><span style="color: #000000;"> 0<br>            </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> charStr </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> singleStr:<br>                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> charStr.isdigit():<br>                    i </span><span style="color: #000000;">+=</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;"><br>                </span><span style="color: #0000ff;">elif</span><span style="color: #000000;"> i </span><span style="color: #000000;">></span><span style="color: #000000;"> 0:<br>                    singleStr </span><span style="color: #000000;">=</span><span style="color: #000000;"> singleStr[i:]   </span><span style="color: #008000;">#</span><span style="color: #008000;"> 除去数字,留后面的内容</span><span style="color: #008000;"><br></span><span style="color: #000000;">                    </span><span style="color: #0000ff;">break</span><span style="color: #000000;"><br>                </span><span style="color: #0000ff;">else</span><span style="color: #000000;">:<br>                    </span><span style="color: #0000ff;">break</span><span style="color: #000000;"><br>            outStr </span><span style="color: #000000;">+=</span><span style="color: #000000;"> singleStr<br>        self.textBox.SetValue(outStr)<br><br>    </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> CutLeftChar(self, event):<br>        outStr </span><span style="color: #000000;">=</span><span style="color: #000000;"> u</span><span style="color: #800000;">''</span><span style="color: #000000;"><br>        multiStr </span><span style="color: #000000;">=</span><span style="color: #000000;"> unicode(self.textBox.GetValue()).splitlines(</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>        </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> singleStr </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> multiStr:<br>            singleStr </span><span style="color: #000000;">=</span><span style="color: #000000;"> singleStr[</span><span style="color: #000000;">1</span><span style="color: #000000;">:]<br>            outStr </span><span style="color: #000000;">+=</span><span style="color: #000000;"> singleStr<br>        self.textBox.SetValue(outStr)<br><br></span><span style="color: #0000ff;">if</span><span style="color: #000000;"> </span><span style="color: #800080;">__name__</span><span style="color: #000000;"> </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #800000;">'</span><span style="color: #800000;">__main__</span><span style="color: #800000;">'</span><span style="color: #000000;">:<br>    app </span><span style="color: #000000;">=</span><span style="color: #000000;"> wx.PySimpleApp()<br>    frame </span><span style="color: #000000;">=</span><span style="color: #000000;"> MainWindow(parent </span><span style="color: #000000;">=</span><span style="color: #000000;"> None, id </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>    app.MainLoop()<br></span><span style="color: #0000ff;">del</span><span style="color: #000000;"> app<br></span></div><img src ="http://www.shnenglu.com/momoxiao/aggbug/124324.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/momoxiao/" target="_blank">默</a> 2010-08-22 22:13 <a href="http://www.shnenglu.com/momoxiao/archive/2010/08/22/124324.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【{】Python print函数用法Qprint 格式化输?/title><link>http://www.shnenglu.com/momoxiao/archive/2010/08/18/123896.html</link><dc:creator>默</dc:creator><author>默</author><pubDate>Wed, 18 Aug 2010 15:36:00 GMT</pubDate><guid>http://www.shnenglu.com/momoxiao/archive/2010/08/18/123896.html</guid><wfw:comment>http://www.shnenglu.com/momoxiao/comments/123896.html</wfw:comment><comments>http://www.shnenglu.com/momoxiao/archive/2010/08/18/123896.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/momoxiao/comments/commentRss/123896.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/momoxiao/services/trackbacks/123896.html</trackback:ping><description><![CDATA[ <a ><u><font color="#0000ff">http://www.pythonclub.org/python-basic/print?do=show</font></u></a><br>===========<br><span style="WORD-SPACING: 0px; FONT: medium Simsun; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span style="FONT-SIZE: 13px; COLOR: rgb(51,51,51); LINE-HEIGHT: 19px; FONT-FAMILY: Verdana, 'Lucida Grande', Lucida, Helvetica, Arial, sans-serif; TEXT-ALIGN: justify"> <div id="hpzjlrd" class="level1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 3px; PADDING-TOP: 0px"> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em; PADDING-TOP: 0px">使用print输出各型?/p> <ol style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; LIST-STYLE-IMAGE: none; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em 3.5em; COLOR: rgb(99,140,156); LINE-HEIGHT: 1.5em; PADDING-TOP: 0px; LIST-STYLE-TYPE: decimal"> <li id="hpzrttd" class="level1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> <div id="9xd97hb" class="li" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51); PADDING-TOP: 0px">字符?/div> </li> <li id="hj7j9fv" class="level1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> <div id="rdxhr7p" class="li" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51); PADDING-TOP: 0px">整数</div> </li> <li id="jv9b5fr" class="level1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> <div id="nxtbvxj" class="li" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51); PADDING-TOP: 0px">点?/div> </li> <li id="zvnx79x" class="level1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> <div id="7ppptlv" class="li" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51); PADDING-TOP: 0px">出度及精度控?/div> </li> </ol> <pre class="code python" style="BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-RIGHT: 0.5em; BORDER-TOP: rgb(204,204,204) 1px dashed; OVERFLOW-Y: auto; PADDING-LEFT: 0.5em; FONT-SIZE: 12px; OVERFLOW-X: auto; PADDING-BOTTOM: 0.5em; MARGIN: 0px 0px 1em; BORDER-LEFT: rgb(204,204,204) 1px dashed; WIDTH: 437px; COLOR: rgb(51,51,51); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BACKGROUND-COLOR: rgb(247,249,250)">strHello = <span id="btlt79h" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">'Hello Python'</span> <span id="bdf7n9t" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> strHello <span id="vz9prbj" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#输出l果QHello Python</span> <span id="fnpht9v" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#直接出字W串</span></pre> </div> <h2 style="CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: 22px; BORDER-LEFT-COLOR: rgb(204,204,204); PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em 20px; COLOR: rgb(51,51,51); BORDER-TOP-COLOR: rgb(204,204,204); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BORDER-RIGHT-COLOR: rgb(204,204,204)"><a id="格式化输出整? style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51)! important; PADDING-TOP: 0px; TEXT-DECORATION: none! important" name="格式化输出整?>1.格式化输出整?/a></h2> <div id="fhr7hjb" class="level2" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 23px; PADDING-TOP: 0px"> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em; PADDING-TOP: 0px">python print也支持参数格式化Q与Ca的printf|</p> <pre class="code python" style="BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-RIGHT: 0.5em; BORDER-TOP: rgb(204,204,204) 1px dashed; OVERFLOW-Y: auto; PADDING-LEFT: 0.5em; FONT-SIZE: 12px; OVERFLOW-X: auto; PADDING-BOTTOM: 0.5em; MARGIN: 0px 0px 1em; BORDER-LEFT: rgb(204,204,204) 1px dashed; WIDTH: 703px; COLOR: rgb(51,51,51); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BACKGROUND-COLOR: rgb(247,249,250)">strHello = <span id="jbdfpfx" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"the length of (%s) is %d"</span> <span id="zbd7jzb" class="sy0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">%</span><span id="7r7fzjb" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">(</span><span id="fr7rbbl" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">'Hello World'</span>,<span id="jbb99zp" class="kw2" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,0,0); PADDING-TOP: 0px">len</span><span id="blnx7fx" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">(</span><span id="tlnnxph" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">'Hello World'</span><span id="bvfvp9t" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">)</span><span id="vfxhzdp" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">)</span> <span id="r7pjl7l" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> strHello <span id="7lfhzzr" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#输出果:the length of (Hello World) is 11</span></pre> </div> <h2 style="CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: 22px; BORDER-LEFT-COLOR: rgb(204,204,204); PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em 20px; COLOR: rgb(51,51,51); BORDER-TOP-COLOR: rgb(204,204,204); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BORDER-RIGHT-COLOR: rgb(204,204,204)"><a id="格式化输?6制整? style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51)! important; PADDING-TOP: 0px; TEXT-DECORATION: none! important" name="格式化输?6制整?>2.格式化输?6制整?/a></h2> <div id="vhzt7tr" class="level2" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 23px; PADDING-TOP: 0px"> <pre class="code python" style="BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-RIGHT: 0.5em; BORDER-TOP: rgb(204,204,204) 1px dashed; OVERFLOW-Y: auto; PADDING-LEFT: 0.5em; FONT-SIZE: 12px; OVERFLOW-X: auto; PADDING-BOTTOM: 0.5em; MARGIN: 0px 0px 1em; BORDER-LEFT: rgb(204,204,204) 1px dashed; WIDTH: 703px; COLOR: rgb(51,51,51); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BACKGROUND-COLOR: rgb(247,249,250)">nHex = 0x20 <span id="7rrr7dz" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#%x --- hex 十六q制</span> <span id="vvvxhp9" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#%d --- dec 十进?/span> <span id="nrtrrdn" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#%d --- oct 八进?/span>   <span id="vnxrbt9" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> <span id="rbbjtb9" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"nHex = %x,nDec = %d,nOct = %o"</span> <span id="br7vh7j" class="sy0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">%</span><span id="9t9d9zr" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">(</span>nHex,nHex,nHex<span id="9rrrt7b" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">)</span>   <span id="z9zrzhz" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#输出l果QnHex = 20,nDec = 32,nOct = 40</span> <span id="h9vfnpp" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#使用整数的各个制打印同一个数</span></pre> </div> <h2 style="CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: 22px; BORDER-LEFT-COLOR: rgb(204,204,204); PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em 20px; COLOR: rgb(51,51,51); BORDER-TOP-COLOR: rgb(204,204,204); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BORDER-RIGHT-COLOR: rgb(204,204,204)"><a id="格式化输出QҎ_float" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51)! important; PADDING-TOP: 0px; TEXT-DECORATION: none! important" name="格式化输出QҎ_float">3.格式化输出QҎ(float)</a></h2> <div id="9vf7tjv" class="level2" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 23px; PADDING-TOP: 0px"> <pre class="code python" style="BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-RIGHT: 0.5em; BORDER-TOP: rgb(204,204,204) 1px dashed; OVERFLOW-Y: auto; PADDING-LEFT: 0.5em; FONT-SIZE: 12px; OVERFLOW-X: auto; PADDING-BOTTOM: 0.5em; MARGIN: 0px 0px 1em; BORDER-LEFT: rgb(204,204,204) 1px dashed; WIDTH: 703px; COLOR: rgb(51,51,51); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BACKGROUND-COLOR: rgb(247,249,250)"><span id="7hrtdbd" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">import</span> <span id="tn7vvnx" class="kw3" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,0,102); PADDING-TOP: 0px">math</span> <span id="tnxzhtd" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#default</span> <span id="btbv9nd" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> <span id="9hjtdbd" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"PI = %f"</span> <span id="9dtvfff" class="sy0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">%</span> <span id="rlvxvph" class="kw3" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,0,102); PADDING-TOP: 0px">math</span>.<span id="h79hh9f" class="me1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,102,0); PADDING-TOP: 0px">pi</span> <span id="rttvpx9" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#width = 10,precise = 3,align = left</span> <span id="bfnxp9j" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> <span id="rtllff7" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"PI = %10.3f"</span> <span id="rjvvffx" class="sy0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">%</span> <span id="xxhjvdd" class="kw3" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,0,102); PADDING-TOP: 0px">math</span>.<span id="hrlxhhp" class="me1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,102,0); PADDING-TOP: 0px">pi</span> <span id="tpfphjj" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#width = 10,precise = 3,align = rigth</span> <span id="5lll9zz" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> <span id="9vfhz7x" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"PI = %-10.3f"</span> <span id="tfhrzzj" class="sy0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">%</span> <span id="jdpj9vd" class="kw3" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,0,102); PADDING-TOP: 0px">math</span>.<span id="j7rjjt7" class="me1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,102,0); PADDING-TOP: 0px">pi</span> <span id="p7n7prj" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#前面填充字符</span> <span id="9lv7zhx" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> <span id="v9b37bd" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"PI = %06d"</span> <span id="tnphhjr" class="sy0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">%</span> <span id="97d3nd9" class="kw2" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,0,0); PADDING-TOP: 0px">int</span><span id="nhjbjdn" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">(</span><span id="tf7ljtb" class="kw3" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,0,102); PADDING-TOP: 0px">math</span>.<span id="9prbtl9" class="me1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,102,0); PADDING-TOP: 0px">pi</span><span id="jpxfhjt" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">)</span>   <span id="bvvnfv7" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#输出l果</span> <span id="r79nfp9" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#PI = 3.141593</span> <span id="lxhrrbl" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#PI = 3.142</span> <span id="lphb9rr" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#PI = 3.142</span> <span id="7fpxppr" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#PI = 000003</span> <span id="jlnxhpp" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#点数的格式化,_ֺ、度?/span></pre> </div> <h2 style="CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: 22px; BORDER-LEFT-COLOR: rgb(204,204,204); PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em 20px; COLOR: rgb(51,51,51); BORDER-TOP-COLOR: rgb(204,204,204); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BORDER-RIGHT-COLOR: rgb(204,204,204)"><a id="格式化输出字W串_string" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51)! important; PADDING-TOP: 0px; TEXT-DECORATION: none! important" name="格式化输出字W串_string">4.格式化输出字W串(string)</a></h2> <div id="zblx9bl" class="level2" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 23px; PADDING-TOP: 0px"> <pre class="code python" style="BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-RIGHT: 0.5em; BORDER-TOP: rgb(204,204,204) 1px dashed; OVERFLOW-Y: auto; PADDING-LEFT: 0.5em; FONT-SIZE: 12px; OVERFLOW-X: auto; PADDING-BOTTOM: 0.5em; MARGIN: 0px 0px 1em; BORDER-LEFT: rgb(204,204,204) 1px dashed; WIDTH: 703px; COLOR: rgb(51,51,51); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BACKGROUND-COLOR: rgb(247,249,250)"><span id="dxh9zbb" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#precise = 3</span> <span id="bnx9dph" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> <span id="j7b5t7j" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"%.3s "</span> <span id="9lxfr7h" class="sy0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">%</span> <span id="vvpbrll" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">(</span><span id="5hb9zzz" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"jcodeer"</span><span id="txhzzjt" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">)</span> <span id="xpjv7xn" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#precise = 4</span> <span id="7lndnnp" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> <span id="jhhxzzj" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"%.*s"</span> <span id="phbvvfv" class="sy0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">%</span> <span id="3dfhprb" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">(</span><span id="tbfprzr" class="nu0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(204,102,204); PADDING-TOP: 0px">4</span>,<span id="hlxxp7n" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"jcodeer"</span><span id="zlffx7p" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">)</span> <span id="xjlvvnx" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#width = 10,precise = 3</span> <span id="rblf7xf" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> <span id="dzzzjrr" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"%10.3s"</span> <span id="7hbtnpp" class="sy0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">%</span> <span id="9j9nxph" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">(</span><span id="7fzjbdd" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"jcodeer"</span><span id="z7zjtnn" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">)</span> <span id="7zttlvp" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#输出l果Q?/span> <span id="v7f7ddl" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#jco</span> <span id="blfxhhh" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#jcod</span> <span id="vnpbjtd" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic"># jco</span> <span id="nr7nfhh" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#同于字符串也存在_ֺ、度和?/span></pre> </div> <h2 style="CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: 22px; BORDER-LEFT-COLOR: rgb(204,204,204); PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em 20px; COLOR: rgb(51,51,51); BORDER-TOP-COLOR: rgb(204,204,204); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BORDER-RIGHT-COLOR: rgb(204,204,204)"><a id="输出列表_list" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51)! important; PADDING-TOP: 0px; TEXT-DECORATION: none! important" name="输出列表_list">5.输出列表(list)</a></h2> <div id="n9v3ztr" class="level2" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 23px; PADDING-TOP: 0px"> <pre class="code python" style="BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-RIGHT: 0.5em; BORDER-TOP: rgb(204,204,204) 1px dashed; OVERFLOW-Y: auto; PADDING-LEFT: 0.5em; FONT-SIZE: 12px; OVERFLOW-X: auto; PADDING-BOTTOM: 0.5em; MARGIN: 0px 0px 1em; BORDER-LEFT: rgb(204,204,204) 1px dashed; WIDTH: 703px; COLOR: rgb(51,51,51); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BACKGROUND-COLOR: rgb(247,249,250)">l = <span id="lhhprlb" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">[</span><span id="5zzb7f9" class="nu0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(204,102,204); PADDING-TOP: 0px">1</span>,<span id="rdllnl9" class="nu0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(204,102,204); PADDING-TOP: 0px">2</span>,<span id="9rrrxdn" class="nu0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(204,102,204); PADDING-TOP: 0px">3</span>,<span id="tfzvljv" class="nu0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(204,102,204); PADDING-TOP: 0px">4</span>,<span id="dxhxxf9" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">'jcodeer'</span><span id="djjj7dv" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">]</span> <span id="blbbvxx" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> l <span id="7vxbz7x" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#输出l果Q[1, 2, 3, 4, 'jcodeer']</span> <span id="dnzr79r" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#于list直接打印卛_</span> <span id="h99xxfp" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">''</span><span id="x7n97pp" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">'6.出字?dictionary)'</span><span id="b7t97f9" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">''</span> d = <span id="9tvndpx" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">{</span><span id="btdxpx7" class="nu0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(204,102,204); PADDING-TOP: 0px">1</span>:<span id="r79bfxx" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">'A'</span>,<span id="tlnnhph" class="nu0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(204,102,204); PADDING-TOP: 0px">2</span>:<span id="htt9hzn" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">'B'</span>,<span id="lzzrjt7" class="nu0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(204,102,204); PADDING-TOP: 0px">3</span>:<span id="lhh7rhr" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">'C'</span>,<span id="9pzzz79" class="nu0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(204,102,204); PADDING-TOP: 0px">4</span>:<span id="vr77jbl" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">'D'</span><span id="tfxpxhl" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">}</span> <span id="rffrjrt" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> d <span id="vn7jbdd" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#输出l果Q{1: 'A', 2: 'B', 3: 'C', 4: 'D'}</span> <span id="9tdvff9" class="co1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(128,128,128); PADDING-TOP: 0px; FONT-STYLE: italic">#同python也是支持dictionary出的</span></pre> </div> <h2 style="CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: 22px; BORDER-LEFT-COLOR: rgb(204,204,204); PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em 20px; COLOR: rgb(51,51,51); BORDER-TOP-COLOR: rgb(204,204,204); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BORDER-RIGHT-COLOR: rgb(204,204,204)"><a id="python_print自动换行" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(51,51,51)! important; PADDING-TOP: 0px; TEXT-DECORATION: none! important" name="python_print自动换行">6.python print自动换行</a></h2> <div id="dvfhhhp" class="level2" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 23px; PADDING-TOP: 0px"> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em; PADDING-TOP: 0px">print 会自动在行末加上回R,如果不需回RQ只需在print语句的结添加一个逗号”,“Q就可以改变它的行ؓ?/p> <pre class="code python" style="BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-RIGHT: 0.5em; BORDER-TOP: rgb(204,204,204) 1px dashed; OVERFLOW-Y: auto; PADDING-LEFT: 0.5em; FONT-SIZE: 12px; OVERFLOW-X: auto; PADDING-BOTTOM: 0.5em; MARGIN: 0px 0px 1em; BORDER-LEFT: rgb(204,204,204) 1px dashed; WIDTH: 703px; COLOR: rgb(51,51,51); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BACKGROUND-COLOR: rgb(247,249,250)"><span id="trrrbdl" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">for</span> i <span id="rdnfvnd" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">in</span> <span id="htlvnnf" class="kw2" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,0,0); PADDING-TOP: 0px">range</span><span id="btv99fh" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">(</span>0,5<span id="r79hblv" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">)</span>: <span id="xjl7bld" class="kw1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(177,177,0); PADDING-TOP: 0px">print</span> i,</pre> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 1em; PADDING-TOP: 0px">或直接用下面的函数q行输出Q?/p> <pre class="code python" style="BORDER-RIGHT: rgb(204,204,204) 1px dashed; PADDING-RIGHT: 0.5em; BORDER-TOP: rgb(204,204,204) 1px dashed; OVERFLOW-Y: auto; PADDING-LEFT: 0.5em; FONT-SIZE: 12px; OVERFLOW-X: auto; PADDING-BOTTOM: 0.5em; MARGIN: 0px 0px 1em; BORDER-LEFT: rgb(204,204,204) 1px dashed; WIDTH: 703px; COLOR: rgb(51,51,51); PADDING-TOP: 0.5em; BORDER-BOTTOM: rgb(204,204,204) 1px dashed; BACKGROUND-COLOR: rgb(247,249,250)"><span id="jdn9p9t" class="kw3" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,0,102); PADDING-TOP: 0px">sys</span>.<span id="x9xrz59" class="me1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,102,0); PADDING-TOP: 0px">stdout</span>.<span id="vr7vpnz" class="me1" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(0,102,0); PADDING-TOP: 0px">write</span><span id="zdvfpxp" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">(</span><span id="jbvfn9v" class="st0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(255,0,0); PADDING-TOP: 0px">"输出的字?</span><span id="zjb7td7" class="br0" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: rgb(102,204,102); PADDING-TOP: 0px">)</span></pre> </div> </span></span><img src ="http://www.shnenglu.com/momoxiao/aggbug/123896.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/momoxiao/" target="_blank">默</a> 2010-08-18 23:36 <a href="http://www.shnenglu.com/momoxiao/archive/2010/08/18/123896.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工作中用到的两个脚?shift_domain monitorhttp://www.shnenglu.com/momoxiao/archive/2010/08/18/123879.htmlWed, 18 Aug 2010 12:56:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/08/18/123879.htmlhttp://www.shnenglu.com/momoxiao/comments/123879.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/08/18/123879.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/123879.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/123879.html
# -*- coding:utf-8 -*-
#
 file : shift_domain.py
#
import re
import sys

def DealWithDomain(s):
    r 
= re.compile(r'''
(?<=class="w2">)          # 匚wclass="w2">
\S*                      # 匚wdomain
(?=</LI>)
''', re.X|re.I)              # 忽略注释Q忽略大写
    return r.findall(s)

if len(sys.argv) == 1:
    sour 
= raw_input('误入要处理的文件\?/span>')
else:
    sour 
= sys.argv[1]
file 
= open(sour)
= file.readlines()
file.close()

for line in s:
    url 
= DealWithDomain(line)
    
if len(url) == 1:
        
print url[0]

? q个...但是配合Ctrl+W真的很强?img height="20" src="http://www.shnenglu.com/Emoticons/QQ/14.gif" width="20" border="0">
# -*- coding:utf-8 -*-
#

import webbrowser

= 53681
= 53689

for eventid in range(a,b):
    tmp 
= "http://******/detail/" + str(eventid) + "/"
    webbrowser.open(tmp)


2010-08-18 20:56 发表评论
]]>
Python正则表达?/title><link>http://www.shnenglu.com/momoxiao/archive/2010/08/08/122626.html</link><dc:creator>默</dc:creator><author>默</author><pubDate>Sun, 08 Aug 2010 03:13:00 GMT</pubDate><guid>http://www.shnenglu.com/momoxiao/archive/2010/08/08/122626.html</guid><wfw:comment>http://www.shnenglu.com/momoxiao/comments/122626.html</wfw:comment><comments>http://www.shnenglu.com/momoxiao/archive/2010/08/08/122626.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/momoxiao/comments/commentRss/122626.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/momoxiao/services/trackbacks/122626.html</trackback:ping><description><![CDATA[ <img alt="" src="http://www.shnenglu.com/images/cppblog_com/momoxiao/zhengzebiaoda.JPG"><br><img alt="" src="http://www.shnenglu.com/images/cppblog_com/momoxiao/zhengzebiaoda2.JPG" height="220" width="833"><br><img src ="http://www.shnenglu.com/momoxiao/aggbug/122626.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/momoxiao/" target="_blank">默</a> 2010-08-08 11:13 <a href="http://www.shnenglu.com/momoxiao/archive/2010/08/08/122626.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【{】关于JSP面出现I页面或部分面http://www.shnenglu.com/momoxiao/archive/2010/07/29/121627.htmlThu, 29 Jul 2010 10:35:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/07/29/121627.htmlhttp://www.shnenglu.com/momoxiao/comments/121627.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/07/29/121627.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/121627.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/121627.htmlhttp://www.blogjava.net/xiaomage234/archive/2008/10/21/235710.html
===================
现象Q?br>1Q内容区昄I白或部分页面;
2Q?#8220;查看源文?#8221;Q里面代码不完整Q?br>
解决方式Q?br>1Q在jspW一行添?"<%@ page buffer="108kb" autoFlush="true" %>"Q如果还是不行,增加108kbq个数|一直到面出现jsp抛错的堆栈信息?br>2Q根据堆栈信息解x问题?br>
原因以及本质Q?br>

 

服务端的输出~冲?nbsp;
~省情况?服务端要输出到客L的内?不直接写到客L,而是先写C个输出缓冲区?只有在下面三中情况下Q才会把该缓冲区的内容输出到客户端上Q?nbsp;


1
)该jsp|页已完成信息的输出 

2
)输出~冲区已?nbsp;

3
)jsp中调用了out.flush()或response.flushbuffer() 

输出~冲区的大小可以? 或response.setbuffersize()讄,如下Q?nbsp;

1)讄输出~冲区的大小?kb?nbsp;或response.setbuffersize(1
); 

2)讄输出~冲区的大小?Q即不缓册Ӏ?nbsp;或response.setbuffersize(0
); 

用response.getbuffersize()或out.getbuffersize()可取的输出缓冲区的大?单位为字? 用response.iscommitted()可检查看服务端是否已数据输出到客户? 如果q回值是true则已数据输出到客户?是false则还没有. 

1Qjsp代码有bug[或者缺相关配|文Ӟ相关依赖c]Q?br>2Q当面buffer用得差不多的时候,q时候如果有q行时异常,tomcat处理不了时就会将q行时异怿息输出到jsp面的buffer区,D有部分内容还停留在bufferQ而此旉面在q未完成|页输出,~冲区未满,也未调用flush的情况下不会l箋处理后面的网信息输出,tomcat此时已l处理的部分代码q回l浏览器去解析,׃内容不完_D了出?I页面或部分面?br>3Q可以调?<%=out.getRemaining() %> Ҏ查看jsp的buffer剩余量?br>
=============
完全看不懂啊Q悲剧。。?/span>


2010-07-29 18:35 发表评论
]]>
【{】请教Shell中的冒号?”的作用http://www.shnenglu.com/momoxiao/archive/2010/07/03/119270.htmlSat, 03 Jul 2010 15:19:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/07/03/119270.htmlhttp://www.shnenglu.com/momoxiao/comments/119270.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/07/03/119270.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/119270.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/119270.htmlhttp://bbs.chinaunix.net/viewthread.php?tid=1024441

====================================
:$(var:=value)的作用:
奇天鹅

QUOTE:
原帖?nbsp;xuleicsu ?nbsp;
2007-12-4 15:37 发表 
再问一句啊Q?br>${var:
=value} q是什么意思呢Q?br>${} l构是干什么用的啊

==================

如果var讄了一个?nbsp; ׃?br>如果没?nbsp; 讄成value

cM的一个例子:
airuwan
: ${HA_DIR:=/etc/ha.d}
: ${HA_RCDIR:
=$HA_DIR/rc.d}
: ${HA_CONFDIR
=$HA_DIR/conf}
: ${HA_CF:
=$HA_DIR/ha.cf}
: ${HA_VARLIB:
=/var/lib/heartbeat}
: ${HA_RSCTMP:
=/var/run/heartbeat/rsctmp}
: ${HA_FIFO:
=/var/lib/heartbeat/fifo}
: ${HA_BIN:
=/usr/lib/heartbeat}
: ${HA_DATEFMT:
="%Y/%m/%d_%T "}
: ${HA_DEBUGLOG:
=/dev/null}
: ${HA_RESOURCEDIR:
=$HA_DIR/resource.d}
: ${HA_DOCDIR:
=/usr/share/doc/heartbeat}
: ${__SCRIPT_NAME:
=`basename $0`}
: ${HA_LOGTAG:
=$__SCRIPT_NAME[$$]}
: ${HA_VARRUN:
=/var/run/}
: ${HA_VARLOCK:
=/var/lock/subsys/}

export HA_DIR HA_RCDIR HA_FIFO HA_BIN 
export HA_DEBUGLOG HA_LOGFILE HA_LOGFACILITY
export HA_DATEFMT HA_RESOURCEDIR HA_DOCDIR

q就是它的作用,多谢g解惑


2010-07-03 23:19 发表评论
]]>
【{】shell 十三? TODOhttp://www.shnenglu.com/momoxiao/archive/2010/07/03/119269.htmlSat, 03 Jul 2010 15:04:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/07/03/119269.htmlhttp://www.shnenglu.com/momoxiao/comments/119269.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/07/03/119269.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/119269.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/119269.htmlhttp://bbs.chinaunix.net/viewthread.php?tid=218853&extra=&page=1

2010-07-03 23:04 发表评论
]]>
shellcode|马%u替换http://www.shnenglu.com/momoxiao/archive/2010/06/17/118090.htmlThu, 17 Jun 2010 09:04:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/06/17/118090.htmlhttp://www.shnenglu.com/momoxiao/comments/118090.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/06/17/118090.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/118090.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/118090.html==================
shellcode 替换的识别:
1.比较懒的一U方法,看代码中哪个字符串出现的频率非常?br>2.一般在|马中会l出替换字串Q?br>如:
unescape(ttt.replace(/gfds/g,"\x25\x75"))
替换字串为gfds
\x25\x75是%u
=================
替换%u后若两次esc解码没有解出|马地址Q可能含有密?br>一般含有最多的字串是密?br>


2010-06-17 17:04 发表评论
]]>
source insight http://www.shnenglu.com/momoxiao/archive/2010/06/15/117970.htmlTue, 15 Jun 2010 07:57:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/06/15/117970.htmlhttp://www.shnenglu.com/momoxiao/comments/117970.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/06/15/117970.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/117970.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/117970.html好久不用source insight了,实在不会用code blocks的搜索功能,重新装上source insight了。。?/div>


3.x序列PSI3US-032434-6492


shift+8Q光标选中的词全文加亮。大赞啊。之前以为只有cb有这个功? =
tab键用I格替换QOption->Document Options中选中expand tabs.


暂时只剩下那个依然惨不忍睹的中文支持的问题了。。?/div>

2010-06-15 15:57 发表评论
]]>【{】INT 10H中断http://www.shnenglu.com/momoxiao/archive/2010/06/05/117214.htmlSat, 05 Jun 2010 02:37:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/06/05/117214.htmlhttp://www.shnenglu.com/momoxiao/comments/117214.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/06/05/117214.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/117214.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/117214.html

功能P00H

功能Q设|显C模?br>
入口参数QAH=00H

   AL=昄模式

昄模式列表:

昄模式  昄模式属?br>
  00H       40×25    16?文本

  01H       40×25    16?文本

  02H       80×25    16?文本

  04H       320×200   4?br>
  05H       320×200   4?br>
  06H       640×200   2?br>
  07H       80×25     2?文本

  08H       160×200  16?br>
  09H       320×200  16?br>
  0AH       640×200   4?br>
  0BH       保留

  0CH       保留

  0DH       320×200  16?br>
  0EH       640×200  16?br>
  0FH       640×350   2Ԍ单色Q?br>
  10H       640×350   4?br>
  11H       640×480   2?br>
  12H       640×480  16?br>
  13H       320×200 256?br>
功能?1H

功能Q设|光标Ş?br>
入口参数Q?AHQ?1H

           CH低四位=光标的v始行

           CL低四位=光标的终止行

出口参数Q??br>
功能P02H

功能Q用文本坐标下设|光标位|?br>
入口参数Q?AHQ?2H

           BHQ显C页?br>
           DHQ行(Y坐标)

           DLQ列(X坐标)

出口参数Q??br>
功能P03H

功能Q在文本坐标下,d光标各种信息

入口参数QAHQ?3H

          BHQ显C页?br>
出口参数QCHQ光标的起始?br>
          CLQ光标的l止?br>
          DHQ行(Y坐标)

          DLQ列(X坐标)

功能P04H

功能Q获取当前状态和光笔位置

入口参数QAHQ?4H

出口参数QAHQ?0h—光W未按下/未触发,01h—光W已按下/已触?br>
          BXQ象素列(囑ŞX坐标)

          CHQ象素行(囑ŞY坐标Q显C模式:04H~06H)

          CXQ象素行(囑ŞY坐标Q显C模式:0DH~10H)

          DHQ字W行(文本Y坐标)

          DLQ字W列(文本X坐标)

功能P05H

功能Q设|显C页Q即选择zd的显C页

入口参数QAHQ?5H

          ALQ显C页

对于CGA、EGA、MCGA和VGAQ其昄如下表所列:

模式   |        昄器类?br>
00H    01H 0~7     CGA、EGA、MCGA、VGA

02H    03H 0~3     CGA

02H    03H 0~7     EGA、MCGA、VGA

07H     0~7        EGA、VGA

0DH    0~7         EGA、VGA

0EH    0~3         EGA、VGA

0FH    0~1         EGA、VGA

10H    0~1         EGA、VGA

功能P06H?7H

功能Q初始化屏幕或滚?br>
入口参数QAHQ?6H—向上滚屏,07H—向下滚?br>
          ALQ滚动行?0—清H口)

          BHQ空白区域的~省属?br>
          (CH、CL)Q窗口的左上角位|?Y坐标QX坐标)

          (DH、DL)Q窗口的右下角位|?Y坐标QX坐标)

出口参数Q??br>
功能P08H

功能Q读光标处的字符及其属?br>
入口参数QAHQ?8H

          BHQ显C页?br>
出口参数QAHQ属?br>
          ALQ字W?br>
功能P09H

功能Q在当前光标处按指定属性显C字W?br>
入口参数QAHQ?9H

          ALQ字W?br>
          BHQ显C页?br>
          BLQ属?文本模式)或颜?囑Ş模式)

          CXQ重复输出字W的ơ数

出口参数Q无

功能P0AH

功能Q在当前光标处按原有属性显C字W?br>
入口参数QAHQ?AH

          ALQ字W?br>
          BHQ显C页?br>
          BLQ颜?囑Ş模式Q仅适用于PCjr)

          CXQ重复输出字W的ơ数

出口参数Q无

功能P0BH

功能Q设|调色板、背景色或边?br>
入口参数QAHQ?BH

讄颜色QBHQ?0HQBLQ颜?br>
选择调色板:BHQ?1HQBLQ调色板(320×200?U颜色的囑Ş模式)

出口参数Q??br>
功能P0CH

功能Q写囑Ş象素

入口参数QAHQ?CH

          ALQ象素?br>
          BHQ页?br>
          (CX、DX)Q图形坐标列(X)、行(Y)

出口参数Q无

功能P0DH

功能描述Q读囑Ş象素

入口参数QAHQ?DH

          BHQ页?br>
          (CX、DX)Q图形坐标列(X)、行(Y)

出口参数QALQ象素?br>
功能P0EH

功能Q在Teletype模式下显C字W?br>
入口参数QAHQ?EH

          ALQ字W?br>
          BHQ页?br>
          BLQ前景色(囑Ş模式)

出口参数Q??br>
功能P0FH

功能Q读取显C器模式

入口参数QAHQ?FH

出口参数QAHQ屏q字W的列数

          ALQ显C模?参见功能00H中的说明)

          BHQ页?br>
功能P10H

功能描述Q颜色中断。其子功能说明如下:

功能受子功能名U?nbsp;        功能受子功能名U?br>
 00H    讄调色板寄存器    01H    讄Ҏ颜色

 02H    讄调色板和Ҏ    03H    触发闪烁/亮显?br>
 07H    d调色板寄存器    08H    dҎ颜色

 09H    d调色板和Ҏ    10H    讄颜色寄存?br>
 12H    讄颜色寄存器块    13H    讄颜色늊?br>
 15H    d颜色寄存?nbsp;     17H    d颜色寄存器块

 1AH    d颜色늊?nbsp;     1BH    讄灰度?br>
 

功能P11H

功能Q?字体中断。其子功能说明如下:

子功能号   子功能名U?br>
  00H      装入用户字体和可~程控制?br>
  10H      装入用户字体和可~程控制?br>
  01H      装入8×14 ROM字体和可~程控制?br>
  11H      装入8×14 ROM字体和可~程控制?br>
  02H      装入8×8 ROM字体和可~程控制?br>
  12H      装入8×8 ROM字体和可~程控制?br>
  03H      讄块指C器

  04H      装入8×16 ROM字体和可~程控制?br>
  14H      装入8×16 ROM字体和可~程控制?br>
  20H      讄INT 1Fh字体指针

  21H      为用户字体设|INT 43h

  22H      ?×14 ROM字体讄INT 43H

  23H      ?×8 ROM字体讄INT 43H

  24H      ?×16 ROM字体讄INT 43H

  30H      d字体信息

 

功能P12H

功能Q显C器的配|中断。其子功能说明如下:

功能?nbsp;   功能名称   

  10H     d配置信息 

  20H     选择屏幕打印 

  30H     讄扫描?br>
  31H     允许/止装入~省调色?br>
  32H     允许/止昄

  33H     允许/止灰度求和

  34H     允许/止光标模拟

  35H     切换zd昄

  36H     允许/止屏幕h

 

功能P13H

功能Q在Teletype模式下显C字W串

入口参数QAHQ?3H

          BHQ页?br>
          BLQ属?若AL=00H?1H)

          CXQ显C字W串长度

          (DH、DL)Q坐?行、列)

ES:BPQ显C字W串的地址 ALQ?昄输出方式

 0—字W串中只含显C字W,其显C属性在BL中。显C后Q光标位|不?br>
 1—字W串中只含显C字W,其显C属性在BL中。显C后Q光标位|改?br>
 2—字W串中含昄字符和显C属性。显C后Q光标位|不?br>
 3—字W串中含昄字符和显C属性。显C后Q光标位|改?br>
 

出口参数Q??br>
功能P1AH

功能Q读?讄昄l合~码Q仅PS/2有效Q在此从?br>
功能P1BH

功能Q读取功?状态信息,仅PS/2有效Q在此从?br>
功能P1CH

功能Q保?恢复昄器状态,仅PS/2有效Q在此从?/span>



2010-06-05 10:37 发表评论
]]>
php studyhttp://www.shnenglu.com/momoxiao/archive/2010/05/15/115427.htmlFri, 14 May 2010 23:59:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/05/15/115427.htmlhttp://www.shnenglu.com/momoxiao/comments/115427.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/05/15/115427.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/115427.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/115427.html
<?PHP
//1
//phpinfo();

//2
//print "hello world";

//3
//$num1 = 8;
//$num2 = 23;


print $_GET['user']."<br/>";
print "Welcome <b>".$_POST['user']."</b><br/>\n\n";

//print $num2;
?>

2.
<!DOCTYPE html PUBLIC
   
"-//W3C//DTD XHTML 1.0 Strict//EN"
 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>A PHP Script Including HTML</title>
</head>
<body>
<div><b>
<?php
print "hello world";
?>
</b></div>
</body>
</html>

3.
<?PHP
//const
define ("USER","colorfulgreen"); //定义一个常?/span>
print "Welcome ".USER; //'.'表示q接
print "<br />";        //换行
print "the second line.";
?>

4.
<?php
//E序程
//switch

$satisfied = "c.g";
if($satisfied == "cg"){
    
print "go into the if.";
}
else{
    
print "go into the else.";
}

//switch case
//? :


print "<br />";

$count = 1;
while($count < 12){
    
print $count."<br />";
    
$count++;
}

//dowhile
//for
//break
//continue

?>

5.
<?php
//func
//ex.1

$num = -321;
$newnum = abs($num);
print $newnum;

//print "<br />";

//ex.2.自定义函?/span>
function bighello()
{
    
print "<h1>HELLO</h1>";
}
bighello();

//ex.3.带参?/span>
function printBR($txt)
{
    
print ("$txt<br />\n");
}
printBR(
"this is the first line.");
printBR(
"this is the second line.");

//ex.4.A Function That Returns a Value
function addNums($firstnum,$secondnum)
{
    
$result = $firstnum + $secondnum;
    
return $result;
}
print "<br />Function That Returns a Value"."<br />";
print addNums(6,5);

//ex.5.Calling a Function Dynamically
//cM与函数指?/span>
print "<br /><br />Calling a Function Dynamically<br />";
function sayHello()
{
    
print "hello<br />";
}
$function_holder = "sayHello";
$function_holder();

//ex.6.Variable Scope
print "<br /><br />Variable Scope<br />";
function test()
{
    
$testvariable = "this is a test variable";
}
print "test variable: $testvariable";

//ex.7.global & static
print "<br /><br />global & static<br />";
$num_of_calls = 0;
function numberedHeading($txt)
{
    
global $num_of_calls;
    
$num_of_calls++;
    
print "$num_of_calls.$txt<br />";
}
numberedHeading(
"the first callglobal");
numberedHeading(
"the second callglobal");
//用局部静态变量,和上面输Z?/span>
function numberedHeading2($txt)
{
    
static $num_of_calls2 = 0;
    
$num_of_calls++;
    
print "$num_of_calls.$txt<br />";
}
numberedHeading2(
"the first callglobal");
numberedHeading2(
"the second callglobal");

//ex.7.A Function Requiring Two Arguments
function headingWrap($txt,$size)
{
    
print "<h$size>$txt</h$size>";
}
headingWrap(
"Book title",1);
headingWrap(
"Chapter title",2);

//ex.8.A Function with an Optional Argument
function headingWrap2($txt,$size = 3)
{
    
print "<h$size>$txt</h$size>";
}
headingWrap2(
"Book title",1);
headingWrap2(
"Chapter title");

//ex.9.Passing an Argument to a Function by Value
function addFive($num)
{
    
$num +=5;
}
$orignum = 10;
addFive(
$orignum);
print "$orignum<br />";

//ex.10.Pass an Argument to a Function by Reference
//???

function addFive2(&$num)
{
    
$num +=5;
}
$orignum2 = 10;
addFive(
$orignum2);
print "$orignum2<br />";

//ex.11.A Simple Anonymous Function,函数指针
$my_anon = create_function('$a,$b','return $a + $b;');
print $my_anon(3,9);

?>

6.
<?php
//array

//ex.1.

$users = array("Bert","Sharon","Bettery","Harry");
print $users[2]."<br />";

//ex.2.Defining Associative Arrays with the array() Construct
$character = array(
  
"name" => "bob",
  
"occupation" => "superhero",
  
"age" => 30,
  
"special power" => "x-ray vision"
  );
print $character["age"];

//ex.3.Defining a Multidimensional Array

//未完

?>

 

7.

<?php
/*
//http://localhost/10.php?user=cg&address=192.168.x.x
print "Welcome <b>".$_GET['user']."</b><br/>\n\n";
print "Your address is: <br/><b>".$_GET['address']."</b>";
*/

print $_GET['user']."<br/>";

print "Welcome <b>".$_POST['user']."</b><br/>\n\n";
print "Your address is: <br/><b>".$_POST['address']."</b>";

if ( is_array$_POST['products'] ) )
{
    
print "<p>Your product choices are:</p>\n";
    
print "<ul>\n";
    
foreach ( $_POST['products'as $value )
    {
       
print "<li>$value</li>\n";
    }
    
print "</ul>\n";
}
?>


2010-05-15 07:59 发表评论
]]>
php Notice: Undefined offset:http://www.shnenglu.com/momoxiao/archive/2010/04/19/112979.htmlMon, 19 Apr 2010 05:23:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/04/19/112979.htmlhttp://www.shnenglu.com/momoxiao/comments/112979.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/04/19/112979.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/112979.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/112979.html 

Notice: Undefined offset: 0 in E:\CODE\PHP\login\check.php on line 3

数组下标界



2010-04-19 13:23 发表评论
]]>
『{』bat语法http://www.shnenglu.com/momoxiao/archive/2010/04/12/112390.htmlMon, 12 Apr 2010 15:38:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/04/12/112390.htmlhttp://www.shnenglu.com/momoxiao/comments/112390.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/04/12/112390.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/112390.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/112390.html如何创徏批处理文Ӟ

    不要听了批处理文件就感到很神气,其实q东西很单的Q你用过C本没有?用过Q 好的Q将C本打开Q什么都不用写,然后选择文gQ保存.保存cd选择所有文Ӟ文g名则命名为 Q.bat q个Q代表是文g名,你可以随便的P保存好之后,看看你保存的地方Q会出现一个白色窗口里有个黄色齿轮的图标.q东西就是你创徏的批处理文gQ双M可以运行,但他现在׃里面没有输入M命oQ所以他q行了ƈ不会做Q何事情.当我们想往q个Q?bat文g中添加东西时Q只要右键选择他,然后选择~辑Q就可以打开C本往内输入命令了Q[/rm]

批处理文件中的命令是什么?

批处理文件中的命令暂时先可以理解为dos命oQ等E后深入理解了以后再q行解释Q批处理֐思义是一大堆东西堆在一起处理.换句话说是往里面写一条条dos命oQ然后按序挨个执行Q效果跟你在cmd里敲dos命o是一个效果.只不q用批处理写好之后,要运行只要双M可以运行了Q而不用再一遍一遍的重复的往里面打命令.q就是批处理文g的好处.

除了q行dos命o之外Q他q可以支持选择l构ifQ@环结构forQgoto{,与c有点cMQ但q没有c全面Qƈ且编写语a十分不规范.

批处理语法:

先讲个最基本的东ѝ@echo off

echo的意思是回旋Q这里的意思就是回显,echo off意思就是关闭回显.前面的@表示echo off q一行也不会回显你可以试着L@和整行去掉.@的另一个功能是在执行完批处理文件时自动恢复命o回显。如果第一句用的是ECHO OFFQ那么在执行完批处理文g以后不会昄命o提示W?/p>

举个例子Q如果我们先创徏一个1Qbat文gQ往里面输入Q?/p>

dir 然后保存在cQ\下.然后我们q行cmdQ进入c盘根目录下,输入Q.batQ则昄Q?/p>

C:>1.bat
C:>dir

驱动?C 中的h有标{?/p>

L序列h 0C5D-07FF

C: 的目?/p>

2004-08-25 00:45 WINDOWS

2004-08-25 00:51 Documents and Settings

...........

C:

如果1Qbat内容修改?/p>

echo off
dir

然后再在cmd里输入1QbatQ则会显C?/p>

C:>1.bat
C:>echo off
       //因ؓq行了echo offQ所以没有显Cdir命oQ直接显CZl果

驱动?C 中的h有标{?/p>

L序列h 0C5D-07FF

C: 的目?/p>

2004-08-25 00:45 WINDOWS

2004-08-25 00:51 Documents and Settings

Q.Q.Q?/p>

C:

如果1Qbat文g修改成:

@echo off
dir

则显C成Q?/p>

C:>1.bat //与前面不同,q没有显Cecho offQ原因是加了Q,所以不昄Q后面的内容Q又因ؓ?了echo offQ所以后面的命o不显C,直接昄l果

驱动?C 中的h有标{?/p>

L序列h 0C5D-07FF

C: 的目?/p>

2004-08-25 00:45 WINDOWS

2004-08-25 00:51 Documents and Settings

Q.Q.

C:

通过以上的比较,怿你对echo off命o已经充分掌握了.

接下来讲的是call命oQ?/p>

call 是打电话的callQ而不是"喔靠Q的靠:Q.call的意思ؓ调用Q假如有Q个批处理文件a.bat和b.batQ如果我惌行a.bat的当中运?b.batQ如何运行呢Q其实很单,只要在a.bat文g中输入call命oQ则可以在a.batq行的当中,q行b.batQ等b.batq行完之后,l箋执行a.bat

call命o格式Q?/p>

CALL [drive:][path]filename [batch-parameters]

batch-parameters 指定批处理程序所需的命令行信息?/p>

举例如下Q我们在c盘根目录下创建aQbat文gQ内容ؓ:

echo this is a.bat

call d:b.bat

echo done

然后在d盘根目录下创建b.batQ内容ؓQ?/p>

echo this is b.bat

保存后,打开cmdQ进入c盘根目录Q然后输?.batQ显C如下:

C:>a.bat

C:>echo this is a.bat

this is a.bat

C:>call d:b.bat

C:>echo this is b.bat

this is b.bat

C:>echo done

done

׃子很Ҏ看出来,是先q行a.bat的内容,直到遇到call b.bat后,则调用b.batQ运行完b.bat后,再返回a.bat接着q行call b.bat后面的echo done语句Q直臛_a.bat的所有批处理命oq行完.

注:里面有个[batch-parameters]里面的所指的参数是什么,知道的朋友能否告知,不胜感激Q?/p>

PAUSE 命o

暂停批处理程序的执行q显CZ条消息,提示用户按Q意键l箋执行。只能在批处理程序中使用该命令?/p>

rem命oQ?/p>

表示此命令后的字Wؓ解释行(注释Q,不执行,只是l自׃后参考用的(相当于程序中的注释)Q?/p>

同时你可以用两个冒号来替代remQ如Q ::{同于一个remQ但他们有个区别Q就是用::作注释的话他是不回显的,即你打echo on强制回显也没有同的.同时rem可以在config.sys中加注释Q?/p>

语法Q?rem[commnet]

批处理文件参敎ͼ

有点~程基础的h都知道函数有参数Q批处理文g也有参数Q?/p>

我打个比方,希望能帮助没有语a基础的h也能看的非常明白Q 

我从例子里开始吧Q首先在c盘根目录下创Z个批处理文g aQbatQ里面输入内?/p>

echo %1

然后打开cmdQ然后进入c盘根目录Q输入:a "this is a canshu"

得到l果如下Q?/p>

C:>a.bat "this is a test"

C:>echo "this is a test"

"this is a test"

输入的a "this is a canshu"中,a为新建的a.bat的文件名aQ后面的.bat可写也可不写Q,而a后面的 "this is a canshu"q句话就是参敎ͼ写在q的参数Q在E序q行中就参数自动放到批处理E序中去Q那么放在什么位|呢Q就是放在 %1的地方.

看了例子Q让我们看看整个关于参数的定义如何:

批处理文件还可以像C语言的函C样用参敎ͼ相当于DOS命o的命令行参数Q,q需要用C个参数表C符"%"?/p>

%[1-9]表示参数Q参数是指在q行批处理文件时在文件名后加的以I格Q或者TabQ分隔的字符丌Ӏ变量可以从%0?9Q?0表示批处理命令本w,其它参数字符串用%1?9序表示?/我们上个E序的例子里有Q1Q他是参数Q而输入中Qthis is a testQ作为参数就直接攑ֈQ1的位|,于是E序变成了 echo "this is a test"Q?/p>

再D几个例子帮助你理解:

C:根目录下一批处理文件名为b.batQ内容ؓ:

@echo off

type %1     //type为dos中的输出命oQ可以用来输出文本文件的内容Q比如我们新Z个1Qtxt文g

//里面输入内容Q保存.qcmdQ如果输入1Qtxt则看不了Q.txt文g内容Q但是如果我

//想看怎么办呢Q这时候可以用type命oQ只要在cmd里输入type Q.txtp昄

//Q.txt文g中的内容了 

type %2

那么q行C:>b a.txt b.txt

%1 : 表示a.txt

%2 : 表示b.txt

于是上面的批处理命o变成了

@echo off

type a.txt

type b.txt

于是上面的命令将序地显Ca.txt和b.txt文g的内宏V?/p>

没有~程基础的h可能要问Q干什么要弄个参数啊?在后面加个参数多ȝ啊?直接往里面写不好了啊Q!其实q样x对的斚w也有错的斚wQ还是D个例子说明吧Q?/p>

W一步还是在c盘根目录下新Z个批处理文gQ我们取名仍为a.batQ往里面的内容输入ؓQ?/p>

ping %1  //ping命o可以单理解ؓ试一台机器开着q是没有开Q如果开着的话Q他回l你回送回应.

然后qcmdQ我们想试下1Q3的服务器是不是开着Q则输入a www.163.com

对于知道ping命o的hQ可以打pingq行查,但如果想ping的h不知道ping命o怎么用,那怎么办啊Q这时候你可以把命o预先输入到批处理文g中,保存好,然后让不会用的hqcmdQ运行你的批处理文gQ文件名后面加上他要ping 的网站地址p了.换句话说Q他想ping Q6Q就直接加1Q3的网址Q想ping sinaq接加sina的网址Q这样只要输入一个参敎ͼ而不用改E序本nQ整个程序的通用性就大大提高了.

q是对于一个简单的ping命oQ你或许觉得用参C值得Q还是直接改不就好了啊.但如果程序有很多条,你一下找不到在哪Ҏ么办啊Q所以,不管你是菜哥Q菜弟,菜姐Q菜妹,只要q行下,输入参数Q结果自己就会出来,不用再象你一P考虑怎么~写批处理文Ӟ人家只要知道是输入什么东西能让批处理E序q行Q而编写的人则想的是如何让不懂E序的h能运行程序.

批处理参数就q么单,不知道你理解了没有?但如果你x一步了解批处理参数Q可以接着往下看Q如果不x入了解,知道现在q么多也够了.


Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=Q=

因ؓ参数只有Q%Q9Q,但当我们要引用第十个或更多个参数? 必ȝ动DOS 的参数v始指? shift 命o正充当了q个Ud指针的角? 它将参数的v始指针移动到下一个参? cMC 语言中的指针操作. 囄如下:

初始状? cmd 为命令名, 可以?%0 引用

cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10

^ ^ ^ ^ ^ ^ ^ ^ ^ ^

&line; &line; &line; &line; &line; &line; &line; &line; &line; &line;

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

l过1ơshift? cmd 无法被引用

cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10

^ ^ ^ ^ ^ ^ ^ ^ ^ ^

&line; &line; &line; &line; &line; &line; &line; &line; &line; &line;

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

l过2ơshift? arg1也被废弃, %9指向为空, 没有引用意义

cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10

^ ^ ^ ^ ^ ^ ^ ^ ^ ^

&line; &line; &line; &line; &line; &line; &line; &line; &line; &line;

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

遗憾的是, win9x 和DOS下均不支?shift 的逆操? 只有?nt 内核命o行环境下, shift 才支?/n 参数, 可以以第一参数为基准返复移动v始指?

=================

if goto choice for高语法

if命o

说得通俗点,ifq当于我们白话里的如果Q?/p>

举个例子Q如果a喜欢bQ那么ap娶bQ q句话翻译成计算a成?/p>

if a喜欢b ap娶bQ?/p>

当然拉,计算Z可能理解a喜欢bQap娶bq两句话Q这里只是D个例子让你方便理解.

if语句一共有3U模?如下:

IF [NOT] string1==string2 command

IF [NOT] EXIST filename command

IF [NOT] ERRORLEVEL number command

NOT 指定只有条g?false 的情况下Q?Windows XP 才应该执行该命o?/p>

ERRORLEVEL number 如果最后运行的E序q回一个等于或大于指定数字的退出编码,指定条g?true?/p>

string1==string2 如果指定的文字字W串匚wQ指定条件ؓ true?/p>

EXIST filename 如果指定的文件名存在Q指定条件ؓ true?/p>

command 如果W合条gQ指定要执行的命令。如果指定的条g?FALSEQ命令后可跟一个执?ELSE关键字后的命令的 ELSE 命o?/p>

我们先讲解第一U?

IF [NOT] string1==string2 command

自然语句意思:如果string1Q=string2Q那么执行command

下面再D个能实际应用的if语句Q?/p>

自然语句Q如果输入的参数为3Q那么显C"aQ3Q?/p>

计算句:

@echo off

if "%1"=="3" echo "a=3"

或者写?/p>

@echo off

if %1==3 echo "a=3"

注意:当要试的时?因在cmd底下,输入1.bat 3.因ؓq里用了是传递参?具体看文章前部分"批处理文件参?.

W二U:

IF [NOT] EXIST filename command

q条命o用语文件是否存在.如果存在Q执行commandQ如果不存在Q则什么也不显C.

如:我们x查e盘根目录下是否有一个叫Q?txt的文Ӟ如果存在Q则昄existQ如果不存在Q则什么也不显C.

批处理命令如下:

@echo off

if exist e:2.txt echo "exist 2.txt"

W三U:

IF [NOT] ERRORLEVEL number command

q个我引用点资料Q感觉别人写得更详细Q引用部分ؓ色字部分:

if errorlevel 待执行的命o

很多DOSE序在运行结束后会返回一个数字值用来表C程序运行的l果(或者状?Q通过if errorlevel命o可以判断E序的返回|Ҏ不同的返回值来军_执行不同的命?q回值必L照从大到的序排列)。如果返回值等于指定的数字Q则条g成立Q运行命令,否则q行下一句?/p>

如if errorlevel 2 goto x2

==== ?===========

q回g大到的序排列不是必须? 而只是执行命令ؓ goto 时的习惯用法, 当?set 作ؓ执行命o? 通常会从到大顺序排? 比如需返回码|入环境变量, 需使用以下的顺序Ş?

if errorlevel 1 set el=1

if errorlevel 2 set el=2

if errorlevel 3 set el=3

if errorlevel 4 set el=4

if errorlevel 5 set el=5

...

当然, 也可以用以下@环来替代, 原理是一致的:

for %%e in (1 2 3 4 5 6 7 8...) do if errorlevel %%e set el=%%e //此处Z个for循环Q后面会l箋                        介绍到的Q看不懂可以先蟩q去

if errorlevel 比较q回码的判断条gq{于, 而是大于{于. ׃ goto 的蟩转特? 由小到大排序会导致在较小的返回码处就跛_; 而由?set命o?"重复" 赋值特? 由大到小排序会导致较的q回?"覆盖" 较大的返回码.

另外, 虽然 if errorlevel= command 也是有效的命令行, 但也只是 command.com 解释命o行时?= 作ؓ命o行切分符而忽略掉|了

choice命o

goto命o

for命o

for命o其实是一个@环命?如果我们想重复一个语?可以用for命o.通过for命o,可以控制循环的次数等.

语法:

FOR %variable IN (set) DO command [command-parameters]

%variable 指定一个单一字母可替换的参数?/p>

(set) 指定一个或一l文件。可以用通配W?/p>

command 指定Ҏ个文件执行的命o?/p>

command-parameters

为特定命令指定参数或命o行开兟?/p>

在批处理文g中?FOR 命oӞ指定变量请?%%variable

而不要用 %variable。变量名U是区分大小写的Q所?%i 不同?%I.

不知道你你看懂了没有Q其实还是很Ҏ理解的,q是举个例子吧.我想用type打印所有c盘根目录下的bat文g和txt文gQdos底下命o是 type Q.bat Q?txtQ先该文g保存在c盘根目录?名称为a.bat

用for命o如下Q?/p>

for %%t in (*.bat *.txt) do type %%t

%%t其实是代表的一个参敎ͼ他的内容在in() 里面括号里的内容.也就是说q句话里?%t变成了*.bat *.txt?do是做的意?执行type命o,而type后面?%t,?%t又是*.bat *.txt.所以原来这句命令的意思就变成?

type *.bat *.txt

执行时进cmd,然后到c盘根目录下输入a.bat可以打印出c盘根目录下所有扩展名?bat?txt的文件内容了.

q里要注意:in后面有个I格Q?/p>

在xp底下,for命o扩展名被L因此for的功能变得更加强?下面讲一个真正的循环.

FOR /L %variable IN (start,step,end) DO command [command-parameters]

该集表示以增量Ş式从开始到l束的一个数字序列?/p>

因此Q?1,1,5) 生序?1 2 3 4 5Q?5,-1,1) ?/p>

序列 (5 4 3 2 1)

里面W一?在start的位|?意思是起始位置,W??在step位置,英文意思是跨步,在这里面的意思是每次增量?.后面?在end的位|?意思是l束时的大小.

q句话的意思就是从1(start)开始增?每次增加1(step),一直到变到5(end)为止.

q个有什么用?其实我感觉这个东西的用处q是很大?举个最单的例子,我们想重复回?i am the best"q句?重复昄10?那么for命o如下:

for /L %%e in (1,1,10) do echo "i am the best"

q时,cmd׃重复输入"i am the best"10?

===============================================


现在不知道你对bat有了什么样的理解,我现在的感觉是bat是dos命o的组合,你把dos命o全写qbat命oQ只要运行下bat׃挨个执行dos命oQ这无疑提供了不的方便?/p>

下面我再举些实例.

删除默认׃n:

对于默认׃n不知道你了解多少,反正留着是个隐患,现在唯一的办法好象只能做个bat文gq行删除.命o如下:

net share ipc$ /delete

net share admin$ /delete

net share c$ /delete

net share d$ /delete

net share e$ /delete

……

里面的c d eZ的盘W。如果你只有一个分区,那么写到net share c$ /delete为止可以了。如果你有n个分区,那么挨个写下去?/p>

net share d$ /delete

net share e$ /delete

net share f$ /delete

net share g$ /delete……

登陆到局域网的机器快h?Ҏ机器有密码且?000或以上系l?

net use 2.168.0.1 [密码] /user:[用户名]

explorer 2.168.0.1

bat文g备䆾注册?/p>

set regfile=%date% //讄变量Q下面出?regfile%的都自动替换“当天date”

if exist "%regfile%" goto end //如果发现当天date命名的目录,跛_文g?/p>

md temp //建temp目录

call 1.bat //调用1.bat

del 1.bat

ren 2.bat 1.bat

ren 3.bat 2.bat

ren 4.bat 3.bat

echo move "%regfile%" temp >4.bat //?Ud“当天date命名的目?#8221;到temp的bat文g ?/p>

md "%regfile%" //建当天date命名的目?/p>

cd "%regfile%" //q入

reg export hkcu hkcu.reg //导出注册?/p>

reg export hklm hklm.reg

//HKEY_CURRENT_USER ~写hkcu 。存攑ֽ前用户个人数?/p>

//HKEY_LOCAL_MACHINE ~写hklm 。系l的核心数据

cd..

deltree /y temp >nul ////q回上目录 Q删temp文g?/p>

:end



2010-04-12 23:38 发表评论
]]>
[zz]论c++中的单例模式http://www.shnenglu.com/momoxiao/archive/2010/03/31/111181.htmlWed, 31 Mar 2010 08:34:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/03/31/111181.htmlhttp://www.shnenglu.com/momoxiao/comments/111181.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/03/31/111181.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/111181.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/111181.html  单例模式有许多种实现ҎQ在C++中,甚至可以直接用一个全局变量做到q一点,但这L代码昑־很不优雅。《设计模式》一书中l出了一U很不错的实玎ͼ定义一个单例类Q用类的私有静态指针变量指向类的唯一实例Qƈ用一个公有静态方法获取该实例。如下面的类定义Q?/font>

  class CSingleton:
  {
  // 其它成员
  public:
         static CSingleton * GetInstance()
   {
     if (m_pInstance == NULL)
               m_pInstance = new CSingleton();

           return m_pInstance;
}

  private:
   CSingleton(){};
   static CSingleton * m_pInstance;
  }

  单例cCSingleton有以下特征:
   它有一个指唯一实例的静态指针m_pInstanceQƈ且是U有的?br>   它有一个公有的函数Q可以获取这个唯一的实例,q在需要的时候创实例?br>   它的构造函数是U有的,q样׃能从别处创徏该类的实例?br>  大多时候,q样的实现都不会出现问题。有l验的读者可能会问,m_pInstance指向的空间什么时候释攑֑Q更严重的问题是Q这个实例的析构操作什么时候执行?
  如果在类的析构行Z有必ȝ操作Q比如关闭文Ӟ释放外部资源Q那么上面所C的代码无法实现q个要求。我们需要一U方法,正常地删除该实例?br>  可以在程序结束时调用GetInstanceq对q回的指针调用delete操作。这样做可以实现功能Q但是不仅很丑陋Q而且Ҏ出错。因L附加代码很容易被忘记Q而且也很难保证在delete之后Q没有代码再调用GetInstance函数?br>  一个妥善的Ҏ是让q个c自q道在合适的时候把自己删除。或者说把删除自q操作挂在pȝ中的某个合适的点上Q其在恰当的时候自动被执行?br>  我们知道Q程序在l束的时候,pȝ会自动析构所有的全局变量。事实上Q系l也会析构所有的cȝ静态成员变量,像q些静态成员也是全局变量一栗利用这个特征,我们可以在单例类中定义一个这L静态成员变量,而它的唯一工作是在析构函C删除单例cȝ实例。如下面的代码中的CGarboc(Garbo意ؓ垃圾工hQ:
  class CSingleton:
  {
  // 其它成员
  public:
   static CSingleton * GetInstance()
  private:
   CSingleton(){};
          static CSingleton * m_pInstance;

  class CGarbo // 它的唯一工作是在析构函C删除CSingleton的实?br>  {
  public:
   ~CGarbo()
   {
          if (CSingleton::m_pInstance)
               delete CSingleton::m_pInstance;
           }
  };

   static CGarbo Garbo; // 定义一个静态成员,在程序结束时Q系l会调用它的析构函数
  }

  cCGarbo被定义ؓCSingleton的私有内嵌类Q以防该c被在其它地Ҏ用?/font>

  在程序运行结束时Q系l会调用CSingleton的静态成员Garbo的析构函敎ͼ该析构函C删除单例的唯一实例?br>  使用q种Ҏ释放单例对象有以下特征:
   在单例类内部定义专有的嵌套类?br>   在单例类内定义私有的专门用于释放的静态成员?br>   利用E序在结束时析构全局变量的特性,选择最l的释放时机?br>   使用单例的代码不需要Q何操作,不必兛_对象的释放?/font>

----------------------------------------------------------------------------------------------------------------------------------

以上是转蝲的一个c++中的单例模式。在q个里面涉及Cm_pInstance指向的空间什么时候释攑֑Q更严重的问题是Q这个实例的析构操作什么时候执行?后面使用的内嵌类Ҏ个h觉得q不是很好,如果又要d另一个单例类是不是也要在内嵌cM删除此单例类的实例呢Q如果我要添?00个呢Q你看有多麻烦啊Q?/font>

 

以下是对以前目中用到的单例模式的提取Q?/font>

#include <iostream>
using namespace std;

cȝ定义应该是在*.h文g中的Q这里偷懒了

class Singleton
{
public:
Singleton();
static Singleton *GetInstance() ;
};

以下应该?.cpp文g?/font>

static Singleton *instance = NULL;

Singleton::Singleton()
{
instance = this;
}

Singleton *Singleton::GetInstance()
{
return instance;
}

以下是在使用的地?/font>

int main()
{
Singleton singles;

Singleton *p1 = Singleton::GetInstance();
Singleton *p2 = Singleton::GetInstance();

if (p1 == p2)
{
   cout <<"Two objects is the same instance" <<endl;
}

return 0;
}

在以上的E序中,看到q个和zt中的是类似的。也有个同样的问题出C。在q个里面涉及Cm_pInstance指向的空间什么时候释攑֑Q更严重的问题是Q这个实例的析构操作什么时候执行?哈哈Q这个呢在项目中是有处理的,因ؓ是这个单例对象生成后了是要保存在一个容器中的,而且所有的cM单例是对同一个基cȝl承Q所以利用多态特点vector<type*>再加一个P代器可以很ҎҎ有的q些单例对象q行删除操作了。这个应该说是项目在设计的时候就考虑到的了?/font>

 

q个Q还有没有更好、一x逸的Ҏ呢?朋友看到后告诉了个他看到的很牛的单例写法Q不得不佩服Q真的很牛。后来在CSND论坛上的一个帖子中也看C某位多线E高手也贴出了这U方法?/p>

#include <iostream>

using namespace std;

class Singleton
{
private:
Singleton(){}

public:  

static Singleton *GetInstance()
{
   static Singleton singles;//在此定义静态对?br>   return &singles;
}

};

int main()
{
Singleton *p1 = Singleton::GetInstance();
Singleton *p2 = Singleton::GetInstance();

if (p1 == p2)
{
   cout <<"Two objects is the same instance" <<endl;
}
return 0;
}

 

hohoQ而后l箋了下Qؓ了方便,多个写成了模板类形式Q得承自单例模式的自动ؓ单例模式?/p>

#include <iostream>
#include <assert.h>

using namespace std;

template<class type>
class Singleton
{
public:  
static type *GetInstance()
{
   static type singles;
   return &singles;
}
protected:
Singleton(){}
};

class resourcemanage : public Singleton<resourcemanage>
{
public:
resourcemanage(){}
void showlog()
{
   cout<<"resoucemange"<<endl;
}
};

class mange : public Singleton<mange>
{
public:
mange(){}
void showtexer()
{
   cout<<"show texture"<<endl;
}
};
int main()
{
//Singleton *singles = new Singleton;
resourcemanage *p1 = resourcemanage::GetInstance();
resourcemanage *p2 = resourcemanage::GetInstance();

mange::GetInstance()->showtexer();

p2->showlog();

if (p1 == p2)
{
   cout <<"Two objects is the same instance" <<endl;
}
return 0;
}

 

hohoQ一个单例模式竟然能引出q麽多的东东Q真是学习了不少啊,哈哈哈哈哈哈Q?/p>

最后脓下csdn关于q个单例模式的牛论帖Q?/p>

http://topic.csdn.net/u/20080218/08/291c52f9-5ed0-4f7c-abeb-69f691c2e7f4.html

静态成员变量必要在具体的cpp文g中进行定义,cM出现的静态成员变量只表示一U声明?



2010-03-31 16:34 发表评论
]]>
NSIS制作安装文g全攻略(一Q?zzhttp://www.shnenglu.com/momoxiao/archive/2010/02/06/107327.htmlFri, 05 Feb 2010 16:01:00 GMThttp://www.shnenglu.com/momoxiao/archive/2010/02/06/107327.htmlhttp://www.shnenglu.com/momoxiao/comments/107327.htmlhttp://www.shnenglu.com/momoxiao/archive/2010/02/06/107327.html#Feedback0http://www.shnenglu.com/momoxiao/comments/commentRss/107327.htmlhttp://www.shnenglu.com/momoxiao/services/trackbacks/107327.html阅读全文

2010-02-06 00:01 发表评论
]]>
ձþþվ| þþƷhþþƷ帣ӰԺ1421| Ʒþþþþ³| ɫɫۺϾþҹҹ| vaĻþò| þAëƬѹۿ| ˾þۺߴý| þwww˳ɿƬ| ŷþþþþ| aëƬþ| ĻӰӾþþѹۿ| ɫþþۺľþav| Ʒþҹҹ³³| ҹƷþþþþž| þþƷ2020| ޾Ʒһþ| Ժձһձþ| þþŷղAV| þ㽶߿ۿ99| ҹҹþݺ| ھƷ˾þþþavһ| һŷƬþ| þҹɫƷAV| þAVվ| þþþþ޾Ʒ | ŷƷרþ | þþƷ | þþþav| þùƷ99þþþþ| þҹɫƷa| þۺ϶㼤þ| ľþþƷww16| þþþþAŷAV | þɫۺһ| 99þù뾫ƷѾþþþ| ˾þô߽AV| þ޾Ʒһ| þñ˾þ| þþþ޾Ʒһ| ƷۺϾþþþþ98| þ99Ʒ|