Visual Basic-手机归属查询

BBasic for Android-真正意义上的安卓端BBasic虚拟机 关于BBasic BB是BBK BASIC的简称,是步步高公司开发的一种编程环境。这个语言采用Quick Basic的基础语法,且增加了部分屏幕消息函数,并且可以在PC机上生成模拟器文件,可以在PC机上直接测试。 和QB相比较,BB大部分的语法和函数是一样的,当然也有不同的地方。BBasic为了支持彩屏机的需要,提供了屏幕消息函数,使得BBasic在彩屏机上可以发挥出更加优越的功能。有QB编程 阅读详情

偶然间看到了一份手机号码归属地的数据库,9000多页的内容真是惊呆了,想着把它做成C++,但UI着实不咋样,索性用Visual Basic写了一份基于网络的手机归属查询。

结构很简单,用一张picture做背景,增加一个Textbox,三个Label(一个输出,一个作为拖动窗口,一个作为关闭按钮)和一个Image(负责command类此的效果)。

数据库基于网络,也就是说必须联网才可以使用。

网络接口API是从网上找的, "http://www.096.me/api.php?phone=" + phone + "&mode=txt",其中phone就是手机号码。

利用两个函数获取网页的源码从而提取出来了手机归属地的信息,并利用Label. caption显示出来。

获取网页源码的函数:

Function getHTTPPage(url) '获取网站源码
On Error Resume Next
Dim http
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
getHTTPPage = http.Send()
If http.ReadyState <> 4 Then
Debug.Print "无法连接服务器"
getHTTPPage = "无法连接服务器"
Exit Function
End If
getHTTPPage = BytesToBstr(http.responseBody, "GB2312")
Set http = Nothing
End Function


Function BytesToBstr(body, Cset) '转码
Dim objstream
Set objstream = CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode = 3
objstream.Open
objstream.Write body
objstream.position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
Set objstream = Nothing
End Function
拖动窗口的方法:

利用label,将label的属性backstyle=0即可,更改名称为:labFormTitle增加源码:

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MOVE = &HF010&
Private Const HTCAPTIO = 2

Private Sub labFormTitle_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ReleaseCapture 'WM_SYS向窗体发送一个移动窗体命令
    Call SendMessage(Me.hwnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTIO, 0)
'SC_MOVE+ HTCAPTIO表示单击左键移动窗体
End Sub

获取源码中特定两个字符的方法:

Function GetByDiv(ByVal code As String, ByVal divBegin As String, divEnd As String)  '获取分隔符所夹的内容
    Dim lgStart As Long
    Dim lens As Long
    Dim lgEnd As Long
    lens = Len(divBegin)
    lgStart = InStr(1, code, divBegin) + CLng(lens)
    lgEnd = InStr(lgStart, code, divEnd)
    GetByDiv = Mid(code, lgStart, lgEnd - lgStart)
End Function

所以;总的源码:

Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MOVE = &HF010&
Private Const HTCAPTIO = 2
Private Sub Image1_Click()
Dim phone
Dim web As String
Dim tem As String
phone = Text1.Text
web = "http://www.096.me/api.php?phone=" + phone + "&mode=txt"
'Text2.Text = web
tem = getHTTPPage(web)
Label1.Caption = GetByDiv(tem, "||", "||")
End Sub

Function getHTTPPage(url) '获取网站源码
On Error Resume Next
Dim http
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
getHTTPPage = http.Send()
If http.ReadyState <> 4 Then
Debug.Print "无法连接服务器"
getHTTPPage = "无法连接服务器"
Exit Function
End If
getHTTPPage = BytesToBstr(http.responseBody, "GB2312")
Set http = Nothing
End Function


Function BytesToBstr(body, Cset) '转码
Dim objstream
Set objstream = CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode = 3
objstream.Open
objstream.Write body
objstream.position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
Set objstream = Nothing
End Function

Function GetByDiv(ByVal code As String, ByVal divBegin As String, divEnd As String)  '获取分隔符所夹的内容
    Dim lgStart As Long
    Dim lens As Long
    Dim lgEnd As Long
    lens = Len(divBegin)
    lgStart = InStr(1, code, divBegin) + CLng(lens)
    lgEnd = InStr(lgStart, code, divEnd)
    GetByDiv = Mid(code, lgStart, lgEnd - lgStart)
End Function
Private Sub labFormTitle_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ReleaseCapture 'WM_SYS向窗体发送一个移动窗体命令
    Call SendMessage(Me.hwnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTIO, 0)
'SC_MOVE+ HTCAPTIO表示单击左键移动窗体
End Sub
Private Sub Label2_Click()
End
End Sub
Private Sub Picture1_Click()

End Sub

运行结果:

      

GUI 比较单一,用了最简单的结构,效果还是一般吧。

虽然网上有很多类似的软件,可是制作的过程是快乐的。


@ Mayuko


从Excel到自动化系统:体能训练成绩计算系统的设计与实现 数据自动化处理是现代软件工程中的核心概念,其原理在于通过程序逻辑替代人工操作,实现数据采集、计算与归档的标准化流程。这项技术的价值在于显著提升工作效率、保障数据准确性,并支持复杂的数据分析与追溯。在工程实践中,常见的应用场景包括教务管理、绩效考核以及各类需要标准化评分的领域。本文聚焦于体能训练成绩管理这一具体场景,深入探讨了如何利用数据库设计、核心计算引擎与报表生成等技术,构建一个从Excel手工表格升级而来的自动化成绩计算系统。系统通过结构化存储评分标准与测试记录,实现了成绩的自动换算、加权计算与等级评定 阅读详情

相关推荐

stb-translator-data-repository.zip - Web 版翻译者资料库项目源码

本项目是由 VB6/Qt 桌面版《翻译者资料库》移植而来的 Web 版本,采用 Spring Boot 3.3 + Thymeleaf + Bootstrap 5.3 + MySQL 8.0 技术栈,面向翻译与写作场景提供一站式资料管理底座。系统涵盖资料管家、分类词库、句库、文本处理器、中英对照制作、通用查找、数据备份恢复及旧库迁移等核心模块,完整继承桌面版的编号连续、引号规范化、查重、RTF 附件同步等关键业务规则。前端采用服务端渲染配合本地静态资源,支持离线使用;通过 run.bat 一键完成环境检查、建库、编译与启动,访问 http://localhost:8080 即可使用。

黑马程序员-手机号码归属地

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------   自己动手做个手机号码归属地实例。 现在数据库中用sql语句创建一个手机号码归属地表(sql语句此处省略,太多了!) 然后再在vs中的新建一个winform程序,绑定好vs与数据库。 最后再在程序运行时开始写如下代码:

lanruyi的专栏 555

利用LQR反馈控制器在不同风况下模拟风力涡轮转速控制的MATLAB.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

微软技术周报 · 2026-08-11~2026-08-18

微软本周技术动态聚焦两大方向:AI体验整合与安全更新。AI方面,Copilot统一入口copilot.cloud.microsoft上线,Foundry Agent框架GA,MAI模型家族完成5线整合;开发者工具上,C# 14正式支持扩展成员、field关键字等特性,.NET 11 Preview 7优化异步分层编译和WASM支持。安全侧发布8月补丁日,修复421个CVE(含1个Lazarus组织利用的零日漏洞)。其他亮点包括VS Code接入MAI-Voice、Power Platform现代控件GA、T

海盗Sharp的博客 828

基于jdk21、jdk17、jdk8 + SpringCloud + SpringBoot 开发的微服务中后台快速开发平台,专注于多租户、开放平台解决方案,亦可作为普通项目的基础开发框架使用

基于jdk21、jdk17、jdk8 + SpringCloud + SpringBoot 开发的微服务中后台快速开发平台,专注于多租户(SaaS架构)、开放平台解决方案,亦可作为普通项目(非SaaS架构)的基础开发框架使用,目前已实现数据库隔离、字段隔离等租户隔离方案。

高校技术转移办公室人员如何提升技术成果的推介效果和市场转化率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

囚徒困境 For BBasic

此游戏由著名的心理测试“囚徒困境”启发制作。 游戏规则极其简单。 初始分数为0分,由玩家与文(电脑)对战。 得分规则: 双方都合作 各得3分 双方都背叛 各得1分 一方合作一方背叛 背叛的5分 合作的0分 游戏控制: 点击局次上限设置次数,游戏时可以设置 点击帮助查看帮助 点击关于查看关于 点击开

hades's stack 1393

两相交错并联BuckBoost变换器仿真模型(Simulink仿真实现)

内容概要:本文档系统整合了电力电子与新能源领域的Simulink仿真资源,聚焦于两相交错并联Buck-Boost变换器的双闭环PWM控制建模与仿真,同时涵盖多种典型拓扑结构,包括交错并联Boost、PFC功率因数校正、LLC谐振变换器、双向CLLC、DAB变换器、VIENNA整流器等。资源体系完整,包含仿真模型、设计报告、计算书、PPT说明文档及Matlab/Python代码,覆盖从基础建模到高级控制策略(如软开关技术、谐波抑制、状态估计、双闭环控制)的全流程。此外,还拓展至状态估计(卡尔曼滤波、粒子滤波)、智能优化算法、机器学习、信号处理、路径规划等多个交叉学科方向,构建了一个面向科研与工程应用的综合性技术平台。; 适合人群:电气工程、自动化、电力电子、新能源科学与工程等专业的硕士博士研究生、高校科研人员,以及从事新能源发电、智能电网、电动汽车、电力传动等领域技术研发的工程师。; 使用场景及目标:①开展电力电子变换器(如Buck-Boost、LLC、DAB、PFC等)的建模、控制与仿真研究;②支撑课程设计、学位论文、科研项目中的系统仿真与算法验证;③学习并复现高水平期刊(如EI)提出的先进控制策略,如基于KKT条件的最优控制、扩展移相调制、恒压恒流双环竞争控制等;④结合智能算法(如粒子群、秃鹰算法)进行微电网调度、储能配置、路径规划等多目标优化问题的研究与快速原型开发。; 阅读建议:建议依据提供的资源目录循序渐进地查阅资料,优先选取与自身研究方向高度契合的内容进行深入学习;应结合仿真模型与配套文档动手实践,调试参数并分析结果,充分利用百度网盘与公众号渠道获取完整资源,提升科研工作的系统性、规范性与创新性。

BBasic-囚徒困境

此游戏由著名的心理测试“囚徒困境”启发制作。 游戏规则极其简单。 初始分数为0分,由玩家与文(电脑)对战。 得分规则: 双方都合作 各得3分 双方都背叛 各得1分 一方合作一方背叛 背叛的5分 合作的0分 游戏控制: 点击局次上限设置次数,游戏时可以设置 点击帮助查看帮助 点击关于查看关于 点击开

hades's stack 1162

【基于Zernike矩的良性和恶性肿块的分类】应用于乳腺癌诊断中的快速相反权重学习规则(Matlab代码实现)

内容概要:本文详细介绍了基于Plecs软件构建的全桥LLC谐振变换器仿真模型,重点阐述了其在软开关技术条件下的建模方法与仿真分析过程。该模型能够精确模拟LLC谐振变换器在不同运行工况下的动态响应特性,涵盖开环与闭环控制策略的设计与实现,适用于研究变换器的效率优化、谐振参数匹配、系统稳定性及软开关性能等问题。相较于Simulink等传统仿真工具,Plecs在高频电力电子系统仿真中展现出更高的仿真速度与数值精度,尤其适合用于复杂电力电子拓扑的快速原型验证与优化设计。; 适合人群:具备扎实电力电子技术基础和仿真经验,从事高频功率变换器设计、新能源电源开发、电力电子系统研究的研发工程师及高校研究生。; 使用场景及目标:①深入理解全桥LLC谐振变换器的工作原理与软开关实现机制;②掌握在Plecs环境中搭建高精度、高效率电力电子系统仿真模型的方法;③开展变换器控制策略(如变频控制、闭环稳压)的仿真验证与参数优化;④为科研课题、学位论文或工业项目提供可靠的仿真平台与技术支持。; 阅读建议:建议结合相关电力电子教材与LLC变换器设计指南,深入掌握谐振参数计算与系统稳定性分析方法,并通过反复调试仿真模型,观察关键波形(如原边电流零点切换、副边整流波形),以全面理解软开关过程的物理本质与控制实现细节。

产业园区运营负责人如何提升园区内技术成果与企业需求的精准对接效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BBasic-Diary921

介绍: Diary,一款日记记录软件。 考虑到软件使用的便捷性,Diary系列共设计为5个软件: Diary.bin DiaryLink.bin DiaryChange.bin DiaryBlack.bin DiaryDateChange.bin 新功能: 更简洁的使用UI 新版本的Diary使用了更简洁的UI、再方便操作的同时也美化的系统界面。

hades's stack 916

国央企创新负责人如何利用数智平台提升核心技术攻关与成果转化协同能力?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BBasic-Beats!

音乐节奏类游戏。 就像PSP中的Project DIVA、Android中的乐动舞指、ios中的节奏大师一样。 然而,我们忽略了一个重要的平台——BBasic。 于是乎、 历经N天的努力,基于BBasic平台的游戏Beats产生了! dimk,ctr,mok,mot,penx,peny,ctr,n,s1,s2,s3,s4,i1,hard,time,count,i2

hades's stack 894

Zemax实战:20×超高清变焦镜头设计全流程解析(从架构到制造)

本文详细解析了使用Zemax软件设计一款20倍变焦比、恒定F2.8光圈8K超高清镜头的全流程。从应对恒定光圈、宽光谱与8K解析力三大挑战的初始架构规划,到构建多重组态模型、分七阶段进行像差优化与公差分析,最终跨越制造鸿沟,为广播级影视与高精度工业检测应用提供了实战指南。

sun99的博客 551

408王道计算机组成原理强化——指令系统及大题解构

1.大纲要求 2.x86

JiangNan_1002的博客 8511

BBasic-Miku感谢祭倒计时2013

Miku总能激发'创作的灵感! 于是乎、 渐渐出构建基于BBaisc语言的Miku倒计时 。 语言:BBaisc。 UI:使用了Metro的磁块UI。 功能:输入日期将计算出当前日期距Miku演唱会的天数。 背景:使用标准的24位GB颜色。 设计构思: 源码草图:

hades's stack 862

保姆级拆解:HP 1312NF/CM1415打印机进纸离合器清洁与更换全记录(附B站/油管视频指路)

本文详细记录了HP 1312NF打印机进纸离合器故障的诊断与修复全过程,包括故障判断、工具准备、拆解步骤、清洁更换技巧及预防措施。特别针对离合器内部海绵老化粘连问题,提供了电工胶布和硬纸片两种实用替代方案,并附有B站/油管视频指路,帮助用户轻松完成打印机维修。

weixin_31102231的博客 374
上一篇: 学术休假-区号查询
下一篇: ARToolkit—让初音在你的键盘上跳舞
Hades_Dev
博客等级 码龄14年 542粉丝 306原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值