摸鱼助手——用C

程序员有二十年 2024-06-01 19:41:10

写了个盯盘小工具,最近发现一些技术群里面的小伙伴在摸鱼,摸鱼炒股啥的。不过上班期间看手机频繁是不是影响不好?或电脑上打开交易软件,那影响是不是更不好?所以我就写了个小工具,给大家“摸鱼”用。虽然是摸鱼用,但是平常丢一边,或者你自己改造下代码,写个循环在控制台里面刷新等等,或者输出到VS的输出栏里面等等,都行,也不会影响你工作,还可能因为你减少打开手机盯盘的操作,反而工作效率更高了,那我就算是做了个好事吧。winform界面如下所示,功能简单,可以添加、删除指定的股票代码。目前我只写了大A沪股和深股,其他没写,感兴趣可以自己拓展。

核心代码,实际上就是一个Get请求,然后解析有关内容。Get请求的是你的股票数据。请求地址是新浪股票数据。目前默认5秒刷新一次。

请求的地址是新浪股票地址:

http://hq.sinajs.cn/list=股票代码

核心解析代码,供参考。

try { // 发送 GET 请求 HttpResponseMessage response = client.GetAsync(url).GetAwaiter().GetResult(); response.EnsureSuccessStatusCode(); // 读取响应内容 byte[] contentBytes = response.Content.ReadAsByteArrayAsync().GetAwaiter().GetResult(); string data = Encoding.GetEncoding("gb2312").GetString(contentBytes); // 将数据分行存入数组 string[] stockList = data.Split('\n'); if (!stockList.Any()) { return; } lbResult.Clear(); // 打印每行数据 foreach (var stock in stockList) { var values = stock.Split('='); if (values.Length != 2) { continue; } var fund = values[1].Trim('\"'); string[] items = fund.Split(','); float curr = Convert.ToSingle(items[3]); // 当前价格 float yend = Convert.ToSingle(items[2]); // 昨日收盘价格 float percent = (curr / yend - 1) * 100; // 百分比变化 float diff = curr - yend; // 价格差异 string disp = $"{items[0]} | {items[3]} | {percent:0.00}% | {diff:0.000} "; if (percent == 0.0) { lbResult.SelectionColor = Color.White; } else if (percent > 0.0) { lbResult.SelectionColor = Color.Red; } else { lbResult.SelectionColor = Color.Green; } lbResult.AppendText(disp + "\r\n"); } }

需要以上可执行的工具,可以百度云盘自行获取,已经编译好32和64位,无依赖环境,windows系统均可打开:

链接:

https://pan.baidu.com/s/1_uglW-6arjA0hJZsY45LQw?pwd=moyu

提取码:moyu

如果需要该摸鱼助手源码,可以在我公众号【Dotnet Dancer】后台回复 “摸鱼助手” 即可获取源码下载链接。

0 阅读:16

程序员有二十年

简介:感谢大家的关注