标题:那个高手可以把C#转成VFP
只看楼主
xie1423
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-8-9
结帖率:100%
已结贴  问题点数:20 回复次数:20 
那个高手可以把C#转成VFP
C#实现五行号码属性变化的万年历方法 能否转成VFP代码
C#代码如下

        /// 获取六十甲子字符列表
        /// </summary>
        /// <returns></returns>
        private List<string> GetJiazhi()
        {
            string str = @"甲子 乙丑 丙寅 丁卯 戊辰 己巳 庚午 辛未 壬申 癸酉
甲戌 乙亥 丙子 丁丑 戊寅 己卯 庚辰 辛巳 壬午 癸未
甲申 乙酉 丙戌 丁亥 戊子 己丑 庚寅 辛卯 壬辰 癸巳
甲午 乙未 丙申 丁酉 戊戌 己亥 庚子 辛丑 壬寅 癸卯
甲辰 乙巳 丙午 丁未 戊申 己酉 庚戌 辛亥 壬子 癸丑
甲寅 乙卯 丙辰 丁巳 戊午 己未 庚申 辛酉 壬戌 癸亥";
            List<string> list = new List<string>();
            foreach (string item in str.Split(' '))
            {
                if (!string.IsNullOrEmpty(item))
                {
                    list.Add(item.Replace("\r\n", ""));
                }
            }
            return list;
        }

        /// <summary>
        /// 根据甲子获取纳音
        /// </summary>
        /// <param name="jiazhi"></param>
        /// <returns></returns>
        private string GetNayin(string jiazhi)
        {
            string str = @"甲子乙丑海中金 丙寅丁卯炉中火 戊辰己巳大林木 庚午辛未路旁土 壬申癸酉剑锋金
甲戌乙亥山头火 丙子丁丑涧下水 戊寅己卯城头土 庚辰辛巳白腊金 壬午癸未杨柳木
甲申乙酉泉中水 丙戌丁亥屋上土 戊子己丑劈雳火 庚寅辛卯松柏木 壬辰癸巳长流水
甲午乙未沙中金 丙申丁酉山下火 戊戌己亥平地木 庚子辛丑壁上土 壬寅癸卯金箔金
甲辰乙巳佛灯火 丙午丁未天河水 戊申己酉大驿土 庚戌辛亥插环金 壬子癸丑桑枝木
甲寅乙卯大溪水 丙辰丁巳沙中土 戊午己未天上火 庚申辛酉石榴木 壬戌癸亥大海水 ";
            int iStart = str.IndexOf(jiazhi);
            string leftStr = str.Substring(iStart);

            int iSpace = leftStr.IndexOf(' ');
            leftStr = leftStr.Substring(0, iSpace);

            leftStr = leftStr.Substring(leftStr.Length-1, 1);
            return leftStr;
        }
            List<string> jiazhiList = GetJiazhi();
            //纳音列表
            List<string> nayinList = new List<string>();

            //初始化五行数字字符串列表
            Dictionary<string, string> wuhanStrList = new Dictionary<string, string>() { };
            wuhanStrList.Add("金", "");
            wuhanStrList.Add("木", "");
            wuhanStrList.Add("水", "");
            wuhanStrList.Add("火", "");
            wuhanStrList.Add("土", "");
            for (int i = 1; i <= 60; i++)
            {
                string jiazhi = jiazhiList[i - 1];
                string nayin = GetNayin(jiazhi);
                nayinList.Add(nayin);
                //this.textBox1.AppendText(nayin + Environment.NewLine);
            }
            for (int i = 1; i <= 49; i++)
            {
                int currentYear = chineseDate.GetYear(this.dateTimePicker1.Value);
                int index = currentYear - 1922 - i - 1;
                string itemName = nayinList[index % 60];
                if (itemName == "金")
                {
                    wuhanStrList["金"] += i.ToString("D2") + ",";
                }
                else if (itemName == "木")
                {
                    wuhanStrList["木"] += i.ToString("D2") + ",";
                }
                else if (itemName == "水")
                {
                    wuhanStrList["水"] += i.ToString("D2") + ",";
                }
                else if (itemName == "火")
                {
                    wuhanStrList["火"] += i.ToString("D2") + ",";
                }
                else if (itemName == "土")
                {
                    wuhanStrList["土"] += i.ToString("D2") + ",";
                }
            }

            foreach (string key in wuhanStrList.Keys)
            {
                this.textBox1.AppendText(string.Format("{0}:{1}\r\n", key, wuhanStrList[key]));
            }

[ 本帖最后由 xie1423 于 2013-8-22 14:57 编辑 ]
搜索更多相关主题的帖子: returns private 五行号码 万年历 
2013-08-22 14:56
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
得分:0 
是这样的吗
流年五行.rar (3.38 KB)

2013-08-22 18:14
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:5 
回复 2楼 whinda
厉害
2013-08-22 20:53
xie1423
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-8-9
得分:0 
回复 2楼 whinda
,高手!请问你用的是VFP9吗?
2013-08-23 18:09
xie1423
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-8-9
得分:0 
晕啊,我用的还是VFP7
2013-08-23 18:12
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
得分:1 
升到VFP9吧,反正免费呢。再不用的话,再进两年,它就退出历史舞台了。
哦,应该都可以运行,只是里面的日历控件是MSCOMctl2.DTPicker.2,这个通用控件不晓得是不是OFFICE2007带的。没注意,如果不行,你自己更换一个控件就OK了。

[ 本帖最后由 whinda 于 2013-8-23 18:27 编辑 ]
2013-08-23 18:19
xie1423
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-8-9
得分:0 
2013-08-23 18:24
xie1423
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-8-9
得分:0 
VFP能不能实现如下的效果:
2013-08-23 18:32
xie1423
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2013-8-9
得分:0 
符合条件的号码带颜色
2013-08-23 18:33
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
得分:1 
可以,直接访问那个text,改掉forecolor就OK了。
先确定是数据位置,确定访问路径grid.column.text1.forecolor=RGB(nRRR,nGGG,nBBB)
就OK了,
还有一种方式,从grid继承重写一个类,将column里面加入动态识别程序,如果新增的text满足条件,就修改它的前景色。
2013-08-23 18:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-419514-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.413024 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved