精华内容
下载资源
问答
  • 计算生辰八字五行属性的算法

    万次阅读 热门讨论 2013-01-26 14:02:13
    我调研了几种起名字的思路,最终确定按照五行阴阳平衡的道理来确定生辰八字的五行属性,然后选取恰当的。   说明:本文描述的算法是根据Internet上的资料整理而得到,并非我原创,但个别地方我做过修改。其中...

    计算生辰八字五行属性的算法

    潘爱民

    2013/1/26

     

    缘起:几年前,小儿出生的几天之内,我需要为他起名字。人生难得接一两回这样的任务,更是格外珍惜。我调研了几种起名字的思路,最终确定按照五行阴阳平衡的道理来确定生辰八字的五行属性,然后选取恰当的字。

     

    说明:本文描述的算法是根据Internet上的资料整理而得到,并非我原创,但个别地方我做过修改。其中经验值的出处已无法找到。

    算法的高度足够,我是坐在飞机上写下这一算法描述的,上万米高空俯瞰大地,感觉到一种静默的平衡J。在过去几年中,我用这一算法测算过十多个生辰八字,也碰到过一两个极端的情形,与现实中的表现比较吻合。因此,我相信这算法的结果有参考意义。但是,因使用该算法引起的任何意外事故,我概不负责,请谨慎使用。

     

    算法的过程如下所述:

    1.       根据出生年月日和时辰,确定八个字,即生辰八字。

    查万年历(比如www.nongli.net),确定前六个字。比如1968年8月8日,查到的结果是:

    戊申辛酉壬寅

    这六个字分别是年份的天干、地支,月份的天干、地支,和日子的天干、地支。

    接下来确定时辰的天干和地支,查下表:

     

    出生
    钟点

    时辰地支

    日干(即第5个字)

    甲 己

    乙 庚

    丙 辛

    丁 壬

    戊 癸

    23-1

    1-3

    3-5

    5-7

    7-9

    9-11

    11-13

    13-15

    15-17

    17-19

    19-21

    21-23

    甲子

    乙丑

    丙寅

    丁卯

    戊辰

    己巳

    庚午

    辛未

    壬申

    癸酉

    甲戌

    乙亥

    丙子

    丁丑

    戊寅

    己卯

    庚辰

    辛巳

    壬午

    癸未

    甲申

    乙酉

    丙戌

    丁亥

    戊子

    己丑

    庚寅

    辛卯

    壬辰

    癸巳

    甲午

    乙未

    丙申

    丁酉

    戊戌

    己亥

    庚子

    辛丑

    壬寅

    癸卯

    甲辰

    己巳

    丙午

    丁未

    戊申

    己酉

    庚戌

    辛亥

    壬子

    癸丑

    甲寅

    乙卯

    丙辰

    丁巳

    戊午

    己未

    庚申

    辛酉

    壬戌

    癸亥

     

    首先根据出生钟点找到相应的行数,再根据第5个字(日干),在右边5列中定位到相应的列,即可得到时辰的天干、地支,即第7、8两个字。譬如,1968年8月8日8点钟,在“7-9”这一行,“丁壬”这一列,得到时辰的干支为“甲辰”,所以,最终的八字为:

    戊申辛酉壬寅甲辰

     

    2.       计算八字的五行属性。

    首先,每个天干和地支都有对应的五行属性,如下面两表所示:

     

    天干属性:

    天干

    属性

    天干

    属性

    天干

    属性

     

     

     

     

     

    地支属性:

    地支

    属性

    地支

    属性

    地支

    属性

     

    接下来,计算五行“金木水火土”的强度值。对于五行中的每一行,其强度值包括两部分:

    l  天干强度:即八字中的4个天干,若其五行属性恰好是这一行,那么就有相应的贡献值,可查表如下:

     

    生月\天干

    子月

    1.2

    1.2

    1.0

    1.0

    1.0

    1.0

    1.0

    1.0

    1.2

    1.2

    丑月

    1.06

    1.06

    1.0

    1.0

    1.1

    1.1

    1.14

    1.14

    1.1

    1.1

    寅月

    1.14

    1.14

    1.2

    1.2

    1.06

    1.06

    1.0

    1.0

    1.0

    1.0

    卯月

    1.2

    1.2

    1.2

    1.2

    1.0

    1.0

    1.0

    1.0

    1.0

    1.0

    辰月

    1.1

    1.1

    1.06

    1.06

    1.1

    1.1

    1.1

    1.1

    1.04

    1.04

    巳月

    1.0

    1.0

    1.14

    1.14

    1.14

    1.14

    1.06

    1.06

    1.06

    1.06

    午月

    1.0

    1.0

    1.2

    1.2

    1.2

    1.2

    1.0

    1.0

    1.0

    1.0

    未月

    1.04

    1.04

    1.1

    1.1

    1.16

    1.16

    1.1

    1.1

    1.0

    1.0

    申月

    1.06

    1.06

    1.0

    1.0

    1.0

    1.0

    1.14

    1.14

    1.2

    1.2

    酉月

    1.0

    1.0

    1.0

    1.0

    1.0

    1.0

    1.2

    1.2

    1.2

    1.2

    戌月

    1.0

    1.0

    1.04

    1.04

    1.14

    1.14

    1.16

    1.16

    1.06

    1.06

    亥月

    1.2

    1.2

    1.0

    1.0

    1.0

    1.0

    1.0

    1.0

    1.14

    1.14

     

    l  地支强度:即八字中的4个地支,它们可能会藏了这一五行对应的天干,比如,“丑”藏了“癸、辛、己”,而癸、辛、己的五行属性分别是水、金、土。所以,地支“丑”对水、金、土都有强度贡献,而强度值的大小则取决于相应的月份。下面的表格涵盖了地支所藏的五行强度值。

     

     

    地支

    支藏

    月支(即第6个字)

    1.2

    1.1

    1.0

    1.0

    1.04

    1.06

    1.0

    1.0

    1.2

    1.2

    1.06

    1.14

    0.36

    0.33

    0.3

    0.3

    0.312

    0.318

    0.3

    0.3

    0.36

    0.36

    0.318

    0.342

    0.2

    0.228

    0.2

    0.2

    0.23

    0.212

    0.2

    0.22

    0.228

    0.248

    0.232

    0.2

    0.5

    0.55

    0.53

    0.5

    0.55

    0.57

    0.6

    0.58

    0.5

    0.5

    0.57

    0.5

    0.3

    0.3

    0.36

    0.36

    0.318

    0.342

    0.36

    0.33

    0.3

    0.3

    0.342

    0.318

    0.84

    0.742

    0.798

    0.84

    0.77

    0.7

    0.7

    0.728

    0.742

    0.7

    0.7

    0.84

    1.2

    1.06

    1.14

    1.2

    1.1

    1.0

    1.0

    1.04

    1.06

    1.0

    1.0

    1.2

    0.36

    0.318

    0.342

    0.36

    0.33

    0.3

    0.3

    0.312

    0.318

    0.3

    0.3

    0.36

    0.24

    0.22

    0.2

    0.2

    0.208

    0.2

    0.2

    0.2

    0.24

    0.24

    0.212

    0.228

    0.5

    0.55

    0.53

    0.5

    0.55

    0.6

    0.6

    0.58

    0.5

    0.5

    0.57

    0.5

    0.3

    0.342

    0.3

    0.3

    0.33

    0.3

    0.3

    0.33

    0.342

    0.36

    0.348

    0.3

    0.7

    0.7

    0.84

    0.84

    0.742

    0.84

    0.84

    0.798

    0.7

    0.7

    0.728

    0.742

    1.0

    1.0

    1.2

    1.2

    1.06

    1.14

    1.2

    1.1

    1.0

    1.0

    1.04

    1.06

    0.3

    0.3

    0.36

    0.36

    0.318

    0.342

    0.36

    0.33

    0.3

    0.3

    0.312

    0.318

    0.24

    0.212

    0.228

    0.24

    0.22

    0.2

    0.2

    0.208

    0.212

    0.2

    0.2

    0.24

    0.5

    0.55

    0.53

    0.5

    0.55

    0.57

    0.6

    0.58

    0.5

    0.5

    0.57

    0.5

    0.36

    0.33

    0.3

    0.3

    0.312

    0.318

    0.3

    0.3

    0.36

    0.36

    0.318

    0.342

    0.7

    0.798

    0.7

    0.7

    0.77

    0.742

    0.7

    0.77

    0.798

    0.84

    0.812

    0.7

    1.0

    1.14

    1.0

    1.0

    1.1

    1.06

    1.0

    1.1

    1.14

    1.2

    1.16

    1.0

    0.3

    0.342

    0.3

    0.3

    0.33

    0.318

    0.3

    0.33

    0.342

    0.36

    0.348

    0.3

    0.2

    0.2

    0.24

    0.24

    0.212

    0.228

    0.24

    0.22

    0.2

    0.2

    0.208

    0.212

    0.5

    0.55

    0.53

    0.5

    0.55

    0.57

    0.6

    0.58

    0.5

    0.5

    0.57

    0.5

    0.36

    0.318

    0.342

    0.36

    0.33

    0.3

    0.3

    0.312

    0.318

    0.3

    0.3

    0.36

    0.84

    0.77

    0.7

    0.7

    0.728

    0.742

    0.7

    0.7

    0.84

    0.84

    0.724

    0.798

     

    回到前面的例子,八字“戊申辛酉壬寅甲辰”,查以上两表,可以得到五行强度为:

    金:0.84 (年支藏庚) + 1.2 (月干) + 1.2 (月支藏辛) = 3.24

    木:0.7 (日支藏甲) + 1.0 (时干) + 0.3 (时支藏乙) = 2.0

    水:0.36 (年支藏壬) + 1.2 (日干) + 0.24 (时支藏癸) = 1.8

    火:0.3 (日支藏丙) = 0.3

    土:1.0 (年干) + 0.5 (时支藏戊) = 1.5

     

    3.       给出起名指示。

    首先确定八字的命里属性。只需查日干的五行属性,即代表了该八字的五行属性。譬如“戊申辛酉壬寅甲辰”的日干“壬”的属性为水,故该八字对应的命里属性为水。

    再计算同类和异类的强度值。所谓同类是指,该八字的五行属性,以及生该五行属性的那个属性,譬如八字的五行属性为水,则水和金合起来称为同类,其他三个:木、火和土合起来称为异类。

    五行的相生关系为:金生水,水生木,木生火,火生土,土生金。

    得到了同类和异类的强度值以后,一个基本的判断是,若两者的数值比较接近,则说明该八字比较平衡,也暗示人生平顺;若两者数值相差较大(比如,大于1,甚至大于2),则说明五行不平衡,可以通过名字来弥补,或者将来找对象时候通过婚姻来补平。

    因此,得到同类和异类数值以后,如何确定“用神”或“喜神”,或者,如何在名字中补平,需要一点点人脑智能,目前尚未量化到算法或程序中。回到前面的例子:

    日干为壬,属水,故命属水

    “同类”数值:5.04

    “异类”数值:3.8

    “同类”比“异类”数值大,日主强,以火为用神。宜补火。

    最后,定下怎么补五行属性以后,剩下就是挑字了,这可以自由发挥了。康熙字典上每个字都有五行属性,可以在Internet上查到。

     

     

    附上代码:

    文件BaziEval.cpp

     

    //BaziEval.cpp : Defines the entry point for the console application.

    //

     

    #include"stdafx.h"

     

    #include<windows.h>

    #include<iostream>

    usingnamespace std;

     

    void Usage()

    {

                       cout << "Usage:\tBaziEval.exe -q <生辰八字中之前六字> -t hh" << endl;

                       cout <<"\tBaziEval.exe -e <生辰八字>" << endl;

                       return;

    }

     

    boolCheckBazi(_TCHAR *bazi);

    _TCHAR *ComputeTimeGan(_TCHAR *bazi, int hour);

    _TCHAR *EvalBazi(_TCHAR *bazi);

     

     

    int_tmain(int argc, _TCHAR* argv[])

    {

             _TCHAR *subCmd, *paraStr;

             if (argc != 5 && argc !=3) {

                       Usage();

                       return 0;

             }

            

             subCmd = argv[1];

             paraStr = argv[2];

             if (argc ==5) {

                       // Parsing the part of"-q <生辰八字中之前六字>"

                       if (!(wcslen(subCmd)==1&& subCmd[0] == 'q' || wcslen(subCmd)==2 && subCmd[0]=='-'&& subCmd[1]=='q')) {

                                Usage();

                                return 0;

                       }

     

                       if (wcslen(paraStr)!=6 ||!CheckBazi(paraStr)) {

                                cout <<"-q后面须跟上生辰日的干支,可以查询万年历,比如在线版本 http://www.nongli.net/" << endl;

                                Usage();

                                return 0;

                       }

                      

                       // Parsing the part of"-t hh:mm"

                       subCmd = argv[3];

                       paraStr = argv[4];

     

                       if (!(wcslen(subCmd)==1&& subCmd[0] == 't' || wcslen(subCmd)==2 && subCmd[0]=='-'&& subCmd[1]=='t')) {

                                Usage();

                                return 0;

                       }

                      

                       int hour = -1;

                       swscanf(paraStr,L"%d", &hour);

                       if (hour <0 || hour>23) {

                                cout <<"Error: 时辰参数不正确,应为0~23之间的一个整点数。" << endl;

                                Usage();

                                return 0;

                       }

     

                       _TCHAR * result =ComputeTimeGan(argv[2], hour);

                       if (result == 0) {

                                cout << "查询不成功!"<< endl;

                       } else {

                                char tmpBuf[128];

                           WideCharToMultiByte( CP_ACP, 0, result, -1,tmpBuf, 127, NULL, NULL );

     

                                cout << "查询八字的结果是:"<< tmpBuf << endl;

                                cout << "接下来您可以用-e命令测算此八字的五行平衡信息。" << endl;

                       }

                       return 0;

             }

     

             if (argc ==3) {

                       // Parsingthe part of "-q <生辰八字中之前六字>"

                       if (!(wcslen(subCmd)==1&& subCmd[0] == 'e' || wcslen(subCmd)==2 && subCmd[0]=='-'&& subCmd[1]=='e')) {

                                Usage();

                                return 0;

                       }

     

                       if (wcslen(paraStr)!=8 ||!CheckBazi(paraStr)) {

                                cout <<"-e后面须跟上生辰八字" << endl;

                                Usage();

                                return 0;

                       }

     

                       _TCHAR *result =EvalBazi(paraStr);

                      

                       if (result == 0) {

                                cout << "测算不成功,另请高明!"<< endl;

                       } else {

                                char tmpBuf[1024];

                           WideCharToMultiByte( CP_ACP, 0, result, -1,tmpBuf, 1024, NULL, NULL );

     

                                cout <<"\n此八字的五行平衡分析结果如下:\n\n" << tmpBuf << endl;

                       }

                       return 0;

             }

     

             Usage();

     

             return 0;

    }

     

    文件BaziAlgorithm.cpp

     

    #include "stdafx.h"

     

    #include <windows.h>

     

    const _TCHAR *TianGan = L"甲乙丙丁戊己庚辛壬癸";

    const _TCHAR *DiZhi = L"子丑寅卯辰巳午未申酉戌亥";

     

    bool CheckBazi(_TCHAR *bazi)

    {

             intbaziLen;

             inti,j;

     

             baziLen= wcslen(bazi);

             if(baziLen != 6 && baziLen != 8 ) return false;

     

             for(i = 0; i < baziLen;) {

                       _TCHARch = bazi[i];

                       for(j = 0; j < 10; j++)

                                if(ch == TianGan[j]) break;

                       if(j >= 10) return false;

                       i++;

     

                       ch= bazi[i];

                       for(j = 0; j < 12; j++)

                                if(ch == DiZhi[j]) break;

                       if(j >= 12) return false;

                       i++;

             }

            

             returntrue;

    }

     

    /*

    根据出生日子的天干,通过下表来查算时辰干支:

    时辰干支查算表

    时间时辰                             五行纪日干支

                           甲己     乙庚     丙辛     丁壬     戊癸

     

    23-01 子/水           甲子     丙子     戊子     庚子     壬子

    01-03 丑/土           乙丑     丁丑     己丑     辛丑     癸丑

    03-05 寅/木           丙寅     戊寅     庚寅     壬寅     甲寅

    05-07 卯/木           丁卯     己卯     辛卯     癸卯     乙卯

    07-09 辰/土           戊辰     庚辰     壬辰     甲辰     丙辰

    09-11 巳/火           己巳     辛巳     癸巳     己巳     丁巳

    11-13 午/火           庚午     壬午     甲午     丙午     戊午

    13-15 未/土           辛未     癸未     乙未     丁未     己未

    15-17 申/金           壬申     甲申     丙申     戊申     庚申

    17-19 酉/金           癸酉     乙酉     丁酉     己酉     辛酉

    19-21 戊/土           甲戌     丙戌     戊戌     庚戌     壬戌

    21-23 亥/水           乙亥     丁亥     己亥     辛亥     癸亥

     

    */

    const _TCHAR * cTimeGanZhi_Table[12][5] =

    {

             {L"甲子",L"丙子", L"戊子", L"庚子", L"壬子"},

             {L"乙丑",L"丁丑", L"己丑", L"辛丑", L"癸丑"},

             {L"丙寅",L"戊寅", L"庚寅", L"壬寅", L"甲寅"},

             {L"丁卯",L"己卯", L"辛卯", L"癸卯", L"乙卯"},

             {L"戊辰",L"庚辰", L"壬辰", L"甲辰", L"丙辰"},

             {L"己巳",L"辛巳", L"癸巳", L"己巳", L"丁巳"},

             {L"庚午", L"壬午",L"甲午", L"丙午", L"戊午"},

             {L"辛未",L"癸未", L"乙未", L"丁未", L"己未"},

             {L"壬申",L"甲申", L"丙申", L"戊申", L"庚申"},

             {L"癸酉",L"乙酉", L"丁酉", L"己酉", L"辛酉"},

             {L"甲戌",L"丙戌", L"戊戌", L"庚戌", L"壬戌"},

             {L"乙亥",L"丁亥", L"己亥", L"辛亥", L"癸亥"}

    };

     

    static _TCHAR sBuf[128];        // 用作八字结果缓冲区

     

    // 根据出生年月日的干支计算时辰干支

    // 输入参数:bazi,年月日的干支,即八字中的前六个字

    // 输入参数:hour,出生时间的小时数,-1~22

    // 输出结果:八字字符串,Unicode编码

    _TCHAR * ComputeTimeGan(_TCHAR *bazi, inthour)

    {

             _TCHARdayGan = bazi[4];

     

             intindexX, indexY;

            

             inti;

             for(i = 0; i < 10; i++)

                       if(dayGan == TianGan[i]) break;

             if(i >= 10) return 0;

             indexX= i;

             if(indexX >=5) indexX -= 5;

             indexY= (hour +1)/2;

     

             wcscpy(sBuf,bazi);

             wcscat(sBuf,cTimeGanZhi_Table[indexY][indexX]);

     

             returnsBuf;

    }

     

    /*

    十二月份天干强度表

    生月\四柱天干        甲              乙              丙              丁              戊              己              庚              辛              壬              癸

    子月                            1.2             1.2             1.0             1.0             1.0             1.0             1.0             1.0             1.2             1.2

    丑月                            1.06 1.06 1.0             1.0             1.1             1.1             1.14 1.14 1.1             1.1

    寅月                            1.14 1.14 1.2             1.2             1.06 1.06 1.0             1.0             1.0             1.0

    卯月                            1.2             1.2             1.2             1.2             1.0             1.0             1.0             1.0             1.0             1.0

    辰月                            1.1             1.1             1.06 1.06 1.1             1.1             1.1             1.1             1.04 1.04

    巳月                            1.0             1.0             1.14 1.14 1.14 1.14 1.06 1.06 1.06 1.06

    午月                            1.0             1.0             1.2             1.2             1.2             1.2             1.0             1.0             1.0             1.0

    未月                            1.04 1.04 1.1             1.1             1.16 1.16 1.1             1.1             1.0             1.0

    申月                            1.06 1.06 1.0             1.0             1.0             1.0             1.14 1.14 1.2             1.2

    酉月                            1.0             1.0             1.0             1.0             1.0             1.0             1.2             1.2             1.2             1.2

    戌月                            1.0             1.0             1.04 1.04 1.14 1.14 1.16 1.16 1.06 1.06

    亥月                            1.2             1.2             1.0             1.0             1.0             1.0             1.0             1.0             1.14 1.14

    */

     

    double TianGan_Strength [12][10] =

    {

             {1.2, 1.2,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.2,  1.2},

             {1.06,        1.06,         1.0,  1.0,  1.1,  1.1,  1.14,         1.14,         1.1,  1.1},

             {1.14,        1.14,         1.2,  1.2,  1.06,         1.06,         1.0,  1.0,  1.0,  1.0},

             {1.2, 1.2,  1.2,  1.2,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0},

             {1.1, 1.1,  1.06,         1.06,         1.1,  1.1,  1.1,  1.1,  1.04,         1.04},

             {1.0, 1.0,  1.14,         1.14,         1.14,         1.14,         1.06,         1.06,         1.06,         1.06},

             {1.0, 1.0,  1.2,  1.2,  1.2,  1.2,  1.0,  1.0,  1.0,  1.0},

             {1.04,        1.04,         1.1,  1.1,  1.16,         1.16,         1.1,  1.1,  1.0,  1.0},

             {1.06,        1.06,         1.0,  1.0,  1.0,  1.0,  1.14,         1.14,         1.2,  1.2},

             {1.0, 1.0,  1.0,  1.0,  1.0,  1.0,  1.2,  1.2,  1.2,  1.2},

             {1.0, 1.0,  1.04,         1.04,         1.14,         1.14,         1.16,         1.16,         1.06,         1.06},

             {1.2, 1.2,  1.0,  1.0,  1.0,  1.0,  1.0,  1.0,  1.14,         1.14}

    };

     

    /*

    十二月份地支强度表

     

                            生月       子月         丑月         寅月         卯月         辰月         巳月         午月         未月         申月         酉月         戌月         亥月        

    地支         支藏

    子              癸                       1.2             1.1             1.0             1.0             1.04 1.06 1.0             1.0             1.2             1.2             1.06 1.14

    丑              癸                       0.36 0.33 0.3             0.3             0.312        0.318        0.3             0.3             0.36 0.36 0.318        0.342

    丑              辛                       0.2             0.228        0.2             0.2             0.23 0.212        0.2             0.22 0.228        0.248        0.232        0.2           

    丑              己                       0.5             0.55 0.53 0.5             0.55 0.57 0.6             0.58 0.5             0.5             0.57 0.5            

    寅              丙                       0.3             0.3             0.36 0.36 0.318        0.342        0.36 0.33 0.3             0.3             0.342        0.318       

    寅              甲                       0.84 0.742        0.798        0.84 0.77 0.7             0.7             0.728        0.742        0.7             0.7             0.84

    卯              乙                       1.2             1.06 1.14 1.2             1.1             1.0             1.0             1.04 1.06 1.0             1.0             1.2            

    辰              乙                       0.36 0.318        0.342        0.36 0.33 0.3             0.3             0.312        0.318        0.3             0.3             0.36

    辰              癸                       0.24 0.22 0.2             0.2             0.208        0.2             0.2             0.2             0.24 0.24 0.212        0.228       

    辰              戊                       0.5             0.55 0.53 0.5             0.55 0.6             0.6             0.58 0.5             0.5             0.57 0.5            

    巳              庚                       0.3             0.342        0.3             0.3             0.33 0.3             0.3             0.33 0.342        0.36 0.348        0.3            

    巳              丙                       0.7             0.7             0.84 0.84 0.742        0.84 0.84 0.798        0.7             0.7             0.728        0.742       

    午              丁                       1.0             1.0             1.2             1.2             1.06 1.14 1.2             1.1             1.0             1.0             1.04 1.06

    未              丁                       0.3             0.3             0.36 0.36 0.318        0.342        0.36 0.33 0.3             0.3             0.312        0.318       

    未              乙                       0.24 0.212        0.228        0.24 0.22 0.2             0.2             0.208        0.212        0.2             0.2             0.24

    未              己                       0.5             0.55 0.53 0.5             0.55 0.57 0.6             0.58 0.5             0.5             0.57 0.5            

    申              壬                       0.36 0.33 0.3             0.3             0.312        0.318        0.3             0.3             0.36 0.36 0.318        0.342       

    申              庚                       0.7             0.798        0.7             0.7             0.77 0.742        0.7             0.77 0.798        0.84 0.812        0.7            

    酉              辛                       1.0             1.14 1.0             1.0             1.1             1.06 1.0             1.1             1.14 1.2             1.16 1.0            

    戌              辛                       0.3             0.342        0.3             0.3             0.33 0.318        0.3             0.33 0.342        0.36 0.348        0.3            

    戌              丁                       0.2             0.2             0.24 0.24 0.212        0.228        0.24 0.22 0.2             0.2             0.208        0.212       

    戌              戊                       0.5             0.55 0.53 0.5             0.55 0.57 0.6             0.58 0.5             0.5             0.57 0.5            

    亥              甲                       0.36 0.318        0.342        0.36 0.33 0.3             0.3             0.312        0.318        0.3             0.3             0.36

    亥              壬                        0.84 0.77 0.7             0.7             0.728        0.742        0.7             0.7             0.84 0.84 0.724        0.798       

    */

    struct ZISTRENGTH {

             _TCHARdiZhi;

             _TCHARzhiCang;

             doublestrength[12];

    };

     

    ZISTRENGTHDiZhi_Strength [] =

    {

             {L'子', L'癸', {1.2,1.1, 1.0, 1.0,        1.04, 1.06, 1.0,1.0, 1.2, 1.2, 1.06, 1.14}},     

             {L'丑', L'癸', {0.36,0.33, 0.3, 0.3, 0.312, 0.318, 0.3, 0.3, 0.36, 0.36, 0.318, 0.342}},

             {L'丑', L'辛', {0.2,0.228, 0.2, 0.2, 0.23, 0.212, 0.2,         0.22,0.228, 0.248, 0.232, 0.2}},              

             {L'丑', L'己', {0.5,0.55, 0.53, 0.5, 0.55, 0.57, 0.6, 0.58, 0.5, 0.5, 0.57, 0.5}},                 

             {L'寅', L'丙', {0.3,0.3, 0.36, 0.36, 0.318, 0.342, 0.36, 0.33, 0.3, 0.3, 0.342, 0.318}},   

             {L'寅', L'甲', {0.84,0.742, 0.798, 0.84, 0.77, 0.7, 0.7, 0.728, 0.742, 0.7, 0.7, 0.84}},   

             {L'卯', L'乙', {1.2,1.06, 1.14, 1.2, 1.1, 1.0, 1.0, 1.04, 1.06, 1.0, 1.0, 1.2}},             

             {L'辰', L'乙', {0.36,0.318, 0.342, 0.36, 0.33, 0.3, 0.3, 0.312, 0.318, 0.3, 0.3, 0.36}},   

             {L'辰', L'癸', {0.24,0.22,  0.2, 0.2, 0.208, 0.2, 0.2, 0.2,0.24, 0.24, 0.212, 0.228}},       

             {L'辰', L'戊', {0.5,0.55, 0.53, 0.5, 0.55, 0.6, 0.6, 0.58, 0.5, 0.5, 0.57, 0.5}},          

             {L'巳', L'庚', {0.3,0.342, 0.3, 0.3, 0.33, 0.3, 0.3, 0.33, 0.342, 0.36, 0.348, 0.3}},          

             {L'巳', L'丙', {0.7,0.7, 0.84, 0.84, 0.742, 0.84, 0.84, 0.798, 0.7, 0.7, 0.728, 0.742}},   

             {L'午', L'丁', {1.0,1.0, 1.2, 1.2, 1.06, 1.14, 1.2, 1.1, 1.0, 1.0, 1.04, 1.06}},   

             {L'未', L'丁', {0.3,0.3, 0.36, 0.36, 0.318, 0.342, 0.36, 0.33, 0.3, 0.3, 0.312, 0.318}},   

             {L'未', L'乙', {0.24,0.212, 0.228, 0.24, 0.22, 0.2, 0.2, 0.208, 0.212, 0.2, 0.2, 0.24}},   

             {L'未', L'己', {0.5,0.55, 0.53, 0.5, 0.55, 0.57, 0.6, 0.58, 0.5, 0.5, 0.57, 0.5}},                 

             {L'申', L'壬', {0.36,0.33, 0.3, 0.3, 0.312, 0.318, 0.3, 0.3, 0.36, 0.36, 0.318, 0.342}},   

             {L'申', L'庚', {0.7,0.798, 0.7, 0.7, 0.77, 0.742, 0.7, 0.77, 0.798, 0.84, 0.812, 0.7}},               

             {L'酉', L'辛', {1.0,1.14, 1.0, 1.0, 1.1, 1.06, 1.0, 1.1, 1.14, 1.2, 1.16, 1.0}},             

             {L'戌', L'辛', {0.3,0.342, 0.3, 0.3, 0.33, 0.318, 0.3, 0.33, 0.342, 0.36, 0.348, 0.3}},               

             {L'戌', L'丁', {0.2,0.2, 0.24, 0.24, 0.212, 0.228, 0.24, 0.22, 0.2, 0.2, 0.208, 0.212}},   

             {L'戌', L'戊', {0.5,0.55, 0.53, 0.5, 0.55, 0.57, 0.6, 0.58, 0.5, 0.5, 0.57, 0.5}},                 

             {L'亥', L'甲', {0.36,0.318, 0.342, 0.36, 0.33, 0.3, 0.3, 0.312, 0.318, 0.3, 0.3, 0.36}},   

             {L'亥', L'壬', {0.84,0.77, 0.7, 0.7, 0.728, 0.742, 0.7, 0.7, 0.84, 0.84, 0.724, 0.798}}     

    };

     

    /*

             金 --- 0

             木 --- 1

             水 --- 2

             火 --- 3

             土 --- 4

    */

     

    _TCHAR WuXingTable[5] = {L'金', L'木', L'水', L'火', L'土' };

     

    /*

             天干地支的五行属性表

             天干: 甲-木、乙-木、丙-火、丁-火、戊-土、己-土、庚-金、辛-金、壬-水、癸-水

             地支:子-水、丑-土、寅-木、卯-木、辰-土、巳-火、午-火、未-土、申-金、酉-金、戌-土、亥-水

    */

     

    int TianGan_WuXingProp[10] = {1, 1, 3, 3, 4,4, 0, 0, 2, 2};

    int DiZhi_WuXingProp[12] = {2, 4, 1, 1, 4,3, 3, 4, 0, 0, 4, 2};

    int GenerationSourceTable[5] = {4, 2, 0, 1,3};

     

    int ComputeGanIndex(_TCHAR gan)

    {

             inti;

             for(i=0; i < 10; i++)

                       if(TianGan[i] == gan) break;

             if(i >= 10) return -1;

             returni;

    }

     

    int ComputeZhiIndex(_TCHAR zhi)

    {

             inti;

             for(i=0; i < 12; i++)

                       if(DiZhi[i] == zhi) break;

             if(i >= 12) return -1;

             returni;

    }

     

    static _TCHAR sResultBuf[1024];   // 用作八字测算结果返回的字符缓冲区

     

    // 根据八字计算五行平衡

    // 输入参数:bazi,年月日时的干支,即俗称的八字

    // 输出结果:分析结果字符串,Unicode编码

    _TCHAR * EvalBazi(_TCHAR *bazi)

    {

             doublestrengthResult[5];

             intmonthIndex = ComputeZhiIndex(bazi[3]);

             if(monthIndex == -1) goto ERROR_CASE;

     

             wcscpy(sResultBuf,bazi);

             wcscat(sResultBuf,L"\n\n");

             for(int wuXing = 0; wuXing < 5; wuXing++) {

                       doublevalue1 = 0.0, value2 = 0.0;

                       inti;

                       //扫描4个天干

                       for(i  = 0; i <8; i+=2) {

                                TCHARgan = bazi[i];

                                intindex = ComputeGanIndex(gan);

                                if(index == -1) goto ERROR_CASE;

     

                                if(TianGan_WuXingProp[index] == wuXing)

                                         value1+= TianGan_Strength[monthIndex][index];

                       }

     

                       //扫描支藏

                       for(i  = 1; i <8; i+=2) {

                                TCHARzhi = bazi[i];

                                for(intj = 0; j < sizeof (DiZhi_Strength)/sizeof (DiZhi_Strength[0]); j++) {

                                         if(DiZhi_Strength[j].diZhi == zhi) {

                                                   intzhiCangIndex = ComputeGanIndex(DiZhi_Strength[j].zhiCang);

                                                   if(zhiCangIndex == -1) goto ERROR_CASE;

                                                   if(TianGan_WuXingProp[zhiCangIndex] == wuXing) {

                                                            value2+= DiZhi_Strength[j].strength[monthIndex];

                                                            break;

                                                   }

                                         }

                                }

                       }

     

                       strengthResult[wuXing]= value1 + value2;

     

                       //输出一行计算结果

                       {

                                _TCHARpreStr[128];

                                chartmpBuf[128];

                                _TCHARtmpWBuf[256];

                                sprintf(tmpBuf,":%.3f + %.3f = %.3f\n", (float)value1, (float)value2,(float)(value1+value2));

                                MultiByteToWideChar(CP_ACP, 0, tmpBuf, strlen(tmpBuf)+1,

                                         tmpWBuf,sizeof(tmpWBuf)/sizeof(_TCHAR) );

                                wcscpy(preStr,L"金:\t");

                                preStr[0]= WuXingTable[wuXing];

                                wcscat(sResultBuf,preStr);

                                wcscat(sResultBuf,tmpWBuf);

                       }

             }

            

             //根据日干求命里属性

             intfateProp, srcProp;

     

             {

                       _TCHARtmpWBuf[256];

                       fateProp= TianGan_WuXingProp[ComputeGanIndex(bazi[4])];

                       if(fateProp == -1) goto ERROR_CASE;

                       wcscpy(tmpWBuf,L"\n命属金\n\n");

                       tmpWBuf[3]= WuXingTable[fateProp];

                       wcscat(sResultBuf,tmpWBuf);

     

             }

     

             //求同类和异类的强度值

             srcProp= GenerationSourceTable[fateProp];

             {

                       _TCHARpreStr[128];

                       chartmpBuf[128];

                       _TCHARtmpWBuf[256];

     

                       doubletongLei = strengthResult[fateProp] + strengthResult[srcProp];

                       doubleyiLei = 0.0;

                       for(inti = 0; i < 5; i ++) yiLei += strengthResult[i];

                       yiLei-= tongLei;

                      

                       sprintf(tmpBuf,"%.3f+ %.3f = %.3f\n", (float)strengthResult[fateProp],(float)strengthResult[srcProp],

                                (float)tongLei);

                       MultiByteToWideChar(CP_ACP, 0, tmpBuf, strlen(tmpBuf)+1,

                                tmpWBuf,sizeof(tmpWBuf)/sizeof(_TCHAR) );

                       wcscpy(preStr,L"同类:金+金,");

                       preStr[3]= WuXingTable[fateProp];

                       preStr[5]= WuXingTable[srcProp];

                       wcscat(sResultBuf,preStr);

                       wcscat(sResultBuf,tmpWBuf);

     

                       sprintf(tmpBuf,"%.3f\n", (float)yiLei);

                       MultiByteToWideChar(CP_ACP, 0, tmpBuf, strlen(tmpBuf)+1,

                                tmpWBuf,sizeof(tmpWBuf)/sizeof(_TCHAR) );

                       wcscat(sResultBuf,L"异类:总和为 ");

                       wcscat(sResultBuf,tmpWBuf);

             }

     

             returnsResultBuf;

     

    ERROR_CASE:

            

             return0;

    }

     

    展开全文
  • 怎么看生辰八字中五行缺什么

    千次阅读 2014-02-18 17:55:58
    怎么看生辰八字中五行缺什么?这问题对于稍微懂一些八字的人那当然是再简单不过的事情。但是对大多数不懂八字并且对命理抱有神秘感的朋友而言,这问题并不是那么简单,...而每天干和每地支都有对应的五行属性

     

       怎么看生辰八字中五行缺什么?这个问题对于稍微懂一些八字的人那当然是再简单不过的事情。但是对大多数不懂八字并且对命理抱有神秘感的朋友而言,这个问题并不是那么简单,所以索性写一篇通俗的文档来说明这个“简单而复杂”的问题。相信只要是会认识汉字的人都能根据本文来按图索骥。

    为了准确的回答问题,还是从定义上来入手:

    一个人的八字就是一共八个字:四个天干,四个地支。而每个天干和每个地支都有对应的五行属性。

    所以要看一个人八字中是否缺什么五行,就是要分析组成八字的这四个天干和四个地支对应的五行是否缺什么了。比如这四个天干和四个地支中都不包含火这个五行,那就是八字缺火或者说命中缺火了。

    下面再来解释天干和地支的五行属性:

     甲、乙为木,代表东方

     丙、丁为火、代表南方

     戊、己为土、代表中央

     庚、辛为金、代表西方

     壬、癸为水、代表北方

    (列表一)

    地支的五行,就没有那么容易看出来了,因为地支之中往往藏有一个、二个或者最多三个天干,这种地支中所藏的天干也叫做“支藏人元”,取“天干为天元、地支为地元、人在天地之间”的意思,所以称为人元。

    上面的话,也就是说一个地支往往是由几种五行混合而成的,下面就讲讲这个地支藏干的问题,也就是看看各个地支中都藏了哪些天干藏有哪些五行。

     寅中藏:甲,丙,戊

     卯中藏:乙

     辰中藏:戊,乙,癸

     巳中藏:丙,庚,戊

     午中藏:丁,己

     未中藏:己,丁,乙

     申中藏:庚,壬,戊

     酉中藏:辛

     戌中藏:戊,辛,丁

     亥中藏:壬,甲

     子中藏:癸

     丑中藏:己,癸,辛

    (列表二)

    注意:上面地支藏干的列表中,所藏的第一个天干也称之为地支的“本气”,简单说就是占主导作用的五行,就是说本气五行在地支中占的比例最大。比如寅中藏有甲,丙,戊三个天干,如果寅的力量为100分的话,那么甲,丙,戊三者的力量比例依次大概为:60:25:15,甲占的比例比较大,所以甲叫做寅的“本气”。

    道理说清楚了,下面看一个实例就清楚了:

    假设一个小孩子的八字是:

    戊子 甲子 辛丑 己丑

    其实这个人就是生于:戊子年,甲子月,辛丑日,己丑时

    其中日干,也就是辛丑日的日干“辛”这个天干代表这个小孩子本身,这个小孩子五行属金,因为辛属金。

    再来看看四个天干的五行:戊,甲,辛,己,查列表一就知道它们分别属土,木,金,土。

    再来看四个地支:子,子,丑,丑,查列表二:子中只有癸,查列表一,癸为水,所以子属水。丑中藏有:己辛癸,分别为土金水。

    综合看上面的四个天干和地支,可以发现,这些干支中独独缺少五行火!

    所以说这个八字五行缺火!

    通过这个例子,相信绝大部分人都会懂得如何判断五行是否缺什么了,只要找一个万年历(或在网上排盘程序中输入生日时辰)找到对应的八字(四个天干和四个地支)就行了,这是再简单不过的查表工作了,相信人人都会。

    说到这里,就不得不提到一个问题了,坊间有不少“新手”命理师傅在看人八字判断五行是否有缺的时候,在判断地支的时候往往只看地支的本气,这样就会造成误判。

    比如这些命理师看到寅,认为寅属木(因为寅的本气为甲,甲属木)而忽略了寅中藏的火和土。所以如果按照这种看法,本来某人八字什么都不缺,这些算命师傅却认为此人缺某某五行,这一点必须引起大家注意,大家看了此文之后也自能分辨。

    还有另外一个问题也要引起注意,那就是:并非说一个人八字缺什么五行,就一定应该补这种五行。这种看法是不对的。准确的说法是,根据八字的格局,需要什么五行才要补什么五行。比如某人八字虽然缺水,但是此八字的格局却是忌讳水的,那么命中缺了水反而是好事。在这种情况下,你如果去补水,反而会弄巧成拙。关于这一点,对起名字极为重要。

     

    展开全文
  • js 判断文字是否破

    千次阅读 2013-11-11 16:26:19
    日前有这样一个需求,本来是想在div里面嵌个span,再看span的长度是否大于父div长度,如果大于,则破。 但是发现在IE8-IE10的浏览器不行,后来发现 IE8以后,IE对offsetWidth,scrollWidth的属性发生了变化,只...

    日前有这样一个需求,本来是想在div里面嵌个span,再看span的长度是否大于父div长度,如果大于,则破行。

    但是发现在IE8-IE10的浏览器不行,后来发现

    IE8以后,IE对offsetWidth,scrollWidth的属性发生了变化,只表示看到的部分

    比如如果一个div display:none的话,那offsetWidth会是0,scrollWidth一样,如果span的父div宽度为100,overflow:hidden,则span里面不管写多少字宽度都不会超过100,

    如果css设置了text-overflow:ellipsis;那span里面的字如果很多,那span里面的offsetWidth则会是80,83或81 ,可悲的是IE8,IE9,IE10都不一样。

    而在chormal里面

    offsetWidth是指理论长度,就是不管看见看不见,都会从理论上算计其长度,如果span里面的字很多,不管有没有隐藏,offsetWidth的值都是一样的。

    在jquery里面的width()方法中,如果是IE的话,如果是隐藏的话,他会修改成显示,求出长度,再去隐藏。

    但是,如果像我前面说的,父容器被overflow:hidden的话,width()也只能返回可视长度。


    所以,如果要判断文字是否破行的话,首先要把容器里面的文字复制出来,放到另一个容器中,再比较两个窗口的长度,如果后者大于前者,刚破行。

    代码如下


    <div id="a" style="width:100px;border:solid 1px; text-overflow:ellipsis;overflow:hidden;
            white-space:nowrap;">枯在在枯厅dsdfffff</div>

     <div style="display:none" id="kkk"></div>

    <script>
        window.onload = function () {


            $("#a").width();
            $("#kkk").text($("#a").text());
            if ($("#kkk").width() >= $("#a").width()) {
                $("#a").toggle( function () {
                    $(this).css("white-space", "normal");
                }, function () {
                    $(this).css("white-space", "nowrap");
                });
            }
        }
    </script>


    另外,td里面做换行,table一定要设置相关属性才行

    展开全文
  • 购买项目的时候勾选了两个以上的员工(这里假设张三和李四两个员工),那么在统计业绩或者提成的时候,张三和李四就需要均分该项目的业绩和提成金额,显示的时候需要将张三和李四统计在一起,方便修改其中一个员工的...

    最近写项目的时候,有个需求是这样的:
    购买项目的时候勾选了两个以上的员工(这里假设张三和李四两个员工),那么在统计业绩或者提成的时候,张三和李四就需要均分该项目的业绩和提成金额,显示的时候需要将张三和李四统计在一起,方便修改其中一个员工的业绩的时候另外一个也跟着变。设计图如下:
    在这里插入图片描述
    从设计图可见修改mb006员工的销售业绩或提成金额的时候是需要变动同个项目下其他员工(gt_test和mb005)的销售业绩或提成总额的。并且这里是根据项目名称(轮胎修补与打蜡2223)来合并员工数据的。而后台返回的数据是这样的:
    在这里插入图片描述
    可以看到实际上后台返回的数据是5条,迫于后台数据表存放的限制,后台开发人员无法将同一项目的员工的业绩整合在一块,为此我只能将这5条数据转化为上面显示的类似2条数据的情况。
    本项目是PC端,使用的前端框架是vue,所以直接使用ElementUI的el-table组件来实现布局。但是el-table组件的合并只能根据行号来合并。先来看看官方案例:
    在这里插入图片描述
    在这里插入图片描述
    可以看到官方案例是每隔两行就合并两行的数据,并不完全符合我们想要根据某个属性来合并不知道是几条数据的需求。先来看看这个怎么用法:

    官方介绍:

    通过给table传入span-method方法可以实现合并行或列,方法的参数是一个对象,里面包含当前行row、当前列column、当前行号rowIndex、当前列号columnIndex四个属性。该函数可以返回一个包含两个元素的数组,第一个元素代表rowspan,第二个元素代表colspan。
    也可以返回一个键名为rowspan和colspan的对象。

    有点绕口的话请看以下栗子:

    if (columnIndex === 0) {
        if (rowIndex === 0) {  // 合并第一行到第四行,从第一行开始,共4行
          return {
            rowspan: 4,
            colspan: 1
          }
        } else if (rowIndex === 4) { // 合并第五行到第九行,从第五行开始,共5行
          return {
            rowspan: 5,
            colspan: 1
          }
        } else if (rowIndex === 9) { //  合并第10行到第14行,从第10行开始,共5行
          return {
            rowspan: 5,
            colspan: 1
          }
        } else { // 其余被合并的行,诸如1、2、3、5、6、7、8、10、11、12、13全都设为0
          return {
            rowspan: 0,
            colspan: 0
          }
       }
    }
    

    可以看到rowspan就代表合并多少行数据的意思。
    下面开始借助:span-method来实现需求,合并数据之前需要先处理数据,直接上代码:

    // 核算业绩提成合并员工
    // 生成一个与行数相同的数组,记录每一行设置的合并数
    setMergeArr(data) {
      for (var i = 0; i < data.length; i++) {
        if (i === 0) {
          this.mergeSpanArr.push(1)
          this.mergeSpanArrIndex = 0
        } else {
          // 判断当前元素与上一个元素是否相同
          if (data[i].itemInfo === data[i - 1].itemInfo) {//itemInfo代表根据哪个相同的属性去合并
            this.mergeSpanArr[this.mergeSpanArrIndex] += 1
            this.mergeSpanArr.push(0)
          } else {
            this.mergeSpanArr.push(1)
            this.mergeSpanArrIndex = i
          }
        }
      }
      // 如果第一条记录索引为0,向数组中push 1,设置索引值
      // 如果不是第一条记录,判断与前一条记录是否相等,相等则向mergeSpanArr添加元素0
      // 且将前一条记录+1,即需要合并的行数+1,直到得到所有需要合并的行数
    }
    

    最终使用:

    <el-table :data="recordList" :span-method="activementTable" border></tl-table>
    
     //核算业绩表合并
     activementTable({ row, column, rowIndex, columnIndex }) {
       if (columnIndex === 0 || columnIndex === 1) {
         const _row = this.mergeSpanArr[rowIndex]
         const _col = _row > 0 ? 1 : 0
         return {
           rowspan: _row,
           colspan: _col
         }
       }
     }
    

    这样合并数据的时候就能够根据数据的某个属性来合并,而不是跟官方一样只能根据行号来合并。

    下面说一下修改其中一个员工 其他同项目的员工的金额跟着改变应该怎么实现,先看设计图:
    在这里插入图片描述
    输入框:

    <el-input v-model.trim="scope.row.performance" @keyup.native="totalPayTypeMoney(scope.row,1)"></el-input>

    这里的需求是修改mb006的销售金额或提成金额,即时变动mb005和gt_test的销售业绩和提成业绩(数值是(项目销售金额-mb006的销售业绩)/(员工数-1)就是剩下员工均分剩下的金额)。直接上代码:

    //销售业绩-自动计算
     totalPayTypeMoney(item, type) {
       let singePrice       //单个员工的业绩|提成
       let totalPrice  //总业绩|总提成
       if (type == 1) {//业绩
         totalPrice = item.itemTotal
         singePrice = item.performance
       } else {//提成
         totalPrice = item.totalAmount
         singePrice = item.commission
       }
       if (
         isNaN(singePrice) ||
         parseFloat(singePrice) > parseFloat(totalPrice)
       ) {
         this.$message({
           message: "请输入小于" + totalPrice + "的数字!",
           type: "error"
         })
         //将当前修改的员工业绩|提成置为总业绩|总提成
         if (type == 1) {
           item.performance = totalPrice
         } else {
           item.commission = totalPrice
         }
       }
       //算出剩下的业绩金额|提成金额并根据几个员工均分
       let surplusTotal = (parseFloat(totalPrice) - parseFloat(type == 1 ? item.performance || 0 : item.commission || 0)) / (this.getRealNum(item.index) - 1)  //分配剩余的业绩或提成
       this.recordList.forEach(val => {
         if (val != item && val.itemInfo == item.itemInfo) {//除去本身编辑的员工 val.itemInfo == item.itemInfo控制是均分金额的是同个项目的员工
           if (type == 1) {
             val.performance = parseFloat(surplusTotal).toFixed(2)
           } else {
             val.commission = parseFloat(surplusTotal).toFixed(2)
           }
         }
       })
     }
    

    这个方法是找到修改员工业绩的时候,需要知道剩余的金额均分几份:

    //如果得到的是0 就一直往上找 直到找到有合并数
    getRealNum(index) {
       let num
       if (this.mergeSpanArr[index] < 1) {
         for (let i = index; i < this.mergeSpanArr.length; i--) {
           if (i > -1 && this.mergeSpanArr[i] > 0) {
             num = i
             return this.mergeSpanArr[num]
           }
         }
       } else {
         return this.mergeSpanArr[index]
       }
     }
    

    好了 本次分享到此结束,如果你看到此文章只好解决了你想解决的问题的话麻烦给个小星星支持一下,如有不懂或者解决不了你的问题也随时欢迎你找到共同探讨!
    本人微信:huang009516

    展开全文
  • WPF入门教程()--依赖属性(1)

    千次阅读 2018-08-20 17:29:59
    大家都知道WPF带来了很多新的特性,其中一个就是引入了一种新的属性机制——依赖属性。依赖属性出现的目的是用来实现WPF中的样式、自动绑定及实现动画等特性。依赖属性的出现是WPF这种特殊的呈现原理派生出来的,与...
  • 字段目录是用来控制ALV显示的网格中每字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等.常用的字段如下:         row_pos:默认值为0,可选值为1、2、3,既最大分3级别显示 fieldname字段的...
  • MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System:关系数据库管理系统) 应用软件之
  • ACCESS入门教程()数据的类型和属性 怎样使用表设计器来创建表?  我们已经知道怎样用表向导来设计表了,这课学习怎样使用表设计器来建立表。 表设计器是Access中设计表的工具,用表向导建立表的时候,它...
  • (创建文档类Document及属性方法, 创建段落文本类Paragraph及段落格式设置, 创建字体设置类Run及属性等) 使用: 、创建文档类Document 及 段落文本类Paragraph : docx.Document(), Document.add_heading(), ...
  • 很多初学者对于JavaScript中... 不知道大家看到这张图的第一感觉如何,反正我的感觉就是“这次第,怎一个了得”。  既然我认为上图太多太乱,那么我就把offset、scroll、client分开说,希望能让大家彻底弄清楚,
  • 、问题描述: 在用Java读入文件内容时,往往文件中存在空行,有时候用空行来分割不同属性的内容,这时候,就有必要把这...第四十五行信息:空行 第四十六行到第四十七行信息:必过节点 第四十八行信息:空行
  • Unity游戏制作,本篇文章介绍了复刻皇室战争玩法的一个自制小游戏,共有该游戏的两万教程加制作过程,欢迎品尝! 世界上没有绝对的公平,如果我们起点就比别人第一步,那就更需要比别人努力了。
  • 本文将开启PE文件逆向解析相关内容,预计会连续分享六篇文章,第篇告诉大家什么是数字签名,并采用Signtool工具对EXE文件进行签名,后续深入分析数字签名的格式及PE病毒内容。本文章适合初学者学习,希望对您有所...
  • 若时间是一条X轴线,存在一个人为定义的零点(实际上是无极点),那么借鉴smith圆图的方法,我们可以将正无穷大和负无穷大衔接。 这个时候就产生了 两个玄点,等价于∞这个符号。 从有变无,由无穷大到无穷小的玄...
  • 【NCRE】——c#判断ppt中的艺术

    千次阅读 热门讨论 2015-11-27 12:32:41
    最近做的项目是关于NCRE考试系统的,这项目主要是针对学生的计算机级考试的项目,这项目包括学生端和教师端,教师端是负责配置考题,学生端则是学生考试。学生端的包括几题型:单选题,操作系统,文字处理,...
  • 【input 标签的 type 属性详解】

    万次阅读 多人点赞 2019-09-03 23:16:31
    input 标签的 type 属性详解1. input 输入标签的type 属性1.1 input 标签的 type类型 属性的常用属性值⑴ type="text"⑵ type="button"⑶ type="checkbox"⑷ type="file"⑸ type="hidden"⑹ type="image"⑺ type=...
  • 全文共计十八章节并附带三张笔试练习篇,美中不足的是,第章和第二章是以截图形式展现的。由于本人开始是在有道云笔记上写的初稿,当时想方便省事(有道云排版个人感觉确实比较美观)就直接以截图的形式完成了...
  • 在项目中碰到了正则表达式的运用,正则还是非常强大的,不管什么编程语言,基本上都可以用到。...这里就罗列了从网上找的很...首先举一个例子:  匹配9-15个由字母/数字组成的字符串的正则表达式: NSString * regex
  • 书接上文,前篇文章介绍了依赖属性的原理和实现了一个简单...回顾 依赖属性是由DependencyObject来使用的,那么一个典型的使用场景是什么呢?使用DependencyProperty 一个简单的使用如下: 1: public class Simple
  • 项目 命令来创建一个新的Windows程序 在这里选择创建了一个Windows窗口程序 (1)工具箱窗口 工具箱提供了Windows应用程序的用户界面控件,这些控件按其使用类型划分在不同的选项卡中,用户...
  • 前文分享了Wireshark抓包原理知识,并结合NetworkMiner工具抓取了图像资源和用户名密码,本文将讲解Python网络攻防相关基础知识,包括正则表达式、Web编程和套接通信。本文参考了爱春秋ADO老师的课程内容,这里也...
  • Swiftlint代码规范属性说明

    千次阅读 2017-02-15 11:01:42
    SwiftLint代码规范属性详细说明 属性1 : weak_delegate 。 代理应该写成weak类型(弱代理)来避免循环引用 例如:/// 1.1 编译通过 class Langke { var chenlong: NSObjectProtocol? }/// 1.2 编译通过,但是触发...
  • 最近做数据库实验作业,要求写一个程序,程序语言
  • DBGrid 各属性的设置

    千次阅读 2014-01-10 16:33:21
    在 Delphi 语言的数据库编程中,DBGrid 是显示数据的主要手段之。但是 DBGrid 缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化DBGrid 外观的目的。通过编程,我们可以改变...
  • 1. TortoiseSVN属性 1.1. 文件夹属性tsvn:   属性tsvn:只能在文件夹设置。...如果你确认每个用户都是从同一个目录检出,例如 trunk/,而不是其它子目录,那么只在 trunk/设置属性就足够了。如果
  • 撸js基础之对象:http://www.ferecord.com/lujs-object.html继...Object自带一个prototype的属性,即Object.prototype,Object.prototype本身也是一个对象,也会有一些属性和方法。如下: 1、属性 Object.proto...
  • 如果你问我具体使用,我会给说:拿ImageView来说吧,首先创建一个新的项目,在项目布局文件中应用ImageView控件,代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an
  • 目录(). MySQL1. 基本操作2. 数据库操作3. 表的操作4. 数据操作5. 字符集编码6. 数据类型(列类型)7. 列属性(列约束)8. 建表规范9. SELECT10. UNION11. 子查询12. 连接查询(join)13. TRUNCATE (). MySQL 1. 基本...
  • 我们通常的做法是将这段长文本收起,只显示三或四,如果用户想要查看完整内容,只需要点击展开即可显示全文,点击收起又可以隐藏多余的内容。 这里介绍以下三种形式的实现方式: 1.页面打开就显示文本内容 2....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 98,983
精华内容 39,593
关键字:

怎样判断一个字的五行属性