in

SDT Community Server

SDT Forums, Blogs, Photos server.

Floating Heart

No description is bad.

March 2007 - Posts

  • “10086999”——举报不良信息

    http://www.gd.chinamobile.com/infopublish/06/2433.html

    2006年3月10日,中国移动通信集团广东有限公司为保护消费者合法权益,正式推出“不良信息举报站”,使移动客户均能成为“梦网卫士”,打造一个透明公正的梦网消费环境。
        
            2005年11月,中国移动通信集团广东有限公司在省内各地广泛招收梦网卫士,全省招募了近千名由各品牌客户组成的梦网卫士协助收集违规SP的行为证据,并据此进行后续的查证和处理,通过这一特殊的客户群体在全国创新的机制来增强对违规SP的监管与约束。

            在开展“梦网卫士”的基础上,2006年3月10日中国移动通信集团广东有限公司推出了“不良信息举报站”举措,将消费者维护自己消费权益的机会从“梦网卫士”推广至全体移动客户。从现在起,只要是中国移动通信集团广东有限公司的移动客户,都可以参与到监督管理SP的行列中。在收到梦网SP的不良宣传短信后,只需将收到的不良短信直接转发到端口“10086999”进行举报(该端口上下行均免费),“梦网不良信息举报站”系统在收到信息后会回复确认短信,并将该短信按内容及端口号等关键字进行记录和分类、统计。最后,移动业务管理部门将按照梦网管理办法对违规的SP进行处理。

            “不良信息举报站”的推出,消除了客户举报门槛,让客户拥有更便捷的举报渠道,与广大客户一起共同打击不良信息,营造良好的消费环境。

            中国移动通信集团广东有限公司一直以来坚持从消费者权益出发。为广大客户全方位打造放心畅享移动服务的消费环境,将是中国移动通信集团广东有限公司长期不懈追求的目标。
  • C#开源资源大全

    非常好的资源网站,而且是中文的。

    http://www.cs-open.com/

     

  • 转存利息平衡分界点


    银行加息,如何公式计算转存临界点?

      事实上,并不是所有转存都划算。按照银行的规定,提前支取未到期的定期存款,利息都按活期计算,这样消费者会损失一部分利息。所以,应该核算后再决定,有一个数据,叫做“转存利息平衡分界点”。如果存款天数已经超过这个分界点,提前支取进行转存就会损失利息收入,如果没有超过此点,则可以增加利息收入。

      有一个公式可以计算出这个“分界点”:转存利息平衡分界点=一年的天数×现存单的年期数×(新定期年息-现存单的定期年息)/(新定期年息-活期年息)

      如果一笔存款现年息2.52%,存期一年,欲转存为存期1年,年息2.79%的定期存款,活期年息是0.72%,一年的天数按照银行规定为360天,则:360×1×(2.79-2.52)/(2.79-0.72)=47(天)。

      也就是说,如果你的一年定期存款已经存了47天以上,那么你就没有必要再到银行去办理转存了,因为那样肯定不划算。

      根据这个公式,我们可以算出,各年限存款的“分界点”,超过这个天数,大可不必去办理转存了。

      需要指出的是,银行整存整取提前支取时,计息是按照每月30天计算,一年为360天。这与我们平日的大小月无关,所以计算日子的时候要格外注意。

  • Toolbar, Focus and Validation

    通常一个控件在离开焦点的时候,才会触发Validation事件,而Toolbar是不会获得焦点的,所以在输入空间输入了某些内容,直接点Toolbar按钮,当前输入的内容可能并没有更新到控件的相关属性,或者是DataSource里面。

     比如RichTextBox,在没用DataBinding (Rtf)的时候,程序里赋SelectedText,改变会更新到Text属性,如果使用了DataBinding (Rtf),改变就不会更新到Text属性,太奇怪了。当然,在没有离开焦点的时候,Text的改变不会更新到DataSource。

    我们可以使用以下函数解决这个问题:
    1) 调用相关Container的ValidateChildren 方法 (强制控件进行Validation)
    2) 调用相关控件的BindingContext[].EndCurrentEdit方法 (强制把变动更新到DataSource)

    另外可以参考本人另外一篇关于DataSourceUpdateMode的文章

  • 建湖幼儿园

    哈哈,非常好的幼儿园(Y)

    http://www.jhxyey.net/Soft/Index.html

  • Success is ...

    At age 4, success is...not peeing your pants. 
    At age 12, success is...having friends. 
    At age 20, success is...having sex. 
    At age 35, success is...making money. 
    At age 60, success is...having sex. 
    At age 70, success is...having friends. 
    At age 80, success is...not peeing your pants. 

    This is life ...

    Posted Mar 15 2007, 02:02 PM by wicky with no comments
    Filed under:
  • Solution for multibooting Win XP/2k3 64-Bit, Win2k3 SP1, WinPE 2004, cracked setupldr.bin

    http://www.msfn.org/board/index.php?showtopic=58410&st=0

    You can now modify setupldr.bin of the follwing windows:
    • Windows Server 2003 SP1
    • Windows XP Professional x64 Edition
    • Windows Server 2003 x64 Edition
    • Windows PE 2005
    The setupldr.bin of the above versions is the same and has a checksum check built-in so when you try to modify it you get:
    "NTLDR is corrupt. The system cannot boot."

    In order to crack it:
    1. open it with your favorite hex editor
    2. goto hex address: 0x2060
    3. change "74 03" to "EB 1A"
    4. save it
    I also uploaded it for your convenience at:
    File is now attached so people don't have to wait for a download ~ Alanoll

    Now you can replace:
    1. all occurrences of "i386", "I386" to "ABCD" (where ABCD is anything you want - 4 characters long)
    2. "\amd64", "\AMD64" to "\EFGHI" and
    3. "amd64\", "AMD64\" to "EFGHI\" (where EFGHI is anything you want - 5 characters long)
    Do not replace all occurrences of "amd64" since some of them refer to a section of txtsetup.sif

    In order to find what files need to be copied to the directories ABCD and EFGHI open command prompt, go to the directory you have txtsetup.sif and enter:
    CODE
    type TXTSETUP.SIF | findstr /r ",_[1-9] ,[1-9]_"

    and copy the files listed there from I386 to ABCD and AMD64 to EFGHI.

    For anyone curious, open the setupldr.bin with hiew, goto the above hex address and see the surrounding assembly code.
    Posted Mar 15 2007, 01:44 PM by wicky with no comments
    Filed under:
  • Determining the Character Set Used by a Font

    http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnaraskdr/html/askgui12302003.asp

    December 30, 2003

    Got a problem or a stumper question on anything to do with Internet or Windows-based development? Ask the good doctor (drgui@microsoft.com); he's here for you twice a month, online at MSDN. Though his busy surgery schedule precludes any individual responses, he'll answer as many as he can here—and if yours is picked, he'll be glad to send you an official Dr. GUI t-shirt!

    Summary: Dr. GUI describes how to determine whether a font is a normal font, like Arial, or a symbol font like Wingdings that uses the Symbol character set. Dr. GUI achieves this by determining the character set used by the font in question, and also provides examples in C# and Visual Basic .NET. (10 printed pages)

    Download the C# source code for this article.

    Download the VB .NET source code for this article.

    Dr. GUI's New Year's Resolutions (For You)

    With the New Year now upon us, the good doctor often thinks back to the year past; this helps him plan for the future. There were a number of important events for his patients in 2003:

    • A new version of Microsoft® Visual Studio® .NET (called, creatively enough, 2003) was released in April, along with a new version of the Microsoft® .NET Framework.
    • MSDN released its Developer Centers—one stop shopping for specific topics, such as Microsoft® Visual Basic, Security or Microsoft® ASP.NET. These centers are intended to help you discover information, and to help you develop. Take a look, and give the Content Strategist a hearty "Hello" from Dr. GUI.
    • A new version of Microsoft® Office (no longer just a program, now a System) found its way into many of your hands. The good doctor loves the new version (now he can mark items in his Inbox with all colors of flags, so he knows why he's ignoring them). The Office System isn't just for end users, as many of you know. It's also a powerful programming environment to help you build solutions to many tough problems. Later, the Visual Studio Tools for Office were released, enabling you to build solutions for Microsoft® Word and Microsoft® Excel using Visual Studio and the .NET Framework.
    • Another PDC (Professional Developers' Conference) came and went, this time describing the wonders waiting ahead with Microsoft® Visual Studio® 2005 (the next release of Visual Studio), Microsoft® SQL Server 2005 (the next release of SQL Server) and Microsoft® Windows® code named "Longhorn" (the next release of Windows). They're all a ways out, and so it would be easy to ignore them until you actually have a project that uses them. However, it's worth taking a look today, as you can use the ideas to architect today's programs to prepare for the upgrade later.

    These are only four of the events of the year for developers, but they do point to one trend: managed code is here to stay.

    So, on to what Dr. GUI thinks should be one of your New Year's Resolutions: If you haven't looked at programming in managed code using the .NET Framework and Visual Studio .NET yet, take a look. Build a small application with it; solve a programming itch (until they develop programmers' Calamine Lotion). You'll see it's not that different from what you've done before. What you end up with, however, is an application that is safer (from buffer overruns or many other security problems) and more capable (as you now have the full .NET Framework class library at your fingertips) than ever before.

    If you are currently working with the .NET Framework, try to broaden your horizons. If you primarily work with Microsoft® ASP.NET, try creating a "no-touch deploy" Microsoft® Windows Forms application. Alternately, if Windows Forms is your bag, take a look at ASP.NET. Or, create a Windows Service, take a look at the new Speech SDK. Learning, says Dr. GUI, is something that should go on your whole life. If you do give something new a try, drop the good doctor an e-mail message; he always loves to hear from you!

    Is This a Symbol Font I See Before Me?

    Dear Dr. GUI,

    Is there any way to find out whether a specified Font object is a normal font (containing English chars) or a symbol font (like Wingdings)? I have tried the Font.ToLogFont method, but it will not fill in the LOGFONT structure.

    <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)> _
    Public Structure LOGFONT
        Public lfHeight As Integer
        Public lfWidth As Integer
        Public lfEscapement As Integer
        Public lfOrientation As Integer
        Public lfWeight As Integer
        Public lfItalic As Byte
        Public lfUnderline As Byte
        Public lfStrikeOut As Byte
        Public lfCharSet As Byte
        Public lfOutPrecision As Byte
        Public lfClipPrecision As Byte
        Public lfQuality As Byte
        Public lfPitchAndFamily As Byte
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=32)> _
        Public lfFaceName As String
    End Structure
    
    Public Sub Blah()
        Dim myFont As New Font("Tahoma", 8, FontStyle.Regular)
        Dim myLOGFONT As LOGFONT
        myFont.ToLogFont(myLOGFONT)
        'myLOGFONT will not contain any data.
    End Sub
    

    Please let me know what I've done wrong.

    Dr. GUI Replies:

    Thanks for your question, and the associated code snippets, which make Dr. GUI's job much easier, because they provide the specific context for your question. As far as what you've asked, you can bet your bottom dollar there's a way to find out exactly what you want. Dr. GUI has diagnosed where you went wrong, and will offer his insight into this malady as well. However, before Dr. GUI jots his prescription down, there is a prescription that he needs to detail first so you'll be better able to digest his pills.

    For starters, you can determine whether a font is a normal font or a symbol font by determining the character set used by the font in question. That is, the character set used by a font provides the basic template upon which the font is designed. It follows that the character set also determines whether a font is a normal font or a symbol font, or any other type of font for that matter. Now that this much is clear, let's cut straight to the chase...

    Dr. GUI suggests a closer look at the System.Drawing.Font class. This class is part of the System.Drawing namespace, which provides a managed class interface that encapsulates the GDI+ APIs. You can find more details about the Font class at Font Class in the MSDN Library. Upon closer examination of this class, you'll come across a property called GdiCharSet. GdiCharSet is a byte value that specifies the character set used by a Font object, and is the answer to your question.

    So, let's try out the use of GdiCharSet. For now, let's assume that you already have a reference to a Font object. In this case, all you need to do is to retrieve the value of GdiCharSet, and you're cured. Well, almost. If you look at the values for GdiCharSet for a number of fonts, all you'll get back is a number. This is because GdiCharSet is a byte value representing a particular character set. Therefore, you'll need to map this byte value to the corresponding character set, as defined in WinGDI.h. WinGDI.h is a Windows header file containing, among other things, the pre-processor directives used to define GDI constants. In order to simplify your task of mapping GdiCharSet to the corresponding character set, you can use the following table, which contains a partial list of mappings.

    Value of MyFont.GdiCharSet Corresponding Character Set Defined in WinGDI.h
    0 ANSI_CHARSET
    1 DEFAULT_CHARSET
    2 SYMBOL_CHARSET
    77 MAC_CHARSET
    128 SHIFTJIS_CHARSET
    129 HANGUL_CHARSET
    130 JOHAB_CHARSET
    134 GB2312_CHARSET
    136 CHINESEBIG5_CHARSET
    161 GREEK_CHARSET
    162 TURKISH_CHARSET
    163 VIETNAMESE_CHARSET
    177 HEBREW_CHARSET
    178 ARABIC_CHARSET
    186 BALTIC_CHARSET
    204 RUSSIAN_CHARSET
    222 THAI_CHARSET
    238 EASTEUROPE_CHARSET
    255 OEM_CHARSET

    What you're looking for, vis-à-vis normal font versus symbol font, depends on whether the value of GdiCharSet is 2. As the table shows, 2 corresponds to SYMBOL_CHARSET or, in other words, the Symbol character set used by symbol fonts, like Webdings or Wingdings.

    Since the table provided by Dr. GUI is not exhaustive (your WinGDI.h file might contain more pre-processor directives, depending upon the character sets that your operating system supports), you might encounter a scenario where GdiCharSet contains a value that is not listed in this table. In such a case, Dr. GUI's suggestion would be to manually look up your WinGDI.h file, which is typically located at the following path (you may need to install the Platform SDK first), for the corresponding pre-processor directive.

    %Program Files%\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include

    All the pre-processor directives relating to character sets are written sequentially. So, you need to start off by locating the following directive.

    #define ANSI_CHARSET            0

    Once you locate this directive, scan through the subsequent directives till you finally strike gold and come across an appropriate identifier defined as having the value contained in GdiCharSet. This identifier will give you details regarding the character set corresponding to GdiCharSet.

    Dr. GUI now guides you through a typical scenario wherein you already have a Font object, and all you need to do is to retrieve GdiCharSet to determine whether your Font object is a normal font or a symbol font. This example should clearly explain the relationship between the character set used by your Font object, and GdiCharSet. Assume that you're working on a Windows application. Remember, any control that you use in your application will have a Font property, indicating the associated Font object.

    To quickly test the relationship between the character set used by your Font object and GdiCharSet, perform the following steps:

    1. In Visual Studio .NET, create a Windows application using either Microsoft® Visual C#® .NET or Microsoft® Visual Basic® .NET. Note that Form1 is created by default.
    2. Drag a button onto Form1.
    3. From the Properties window for this button, change the Name property to FontCheck.
    4. From the Properties window for this button, change the Font property to any symbol font, like Webdings or Wingdings.
    5. Add the following code to the FontCheck_Click event-handler.

      C# code:

      MessageBox.Show(FontCheck.Font.GdiCharSet.ToString());
      

      Visual Basic .NET code:

      MessageBox.Show(FontCheck.Font.GdiCharSet)
      
    6. Build and run your application. Form1 is displayed.
    7. Click the FontCheck button on Form1.

    You should receive a message box with 2 as the text. Try the same example with Simplified Arabic (or another font on your system) in step 4, instead of a symbol font. You should receive a message box with 178 as the text. Finally, try this example after reverting, in step 4, to any of the normal fonts that you're used to (Arial, Microsoft Sans Serif, and the like). This time, your message box should display 0.

    Dr. GUI hopes this is a vivid and watertight illustration of the concepts involved. The good doctor has also provided a sample prescription in the form of the code sample download for this article that will list all of the symbol fonts available on your computer.

    So far, so good, as all this sounds simple enough. In fact, what Dr. GUI has prescribed so far should hold you in pretty good stead, as long as you try to retrieve GdiCharSet for a Font object whose GdiCharSet property has been set. However, you're bound to run into time-consuming roadblocks when you try to retrieve GdiCharSet for a Font object whose GdiCharSet property has not been set. In the previous example, Visual Studio .NET takes care of setting GdiCharSet for the Font object associated with your FontCheck button. Thus, you wouldn't notice anything unexpected. However, let's see what happens when you use the following code in the FontCheck_Click event-handler.

    C# code:

    Font MyFont = new Font("Wingdings",10);
    MessageBox.Show(MyFont.GdiCharSet.ToString());
    

    Visual Basic .NET code:

    Dim MyFont As New Font("Wingdings", 10)
    MessageBox.Show(MyFont.GdiCharSet)
    

    When you run your application and then click the FontCheck button on Form1, you'd naturally expect a message box with 2 as the text, because Wingdings is, after all, a symbol font. However, you end up with a message box that has 1 as the text. Confused? Understandable but not incurable! Let Dr. GUI provide his diagnosis of this case...

    When you create a Font object, GdiCharSet is set to the value of DEFAULT_CHARSET, unless, in the overloaded constructor, you explicitly specify the character set you wish to use. Checking the table discussed previously, DEFAULT_CHARSET maps to the value 1, which is exactly what the output text in your message box indicates. If, on the other hand, in the constructor of your Font object, you explicitly pass a parameter to specify the character set you'd like your Font object to use, GdiCharSet gets set with this value that you pass. So, if you want GdiCharSet to contain a meaningful value, the onus is on you to specify the appropriate parameter in the constructor when you create your Font object. Once you've created your Font object by specifying the character set to be used, you can obtain the character set used by retrieving the value of GdiCharSet.

    However, supplying the character set in the constructor defeats the very purpose of what you're trying to achieve. Dr. GUI fully appreciates the redundancy involved here. Just the same, let's assume that you have a method that receives a Font object created by some code not under your control. In such a scenario, you have no way of knowing whether or not the GdiCharSet property for the Font object that your method receives contains a meaningful value. Without a clear understanding of Dr. GUI's diagnosis, you might be confused as to why a Font object, which has Wingdings as the Name property, returns 1 for the value of GdiCharSet, when you would clearly expect to get 2. Again, this is because the GdiCharSet property was not set when the Font was created.

    With this apparent inconsistency clarified, it should be clear that GdiCharSet can solve only some of your ills. However, if the Font object in question is created without passing the character set value to the constructor, there's still the possibility of your being stumped. So, in order to empower you with some co-relation between your Font object and the character set used by the Font object, the Font class has a neat little method called ToLogFont.

    In fact, the code that you've supplied to Dr. GUI is already on the right track. Use ToLogFont to populate a LOGFONT instance that is filled based on only some of the properties of your Font object. To brush up on LOGFONT, check out LOGFONT in the Online MSDN Library. Significantly, the lfCharSet field of your LOGFONT instance does not get set to DEFAULT_CHARSET. Rather, lfCharSet gets set to the value corresponding to the character set used by your Font object. Thus, even if the GdiCharSet property of your Font object contains DEFAULT_CHARSET, once you call ToLogFont, the lfCharSet field of your LOGFONT instance gets sets to 2—if the Name property of your Font object is Wingdings. You can now obtain what you desire by retrieving the value of the lfCharSet field of your populated LOGFONT instance.

    But, before all that, you'll need to reference the System.Runtime.InteropServices namespace so that you'll be able to appropriately declare LOGFONT. So, go ahead and add the following statement to your code:

    C# code:

    using System.Runtime.InteropServices;
    

    Visual Basic .NET code:

    Imports System.Runtime.InteropServices
    

    Dr. GUI couldn't help but notice that in your quest for a solution to your malady, you've already expertly converted the unmanaged LOGFONT structure to the best possible managed equivalent. Way to go! However, as Dr. GUI will explain presently, the good doctor advocates the use of a LOGFONT class, rather than a LOGFONT structure. This is where you've stumbled in your attempt and come up against a brick wall. So, let's go ahead and use your LOGFONT declaration, using "Class" and "class", instead of "Structure" and "struct", respectively.

    C# code:

    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
    class LOGFONT
    {
       public int lfHeight;
       public int lfWidth;
       public int lfEscapement;
       public int lfOrientation;
       public int lfWeight;
       public byte lfItalic;
       public byte lfUnderline;
       public byte lfStrikeOut;
       public byte lfCharSet;
       public byte lfOutPrecision;
       public byte lfClipPrecision;
       public byte lfQuality;
       public byte lfPitchAndFamily;
       [MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
       public string lfFaceName;
    }
    

    Visual Basic .NET code:

    <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)> _
    Public Class LOGFONT
       Public lfHeight As Integer
       Public lfWidth As Integer
       Public lfEscapement As Integer
       Public lfOrientation As Integer
       Public lfWeight As Integer
       Public lfItalic As Byte
       Public lfUnderline As Byte
       Public lfStrikeOut As Byte
       Public lfCharSet As Byte
       Public lfOutPrecision As Byte
       Public lfClipPrecision As Byte
       Public lfQuality As Byte
       Public lfPitchAndFamily As Byte
       <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=32)> _
       Public lfFaceName As String
    End Class
    

    Of course, since you're using a class rather than a structure, you'll need to explicitly instantiate your LOGFONT instance. The rest of the code advocated by Dr. GUI is in harmony with your code. So, without much further ado, let's have a look at Dr. GUI's code:

    C# code:

    Font MyFont = new Font("Wingdings",10);
    LOGFONT MyLOGFONT = new LOGFONT();
    MyFont.ToLogFont(MyLOGFONT);
    // MyLOGFONT is populated.
    MessageBox.Show(MyLOGFONT.lfCharSet.ToString());
    

    Visual Basic .NET code:

    Dim MyFont As New Font("Wingdings", 10)
    Dim MyLOGFONT As New LOGFONT
    MyFont.ToLogFont(MyLOGFONT)
    ' MyLOGFONT is populated.
    MessageBox.Show(MyLOGFONT.lfCharSet)
    

    Now, all that remains is to understand why you need to use a class instead of a structure.

    As you've probably already noticed, ToLogFont expects you to pass an object by value. Thus, you could pass either a structure by value or a class by value and you'd still be perfectly within your rights as far as the rules relating to passing valid types. However, what you're doing is passing a System.ValueType by value, when you should be passing an object reference. Let's look at why.

    The behavior you noted in your sample above (where the LOGFONT is not being filled in) is because ToLogFont receives a copy of your LOGFONT structure, which gets populated. However, these changes are not reflected in your original LOGFONT structure, which remains unpopulated. On the other hand, if you were to pass a reference to your LOGFONT instance, you would ensure that your original reference and the copy of the reference are, in fact, referring to the same LOGFONT object instance. Thus, when you declare LOGFONT as a class, the changes made to the single LOGFONT instance by ToLogFont, using a copy of your original reference, are reflected in your code.

    For more details about parameter passing, check out Passing Parameters in the MSDN Library. As this piece is geared towards C# (though the concepts hold good for Visual Basic .NET too), here's something for Visual Basic .NET folks: Argument Passing Mechanism.

    When you run your application, and then click the FontCheck button that is on Form1, you are rewarded for your perseverance with the result you've been waiting for all along: a message box with 2 as the text. You can try this code out for other fonts as well, and convince yourself of the veracity of this prescription. The good doctor hopes this solves the problem for you.

    Thanks!

    Dr. GUI wants to thank his fabulous team of specialists, including Ajay Abraham, and his dedicated nurse Maura Baughman. If Dr. GUI did surgery without y'all, the prognosis of the patients would not be good.

     


    Ask Dr. GUI

    Eminent healer and humanitarian, Dr. GUI delights in offering his encyclopedic knowledge of Internet and Windows-based development for the good of developers everywhere. If you've got an unsolvable problem, send it to drgui@microsoft.com. Though the good doctor's busy surgery schedule precludes any individual responses, he'll answer as many as he can in this column—and if yours is picked, he'll be glad to send you an official Dr. GUI t-shirt!
    (Please note: Questions may be edited for grammar and clarity.)

    Posted Mar 12 2007, 01:38 PM by wicky with no comments
    Filed under:
  • 神州行、神州大众卡品牌融合

    神州行、神州大众卡品牌融合
    ——带号互转,消费更轻松
    http://www.gd.chinamobile.com/guangdong/index.html?target=/guangdong/ganxie_duixiang/kehu/szx_dzk.html

    为进一步提高服务质量,我公司将对神州行、神州大众卡进行品牌融合,推出神州行三个套餐:神州行畅听卡套餐、神州行零月租卡套餐、神州行大众卡套餐,率先实行“带号互转”。

    一、推出时间及范围
    中山分公司已于2月26日零时开通;
    广州、佛山分公司将于2007年3月2日零时开通;
    深圳、珠海、清远、云浮、肇庆、韶关分公司将于2007年3月6日零时开通;
    省内其他市公司将于2007年3月12日零时开通。

    二、适用对象
    神州行品牌,神州大众卡品牌

    三、套餐资费标准及优惠内容
    <一>神州行三个套餐的资费标准
    1、神州行畅听卡
    通话方式 资费标准
    套餐月租 10元/月,享受彩铃功能、来电显示、本地被叫免费
    本地 被叫 免费
    主叫国内 闲时(0:00-11:00)0.29元/分钟全包(不含台港澳长途话费)
    忙时(11:00-24:00)0.49元/分钟全包(不含台港澳长途话费)
    省内漫游 主叫国内 0.49元/分钟全包(不含台港澳长途话费)
    被叫 0.49元/分钟全包
    省际漫游 主叫国内 0.59元/分钟全包(不含台港澳长途话费)
    被叫 0.59元/分钟全包

    2、神州行零月租卡
    通话方式 资费标准
    套餐月租 0元/月,赠送来电显示
    本地 主叫国内 闲时(0:00-11:00)0.29元/分钟全包(不含台港澳长途话费)
    忙时(11:00-24:00)0.49元/分钟全包(不含台港澳长途话费)
    被叫 闲时(0:00-11:00)0.19元/分钟
    忙时(11:00-24:00)0.39元/分钟
    省内漫游 主叫国内 0.49元/分钟全包(不含台港澳长途话费)
    被叫 0.49元/分钟全包
    省际漫游 主叫国内 0.59元/分钟全包(不含台港澳长途话费)
    被叫 0.59元/分钟全包

    备注:神州行老客户同样享受新的省际漫游资费。

    3、神州行大众卡
    通话方式 资费标准
    套餐月租 按照各地市分公司现行神州大众卡标准执行,详细点击城市频道查看
    本地 被叫 免费
    主叫 按照各地市分公司现行神州大众卡标准执行(长途另计),详细点击城市频道查看
    国内长途 0.07元/6秒(不含台港澳长途话费)
    省内漫游 主叫国内 0.69元/分钟全包(不含台港澳长途话费)
    被叫 0.69元/分钟全包
    省际漫游 主叫国内 漫游基本通话费0.60元/分钟+长途话费0.07元/6秒(不含台港澳长途话费)
    被叫 漫游基本通话费0.60元/分钟+长途话费0.07元/6秒

    4、三个套餐的直拨台港澳、国际长途资费标准
    台港澳长途费 0.20元/6秒钟
    国际长途费 0.80元/6秒钟
    备注:
    *以上长途话费以6秒钟为单位收取,不足6秒钟按6秒钟计算;
    *以上资费不含基本通话费或漫游基本通话费;

    <二>三个套餐开放的业务
    1、对神州行畅听卡、神州行零月租卡开放的业务:
    来电显示、短信、彩铃、国内自动漫游、长途直拨(国内、台港澳、国际)、12593优惠干线(国内、台港澳、国际长途)、港澳自动漫游、一卡多号香港日套餐、GPRS、手机邮箱、呼叫等待、亲情号码等。
    2、对神州行大众卡开放的业务:
    来电显示、短信、彩铃、国内漫游(需申请开通)、长途直拨(国内、台港澳、国际)、12593优惠干线(省内漫游时拨打国内)、GPRS、手机邮箱、呼叫等待等。

    <三>优惠资费
    1、12593优惠干线
    (1)神州行畅听卡、神州行零月租卡在广东省内使用12593拨打国内、台港澳及国际长途电话时,享受如下优惠资费:
    呼叫类型 通话费(全包) 呼叫目的地
    国内长途 闲时(0:00-11:00):0.19元/分钟
    忙时(11:00-24:00):0.39元/分钟
    国内各地(不含台港澳)
    台港澳长途 1.00元/分钟 台湾、香港、澳门
    国际长途 2.00元/分钟 美国、加拿大、英国、法国、意大利、德国、新西兰、日本、韩国、澳大利亚、新加坡、马来西亚、泰国、印尼、菲律宾
      6.00元/分钟 其它国家或地区
    备注:
    *以上12593优惠资费包含基本通话费或省内漫游基本通话费,以及国内、台港澳或国际长途话费;
    (2)神州行大众卡只可在广东省内漫游时使用12593拨打国内长途电话,享受如下优惠资费:
    呼叫类型 通话费(全包) 呼叫目的地
    国内长途 闲时(0:00-12:00):0.39元/分钟
    忙时(12:00-24:00):0.59元/分钟
    国内各地(不含台港澳)
    备注:
    *以上12593优惠资费包含省内漫游基本通话费,以及国内长途话费;
    *神州行大众卡客户暂不能在本地使用12593业务。 2、亲情号码
    神州行畅听卡、神州行零月租卡可享受亲情号码优惠,神州行大众卡暂不开放亲情号码业务。亲情号码间通话优惠资费为:
    通话方式 亲情号码资费
    本地 主叫 基本通话费:0.19元/分钟
    被叫 基本通话费:闲时(0:00-11:00)0.19元/分钟,
    忙时(11:00-24:00)0.29元/分钟
    省内漫游 主叫 漫游基本通话费:0.39元/分钟
    被叫 0.49元/分钟全包(含漫游通话费和国内长途费)

    四、各套餐办理方式
    原神州行、原神州大众卡客户可申请转为新神州行的三个套餐,但不能转为原神州行、原神州大众卡的其他套餐或资费标准;
    新老神州行、神州大众卡客户在此三套资费间互转的方法为:
    1) 发短信BLCTK到10086,申请转换为神州行畅听卡;
    2) 发短信BLDZK到10086,申请转换为神州行大众卡;
    3) 发短信BLLYZ到10086,申请转换为神州行零月租卡

    网上办理请点击

    注:
    1) 已选彩铃套餐和短信套餐的神州行客户保持不变,其他神州行客户自动转为神州行零月租卡客户(赠送来电显示优惠期至2007年6月30日);
    2) 客户成功申请转用神州行畅听卡,所享受的彩铃功能在24小时内生效;成功申请从神州行畅听卡转出,原享受的彩铃功能在24小时内取消;
    3) 客户申请转换资费后,原办理的叠加套餐一律取消(GPRS套餐及VPMN套餐除外),并不再收取相关费用。如非特别说明,以非套餐方式申请的增值业务和移动梦网业务(例如彩铃功能、139手机邮箱等)依旧保留;
    4) 原神州行客户的省际漫游资费优惠为0.59元/分钟全包;

    五、相关业务链接
    ——神州行、神州大众卡品牌融合热点问答


    ——优惠期间如遇国家资费政策调,按国家政策执行
    ——在法律许可的范围内,中国移动广东公司有权就本业务制定具体的规则和说明

  • 按摩耳朵养生法

    http://www.100md.com/html/DirDu/2006/03/27/95/90/98.htm

    耳朵不仅是一个听觉器官,能准确地听到外界声音,而且还是一个平衡器官,内耳的前庭分析器掌握着身体平衡。祖国医学认为:“肾主藏精,开窍于耳”,人体的许多疾病,可由耳朵发出信号,比如肾气衰退时便可引起耳聋、耳鸣,动脉硬化的人也常先发生耳聋。耳朵还与寿命有关,耳朵垂上没皱褶、听力好的人寿命长,耳朵垂上有皱褶、听力差的人寿命短。

        经常按摩自己的耳朵,不仅能增强耳朵的听力和平衡作用,而且能起到养生保健作用。其方法简便易行,没有副作用,坚持按摩一段时间,就会体会到它的好处,方法如下。

        1.揉耳廓:将两手掌搓热,用两手掌的掌心对准耳廓轻轻揉搓,先上下揉,再前后揉,最好转圈揉,直到局部发红发热为止。

        2.拉耳垂:两手拇指、食指捏住两耳垂,轻轻牵拉,先向上下牵拉50下,再向前后牵拉50下。

        3.钻耳孔:两手的小手指分别插入两耳外耳道,前后旋转,像钻头钻东西一样,连续钻50下。

        4.按耳屏:两手食指按压住耳孔前面的耳屏,一按一松,使外界的气体对鼓膜产生按摩作用,连续按压50下。

        5.推耳背:两手四指并拢托住耳朵后背,轻轻向前推,使耳廓盖住耳孔,然后松开,如此反复推耳背50下。
    Posted Mar 07 2007, 11:41 AM by wicky with no comments
    Filed under:
  • .Net Framework 3.0 Web Site

    http://www.netfx3.com/

    微软官方网站,可以找到.Net Framework 3.0的各种相关信息。

     很多人认为应该叫.Net Framework 2.5,因为3.0是在2.0 Runtime的基础上增加下列功能而成的:

    WCF (Windows Communication Foundation)
    WPF (Windows Presentation Foundation)
    WWF (Windows Workflow Foundation)
    WCS (Windows CardSpace)

    对于2.0的Runtime并没有做改动。

    附件是3.0部署的相关信息。

  • 找准自己的“养生术”

    作        者:马悦凌

    世上没有一片树叶是相同的,也没有长的一模一样的人,人体的差异性很大,每个人的先天素质、后天喂养、生长的条件、生长的环境﹑所接受的教育等等都是不一样的,不但是长像、性格、体质不同,为人处事也是千差万别,自然每个人所生的病,治病的方法也不会是一样的。
            
    就拿长寿老人来说,能使他们活到百岁的方法可以说是各种各样,有吃素长寿的,也有每天离不开肥肉一样长寿;有锻炼运动长寿的,也有静养长寿的;有的从不喝酒,有的每顿都用酒泡饭照样长寿;有的长年吃冰糖,有的长年吃辣椒,可以说有的符合现代宣传的长寿规律,而有的长寿老人的经验是与长寿规律相反,但是同样活到百岁,由此看来,养生之道各有其术,凡是长寿者都有适合自己身体的高招。
          
    那我们每个人怎样找准自己的养生术呢?

    一、首先判定自己是否健康
          
    一是自我感觉良好,能吃,能睡,二便正常,情绪良好,学习、工作中状态不错,疲劳后很容易恢复。二是不胖不瘦,身材适中。三是每年去医院的全方位体检全部正常者,如果你已经到了三、四十岁或者五、六十岁,身体状况都能做到上面说的三条,说明你生活中的各种习惯,包括饮食、嗜好、生活规律都是适合你身体的需求,那么你原来怎样生活就按原来的规律继续下去,不必改变,哪怕你是喜欢吃肥肉、喝酒、抽烟。随着年龄的增长,可以适当的控制住量,但并不一定要戒除。

    二、如果原来身体一直很好,突然生病了,那又该怎么办
           
    只要没有先天的疾病以及各种的突发的传染病,并经常参加体检,身体健康的人突然生病了,在治病的同时应冷静的想一想,生病之前的一段时间内在饮食、休息﹑情绪方面有没有明显的变化,是不是生活没规律、熬夜太多造成身体的体质下降,应及时调整生活、注意休息,可现实生活中不去改变生活规律及习惯,却去吃各种的补品、补药想以此恢复体能;有的人因吸烟太多引起的咳嗽,不是少抽烟或戒烟而是去吃各种的止咳药或消炎药;有的人长期喝酒,造成的脂肪肝、血脂紊乱,不去戒酒却到处找各种的降脂药,偏方;有的人因缺乏锻炼而又饮食不控制造成的肥胖,不去控制饮食、积极锻炼,而去吃各种的减肥药;有的人遇到不顺心的事造成失眠,不去积极地化解心中的郁闷,却去吃各种的安眠药等等。生活中因生活方式不正确造成的疾病,患病的人不是不知道,可就是不愿意去改,没有那个毅力去改,病源不去除,病怎么能治好。所以有很多人原本身体很健康,经不住不断地催残,造成了生病或早亡,这一类人只要及时地改变不良的生活习惯,去除病因,有着良好的身体基础,身体会慢慢恢复健康的,所以男性的病多因生活无规律或不良的嗜好造成的,而女性因为来月经、生孩子,容易造成缺血,再加上工作﹑家务的操劳,女性的病多以气血两亏为主,女性朋友应注意“补血”是终身大事。

    三、一直是病病歪歪走过来的
           
    也有不少人一生都没健康过,不是这痛就是那病,这类人也多数久病成医,摸准了自己得病的规律,这类人在治病的同时,只要注意以下几个方面照样带病长寿。

    ①久病必虚,虚的人要注意补,可又往往是虚不受补,那你就注意用食补来代替药物,选择一些滋阴补血的食物如鸡蛋、牛奶、大枣、阿胶、黑芝麻、当归、核桃仁、枸杞子、乌骨鸡、鹌鹑、鳝鱼、蜂乳等。这些东西吃的时候都要烧的烂烂的,才有助于身体虚弱的人吸收,少吃补气壮阳的食物,如红参、鹿肉等。

    ②每晚用温水泡脚,最好选用高一些的桶泡,久病的人,一是气血两亏,二是血液循环的速度放慢了,所以每晚用温水泡脚,用热来帮你促进血液循环,改善各个脏器的供血,一定要泡到全身微微出汗了(不能出大汗,那样会气血两亏的),才算有效,不易出汗的人可以将双手也放入桶中一起泡,一是更容易出汗,二是对颈椎病、肩周炎及脑部疾病都有治疗的效果,出汗是血液循环加快的结果,出汗的同时也可以舒通经络,排出身体内寒气及废物,泡完脚后再睡觉,睡眠的质量会很好,利于机体免疫力的恢复。

    ③久病的人按摩以耳朵和头部为主,按摩耳朵不但可以疏通经络,而且可以补肾、固肾,按摩头的方法最简单的就是梳头,每天梳头10分钟,疏通头部汇集的各条阳经并能稳定血压,按摩头顶的百会穴,可以提气、补气。
          
    不论什么体质的人用什么样的方法养生,有一点是不变的,那就是心理健康,长寿老人各有各的长寿术,但是豁达、开朗的性格是他们的共性,所以只要有好的心情才会有好的身体,才会长命百岁。

     

    Posted Mar 05 2007, 02:38 PM by wicky with no comments
    Filed under:
  • 六西格玛品质网

    Posted Mar 01 2007, 10:35 AM by wicky with no comments
    Filed under:
  • SPC统计技术运用在各行业运用中存在的弊端!

    http://www.6sq.net/qtool/spc/2048.html


    SPC自1924年由美国贝尔电话实验室休哈特首创以来,成为质量管理.从”因袭管理”(即传统经验管理)发展到”过程管理”(即过程统计质量控制)的重要标志.SPC重要的手段是控制图(休哈特控制图),其主要作用:发现异常变异,及时报警,以采取纠正措施,恢复过程稳定.  -------主要摘自李为柱编著的《2000版ISO9000族标准统计技术应用教程》

    随着QS9000到TS16949质量管理体系在中国汽车制造行业及其供应链厂商导入与实施以来,SPC成为过程控制的重要手段.这科学有效的方法也很快被其它行业迅速直接或间接引用, SPC热在制造业中迅速盛行起来,其中离不开外部各类型培训/咨询/认证机构的广泛宣传和推广.但是很多企业通过SPC实际运用,却出现意想不到的通病:原本以前相安无事的部门,居然异常众多,由于解决不力,形成一发不可收拾的局面,或现有投入或现行环境还达不到解决问题的程度,越来越多的企业感觉或发现到:花了不少培训费用,投入了相当人力和物力,并没有给企业带来预期收益;或实行下去也渐渐成为一种对外吹嘘的光环,而并没有真正服务生产实际;或因相当的测量数据采集,反而成为工作负担,使为数不少的质量负责人只是应付老板或对应客户所需,并没有为其质量管理工作带来多大意义,还不如简单的QC七大手法来的即时有效.部分企业内部的SPC实施久而久之也就不了了之.

    其实SPC本没错,是科学的. SPC没有得到有效运用,在本人所接触的行业和同行质量担当中也为数不少.究其原因,有以下分析.
    品质网www.6sq.net版权所有?816763817
    1. SPC仅是一种更好的方法论,本身并不会带来实际收益.而很多人却存在认识误区:SPC运用=质量提升.其实两者没有必然联系.在实践过程中,SPC统计结果出来,最终还是靠人的思维去分析产生的原因,靠人的经验和技艺找到解决问题的对策,靠一个有致解决问题的团队去实施,并能够在对策失败中再检讨再对策,还靠有一个不解决问题不罢休的恒心,四者缺一不可.否则一纸空文,最终落得个被上司或老板责骂不已.特别是在三资企业,不少人感叹:多一事不如少一事.

    2. SPC过程能力统计,是基于过程受控状态前提下进行的.只有在这样的条件下,所得的结论才具有意义.而实际运用中,很多企业甚至完全不加确认,只要采集数据一输入,结果一输出.用这样的结论来判定过程是不可靠的.

    3. SPC过程统计通过运用Xbar-R控制图, P或np管理图,单位缺陷数控制图等描点方式,更直观地敏感地分辩过程是否存在异常点.但这种异常,仅是一种统计上的异常警报,可能是虚假的,也可能是实际的.而很多质量管理者,却盲目的都认为是生产状况存在异常,或产品质量发生状况,没有实际调查,去伪存真,而只会在办公室发号施令,决策错误屡见不鲜,甚至实施过程造成下属或关联部门抵触情绪,有些迫于压力,消极执行指令,以下瞒上等等,反而生产诸多管理新问题.企业内部经常出现”纸上谈兵”嗤之以鼻的暗自嘲弄,也就不足为怪了.

    4. SPC过程控制基准,是源自汽车行业本身质量要求而来的.可以这么说因其行业质量控制成本相对较高,SPC运用实为一种经济的方法.但SPC的运用也是需要投入一定的成本,对其它传统行业,或低值产品行业,或行业本身工艺水平就不太高,甚至客户原本就要求较低的企业来讲,SPC运用好比”杀鸡用牛刀”,可能结果是:质量改善,但质量成本也高了;也可能质量改善,不但白花了一笔钱,还导致新的管理问题出现.过程控制在基于3σ,能力要提高到1.00以上的要求, 其能力实实在在提升也并不是件易事,常见到现场抱怨:”工程检查PASS,出荷检查PASS,甚至出货到客户也没有不良投诉,还要改进什么?”,有些企业头脑一热,或纯粹做市场宣传,打肿脸来充胖子的情况,就不多说了.这里想说的是,选择一个管理决定前,应好好的给自己号号脉:是否适合企业本身发展的阶段,人员素质是否跟得上,自己能否长抓不懈,提升竟争力的代价是否划算,现行方法可以满足要求吗,其它方法是否也可行,等等,多扪心自问下,别把传统好的东西盲目丢下,一味地去赶风.

    5. 在很多培训机构/咨询/认证机构所介绍有关SPC过程判稳/判异方法,及非正态分布识别方法.如:1) 判稳原则: n=25, 界外点d=0, 或n=35, 界外点d≤1, 或n=100, 界外点d≤2; 2) 判异原则: 常用的有8大原则,如:a点出界; b连续3点,有2点在A区,至于第3点在何处不管; c连续5点,有4点在B区,至于第5点在何处不管;d连续6点呈上升或下降趋势;e连续8点在中心两侧,但无1点在C区;f连续9点在C区,或在其外排成一串,g连续14点上下交替;h连续15点在C区上下;3) 非正态分布识别方法,如:均匀分布;左右倾向分布;指数分布;双峰分布;孤岛型分布等,以上相形细微波动的敏感分辩法则对于质量精益管理,或理论型研究,或实验验证方面,在有充裕时间可静心分析解决问题的情况下是适合的, 实际上对于不断变化的生产现场,及有相当压力和工作负担的质量负责人来讲,包括在讲求效益的企业内部环境,很多情况是通过以上法则发现的异常还没来得及分析解决,新的问题和异常早已产生,久而久之异常现象不断累加,给人的感觉形同大敌当前,但当一个月度总结下来的时候,却并没有出现不良品增多,甚至各工程检查也没有出现批次不良增多迹象.”难道SPC在损人吗”,从管理角度来看,特别是在质量目标实施总量控制的企业内部管理来讲,在一定程上来说SPC分辩的异常的确是小题大做,很重要的原因:它是在UCLx/LCLx控制界线内管理的,而非在USLx/LSLx规格要求(或客户要求)控制界线内管理,甚至当产品设计本身存在客观问题而当前无法克服时,客户有时还默许出现异常,而且从老板成本控制角度上讲,也是不经济的.故,以上外部机构所讲述的分辩法则于企业管理实际是存在一些不适宜的地方.这也是很多外部机构不能回答或解决实际问题所在的重要原因.

    6. SPC过程统计控制本身也存在这样的问题,即:1)必须在过程稳定的基础上,才能把当前过程的控制线延长,作为后续判定基准.但生产过程实际是不断变化的,因此要找到或改进到一个稳定过程作为基础,对讲求时效的今天,这里花费的时间和精力未免太长,有的行业某些过程根本就不可能存在稳定的状态.而且当前所制定的控制线是否适应后续变化的情况也是很难说的,比如:客户要求加严,工艺水平提升,过程得到改进,或测量技术提升等等,先前的控制线还能成为现行变化的情况吗?前后控制过程如何把断层的控制图建立相互联系的对比分析的连续监控过程,这是当前SPC技术没能解的问题;2)SPC在运用中,目前众多同行中只是运用在一段时期的总体能力判定,并没能做到实时正确监控和指导改善,一般只用在量产前许可承认上,而量产过程监控还是很大一块空白,这与前者相关联.因此,这种以静制动的控制方法或理论,个人觉得目前的SPC理论还是需要继续研究和发展的,可能本人没有接触到更前沿的SPC理论,所以如此认为. 质量管理不应”打太极拳”,而应有点类似像股市波动一样,在变化中控制.这仅代表个人观点,没有任何针对性.在本人SPC过程质量控制实际工作中,所设计的是一种随过程σ波动而波动的曲线控制线,而不是直线型的UCL/LCL/CL,以适应过程变化时的控制变化,且与企业质量管理目标相结合,或公司政策调整而调整的过程能力统计方式,可更灵活实际的适应质量管理需要,基本上可以适应不同行业特点要求,避免了照搬照抄汽车行业运用中的SPC统计方法所带来的不适应性,本人在从事SQE工作中对所辅导的各行业协力厂商中推广运用,在推广运用中得到普遍认同和实践运用,但只代表本人思想,没有学术参考,也是这样告诉我们的协力厂商的.

    Posted Mar 01 2007, 10:21 AM by wicky with no comments
    Filed under:
  • 成功实施SPC的因素


    http://www.6sq.net/qtool/spc/135.html

    因素1:实施计划

    “凡事预则立,不预则废”。计划对于任何事情都有着不可忽视的作用。对于SPC项目,一个有效的计划极其重要。

    有效的计划包括这些方面。首先,它应该是全面周密的。也就是说,在SPC项目实施之前,应该充分估计所要用到的资源,包括项目分几个阶段,各阶段的目标、所参与人员、工作内容、工作时间、硬件资源、软件系统、资金等。确定了这些方面内容的计划才是一个具体、明确、切实可行的SPC项目实施计划。其次,它应该有一定的灵活性。计划制定时应该尽量充分估计到实施过程中的偏离,并且给出偏离后的处理方法以及补充的资源。

     

    因素2:培训

    培训是保证SPC能够被正确理解和运用的关键。对于SPC项目中的培训工作,应该制定合理的培训方案,该方案明确了培训内容、接受培训人员、培训时间、日期、培训师、培训目标等项。

    应该针对管理和操作的需要,针对具体的职位或人员,选择合理的培训内容及目标,如表1是笔者制定的培训方案,此方案是对质量工程师的培训,由于其职位的要求比较高,所以必须掌握比较深入的统计学知识,但是对于操作员工,其培训内容就没必要这么深入,只需要了解数据的输入方法(如小键盘的操作)及异常的判断以及如何处理异常。

    因素3:技术支持

    技术支持工作包括两方面,一是SPC信息系统供应商的系统支持,二是企业内电脑、网络管理或信息部门的支持。SPC信息系统供应商应该保证整个SPC系统功能达到企业的实施要求;能够提供系统的操作规范;能够提供SPC理论知识及SPC软件系统运行的正确咨询工作。企业内部的技术支持工作主要是提供网络的维护、系统平台的提供,并且保证它的安全有效性。

    因素4:激励

    任何项目的执行都离不开人的作用。根据马斯洛的需求层次理论,任何人都有受人尊敬以及自我实现的需求,从工作中如果得不到这样的满足,必将影响工作热情,其效果就是影响了项目的执行及效果。在SPC的项目实施中,为了激励员工正确学习并积极完成项目的各项工作,必须有效的激励方法。有效的激励方法可以是:

    1) 召开项目启动会议。此会议必须让项目参与人员明确自己的重要性与不可取代性,同时要阐述每个人的工作在他或她的职业生涯中的重要性,比如掌握了SPC知识就会多一项专门技能,也就增加了一种职业选择的机会。

    2) 定期或不定期沟通。让参与项目的员工清楚自己及别人的工作完成及效果情况,并且,SPC项目经理应该充分表扬在项目执行中已经保证质量并且高效率完成工作任务的员工,同时也把正确的引导、建议、期望及鼓励给予那些为完成以及效果不好的员工,这一点非常重要。

    3) 给予奖金。适当的给予奖金奖励可以充分有效的调动员工的工作热情

    因素5:编码系统

    SPC系统也是一个信息系统,与其他信息系统一样,它需要对企业中庞大的产品或生产过程的统一编码。编码的合理与否在最终的运用上有很大的不同。SPC项目的事实施中会遇到产品的编码、过程的编码、质量特性的编码、缺陷编码、常用改善措施编码、常用异常原因编码等等。按照企业原有编号作为系统中的编码,如产品编号,可能编码就比较长,但实际意义却能充分体现;如果以新的规则重新编码,那么,系统在使用时将比较简洁,但是却牺牲了其含义的明确性。实际工作中,一定要权衡两方面的效果,作出统一的编码系统。“千里之行,始于足下”,这项工作是SPC信息系统实施的第一步具体工作。

    因素6:系统维护

    SPC系统初步运行以后,必须对系统进行持续的维护,否则将功亏一篑。SPC系统的维护工作包括方面:

    1、 网络及服务器维护。企业内的网络管理员必须维护网络正常开通;数据库服务器、自动采集服务器、自动检测服务器都正常工作,这样,基于网络的SPC系统才能正常启动和运行。

    2、 数据及时输入。除了自动采集的数据外,手工采集的数据必须及时输入才能体现SPC的时效性。

    3、 及时处理异常情况。遇到过程异常,应该立即处理,真正起到防患于未然的作用,并且,及时处理还可以在系统内共享经验,每个系统内的工作人员都能从中获益。

    Posted Mar 01 2007, 10:06 AM by wicky with no comments
    Filed under:
  • 为何不用SPC?


    http://www.6sq.net/qtool/spc/198_1.html

    某咨询师H应邀到一五金加工厂M进行咨询。在咨询过程中,M厂的品质经理W先生提出一个问题:"我们厂为了控制加工零件的弹力,专门购置了硬度计来控制来料铜片的硬度。我们每一卷铜片来料都经过了IQC硬度检测,但是在加工过程中还是发现铜片硬度出现问题,我们开始认为可能是一卷中铜片的硬度不均匀造成的,但经我们多次分析,一卷铜片的硬度并没有明显的差异,"W先生又补充说:"不过,铜片硬度异常出现的次数并不多,很难捕捉到出现的规律"。

    咨询师H开始了分析,他先查看了工厂历史异常铜片的一些相关数据,没有发现什么明显的问题。他又要来了IQC的来料检查记录,当他看了IQC的来料检查记录,心里就明白了一半了。咨询师H就此问题询问了IQC主管:" 你们是如何测试铜片的来料硬度的?" IQC主管王先生说:"我们从每一卷来料中任意的位置剪下一块进行硬度测量,每片测量一次,硬度测量结果如果在我们定的规格内就接受,如果不在规格内我们就再测量两次进行确认,如果合格就接受,不合格就拒收。" 咨询师H发现问题的原因正如他看到来料检查记录时感觉的一样。

    咨询师H对品质经理W先生分析了一下问题的原因:"铜片的问题正是来源于来料检查上,由于你们对每一个样本只测量一次,所以当测量出现问题时就是很难发现。测量有几种情况:1,你们测量能够得到正确的结果,这种情况下不会有什么问题 2,你们的测量不能够得出正确的结果 a,当来料是合格的,如果你们的测量结果判定是不合格,你们就会重新确认,这样也能及时发现误判情况. b,当来料不合格,如果测量结果判定是合格,就会发生误判情况。" H对W经理说:"你们所发生的异常就是b种情况造成的。" 品质经理W先生听了后一下明白:"没错,就是这个问题,以前一直没有注意到,我们每个样本只测量一次是错误的做法,很容易导致误判,正确的做法应该每个样本最少测量3次以上,这样可以大大减少测量误判的机率。"

    咨询师H说:"没错,这样就可以有效避免类似问题出现。不过,我还有一个更好的控制来料铜片硬度的方案告诉你," 咨询师H接着说:"为什么不用SPC来控制质量关键点? 如果按你们以前的记录表的方式记录数据,只要数据不超出规格就行了,就无法从数据中得到更多有效信息,对供应提供的铜片的质量的波动无法进行有效的监控。"

    咨询师H系统的对W先生介绍了运用SPC的方法。

    根据目前的情况我们可以选择SPC控制图中的X平均值与极差R控制图。根据不同的供应商分别制作控制图,每份样本测量三次,当作一组数据。首先我们可以根据最近的30次来料的数据计算出供应商的工序能力(CPK),如果,工序能力小于1,就必须要求供应商进行改善品质,否则我们就考虑更换新的供应商。如果工序能力大于1.33我们就认为供应商的制造铜片品质良好,可以选为长期供应商。然后我们通过连续的25组数据计算控制图的上下控制界线,X平均值代表每一次来料的硬度,如果X控制图出现超出控制界线或与控制图异常判定规则相符的情况,应及时进行分析,如果数据测量没有问题,则有可能供应商的产品品质与以前比较发生了变异,应及时通知供应商对来料进行改善,并要求供应商提供相应的原因分析,对策报告。R控制图代表了三次测量的最小差异,如果R控制图出现异常,表明测量系统有问题,应立即进行测量系统分析,找出原因,并进行改善

    咨询师H咨询最后又提醒品质经理W先生" 1,现在用SPC的控制线来取代以前的用规格来要求供应商,实际上要求是加严了,但又是合理的,因为SPC是根据历史数据计算控制线的,以前能够做到,现在也应该做到,不过你们必须通知供应商你们现在应用的控制方法,提醒供应商进行配合。2,SPC不仅仅是作图,最重要的是对图表上的异常点进行及时的分析,及时解决问题,否则SPC会流于行式,起不到作用。 3,SPC必须在过程稳定,工序能力足够的情况下才可以用,否则SPC无法应用。4,必须注意培训,确保SPC能被正确理解和运用。5,建议W公司全面推行SPC质量管理系统,企业将会受益于此。

    SPC统计过程控制

    品管大师朱兰曾说过:"21世纪是质量的世纪",在品质管理我们最常听说的一个概念就是SPCSPC作为一种非常有效的品质工具在全世界被广泛应用,并且被纳入了QS9000质量体系标准中.

    SPC即统计过程控制(Statistical Process Control)。于1924年美国品管大师W.A .Shewhart休哈特发明,它是生产过程中的一种记录图表,用于连续的生产过程中,实时监控过程中关键的质量参数,它能及时判定生产过程是否发生变异或者有发生变异的趋势,从而及时采取措施进行改进,把质量隐患消灭在萌芽状态,真正达到防患于未然,减少或避免坏品的产生,以达到提高产品品质,节约成本的目的。

    在生产过程中,产品的各种参数波动是不可避免的。波动分为两种:正常波动和异常波动。正常波动是偶然性原因(不可避免因素)造成的。它对产品质量影响较小,在技术上难以消除,在经济上也不值得消除。异常波动是由系统原因(异常因素)造成的。它对产品质量影响很大,可以采取措施避免和消除。

    SPC主要是应用统计技术对生产过程进行实时监控,科学的区分出生产过程中产品质量的随机波动与异常波动,从而对生产过程的异常趋势及时提出报警,以便生产管理人员及时发现异常, 采取对策。 控制图用平均值加减三个标准差(±3s)作为控制界线。控制图上有三条横线,中心一条为中心线(Central Line, CL),一般用红色实线绘制,在上面有一条称为上控制界限(Upper Control Limit ,UCL),在下面有一线条称为下控制界限(Lower Control Limit ,LCL),一般用红色虚线绘制,用来表示变异的范围。

     

    SPC控制图按数据的性质可以分为计量控制图,和计数控制图.依用途可以分为控制用控制图,分析用控制图.实际应用中需根据不同的情况进行选用不同的控制图.

    SPC可以为企业带来的好处。

    SPC 是一个全过程全时段的监控工具,实施SPC可以帮助企业有效的评估和监控过程,对过程变异及时有效的报警,能够作到"事前"预防和控制。

    SPC是一种有效的过程控制工具,实施SPC能够为企业提高产品品质,降低成本,减少返工和浪费,提高劳动生产率,增强企业核心竞争力, 赢得客户满意。

    SPC的发展方向--无纸化, 信息化。

    传统的SPC系统中,原始数据是手工抄录,然后人工计算、打点描图,在很多企业管理人员印象中,SPC意味着大量的报表,复杂的计算,繁琐的打点描图,是一件耗时耗力的工作。现代随着计算机在企业的普及, SPC越来越接近无纸化,信息化.对于传统行业,一般采用人工输入计算机,然后再利用专用软件进行统计分析, 生成各种控制图表。在高速度、大规模、重复性自动化生产的制造型企业里,SPC系统已更多采取利用数据采集设备自动进行数据采集,实时传输到计算控制中心进行数据分析的方式。信息化的好处在于工厂中可应用无纸化SPC,避免了过去复杂计算与繁琐打点描图工作,让SPC控制图的绘制非常方便简单,并且有利于数据的保存和SPC的推广,另外对于数据的调用和及时性也比传统的纸上作业有很大的改善,工程或质量人员在办公室中通过电脑就能够及时了解到生产过程中每个控制点的控制状态。目前市场有很多专门的SPC软件销售,这些软件都具有人工