Visual Basic是一种由 微软公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。这是一种可用于微软自家产品开发的语言。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建Active X控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
如何获取我的exe的启动路径(system. windows.forms.application.StartupPath)而不添加对system.windows.forms的引用? 你可以试试 System.AppDomain.CurrentDomain.BaseDirectory 这适用于大多数情况.
我正在使用LINQ查询将DataTable对象中的数据转换为自定义POCO对象的简单IEnumerable. 我的LINQ查询是: Dim dtMessages As DataTable '...dtMessages is instantiated ByRef in a helper data access routine... ' Dim qry = From dr As D
我最近注意到VB6中的CallByName关键字. 由于这需要一个对象,过程名称,“调用类型”和参数数组,这可以用来“伪造”某些类型的多态行为吗? 我可以创建2个类,A类和B类,每个类都使用相同的方法Foo,并执行: Dim list As New Collection Dim instanceA As New ClassA Dim instanceB As New ClassB Dim curr
是否有与VB6的Choose()函数相当的C#? day = Choose(month,31,28,30) 并不是的.您当然可以使用其索引的getter创建一个数组: day = new[] { 31, 28, 30 }[month]; 或者,您可以 – 我不会 – 导入Microsoft.VisualBasic命名空间并执行: day = Interaction.Choose(month, 31
基本上我有一个网络服务,我试图把某种用法登录. 为此,我创建了一个带有日志记录方法的类. 我在服务上实例化类,然后在每个Web方法中调用日志记录方法. 我试图找到一种方法来获取调用loggong方法的方法的名称 Public sub tstmethod log_object.log_method end sub 在这种情况下,我正在寻找的返回名称是“tstmethod” 我见过的所有地方都说要么使
如何为可选参数指定默认的Date Time(Now)值. 将now对象分配给可选参数时,会引发错误 Constant expression is required 码: Public Sub ReminderMail(Optional ByVal ReminderMailDate As DateTime = Now) // Code Block End Sub 试试这个 : Public Su
我有一些字符串(文件路径),有时在其中随机放置换行符(CRLF),我必须删除.我该怎么做呢? 看看 Replace(..)的功能. someVariable = Replace(someVariable, vbNewLine, "")
我不需要这个声明,因为它只会使我的代码变得庞大且难以理解. 有没有办法让Visual Studio(VS)不自动添加它.每次我删除它,它都会被VS添加回来. Function DoStuff(Tom As String) 不 Function DoStuff(ByVal Tom As String) 在工具/选项/文本编辑器/基本/ VB特定/漂亮列表(重新格式化)代码中关闭相当格式化.
如何在 VB.NET中创建可为空的数字可选参数? 编辑:根据 this blog post,这应该可以在VB.NET 10中使用.如果您正在使用它,那么您可以: Public Sub DoSomething(Optional ByVal someInteger As Integer? = Nothing) Console.WriteLine("Result: {0} - {1}", som
我的数据库中有一堆网页内容,链接如下: <a href="/11ecfdc5-d28d-4121-b1c9-1f898ac0b72e">Link</a> Guid唯一标识符是同一数据库中另一个页面的ID. 我想抓取这些页面并检查链接是否损坏. 为此,我需要一个可以返回页面上所有Guid列表的函数: Function FindGuids(ByVal Text As String) As Colle
我遇到了一个有趣的案例,其中pass-by-reference似乎在VB.NET中不起作用.我在下面提供了一些示例代码供大家使用.任何人都可以解释这种现象这是预期的,还是语言/编译器的错误? 我在这段代码中看到的是“After Increment”读数与“Before Increment”读数相同. Public Class Wrapper Public Property Value As
现在,datagridView标题背景颜色以灰色显示.我想改成差异 颜色. 我在ColumnHeaderDefaultCellStyle中更改了背景颜色,但没有任何改变. 这该怎么做. 在datagridView中,您可以使用 DataGridViewCellStyle更改标题颜色,请参阅以下代码 ' Set the selection background color for all the c
在回答这个问题之前,要明白我并不是在问如何创建自己的编程语言,我想知道如何使用vb.net代码为vb.net本身的语言创建编译器.基本上,用户输入代码,他们获得.exe.通过NO MEANS我想写自己的语言,因为这里似乎有其他与编译器相关的问题.我也不想使用vb.net编译器本身,也不想复制IDE. 我想要做的事情的确切目的是很难解释,但我需要的只是在编写编译器(如果可能的话,从头开始)的正确方向
我是开发 Windows手机应用程序的新手.现在我正在用T9键盘创建一个文本信使应用程序,我已经设计了像按钮一样的设计.现在我想要的是如何获得字符串中的最后一个字符?字符串示例为“clyde”,如何从该字符串中获取char’e’? 我使用Visual Basic作为语言. 更新:现在工作了,我使用了这段代码: string s = "clyde"; char e = s(s.Length-1);
我的问题基本上就是如何结束使用excel时运行的Excel.exe进程.在应用程序中,我打开并使用带有几张纸的excel工作簿,然后将它们留给用户随意使用,我的问题是我的应用程序永远不会放弃Excel流程. 如果在关闭excel之前关闭了应用程序,则关闭excel时进程结束,否则如果在关闭excel后关闭我的应用程序,则该进程将继续运行. 我已经尝试了一些我在互联网上发现的与GC.collect有
我需要将一些代码注入到现有的VB6应用程序中. 我想要做的是在几百个vb6文件的每个方法的顶部添加日志记录代码,使用值记录方法名称和参数. 编写代码很容易,但我在苦苦挣扎的是VB6语法中的方法或属性头的匹配,因为似乎有大量的变体和可选的关键字. 有没有人有任何关于如何实现这一目标的建议? 我已经尝试过使用RegEx并且失败了,并且已经使用代码化代码并寻找令牌模式. 将它编写为VB6插件可能更容易,
我需要验证一个字符串,它可能包含字母数字和特殊字符,因为我必须传递只有Alpha字符的字符串(不允许使用数字或任何其他特殊字符) 在当前的方法中,我使用ASCII数字来评估每个字符是否为alpha.有没有其他有效的方法来发现字符串中是否存在特殊字符或数字?就像我们不能使用Like或者其他东西来检查一次而不是逐字逐句? For y = 2 To Len(sString) If Not ((A
VBScript和VB.NET的语法是否完全相同? 具体来说,VB.NET的语法分析器是否适用于VBScript? 不,他们不一样. vb.net是一种在.net框架上运行的jit编译的强类型面向对象语言; vbscript被解释.语法在许多细微方面都有所不同,主要与范围和vb.net所需的关键字相关,以支持vbscript所不具备的真正的面向对象概念.
我已经编写了一个算法,我认为使用Eratosthenes的Sieve来计算高达n的素数是正确的.不幸的是,这个程序依赖于非常大的n值(尝试1000万).这是我写的…… Protected Function Eratosthenes(ByVal n As Integer) As String Dim maxValue As Integer = Math.Sqrt(n) Dim val
有没有办法在列表中选择未包含在另一个中的项目?例如: list1 = From t In list1 Where Not list2.Contains(t.column1) 这给了我错误: Value of type 'Integer' cannot be converted to '<anonymous type>' 这是有道理的,因为list2.Contains期望与list2相同的类型.但是
我有用VB 2010编写的 Windows应用程序.在这里,用户可以从打开的对话框中选择任何文件.所以,我想在相应的应用程序中打开文件.例如,假设用户选择docx文件,那么我必须使用msword打开文件,假设,如果是pdf文件,那么我必须使用adobe reader或可用的pdf阅读器(默认应用程序)打开. 这可能吗? 试试这个: 现在用openfiledialog Dim OpenFileDlg
For Each Dr As DataRow In InvoiceDT.Rows Dim DrResult As Array = PaymentInvoiceDT.Select("Amount='" & Dr("Amount").ToString() & "'") If DrResult.Length > 0 Then ''some code Else
在VB.NET中,使用Property关键字而不是: Private MyProperty as String Public Sub setP(ByVal s as String) MyProperty = s End Function Public Function getP() as String return MyProperty End Function 来自Java我倾向
我想我可能在这里使用了Using语句错误.写这个更好的方法是什么? Dim x As New Serialization.XmlSerializer( ... ) Using file As New FileStream(myFile, FileMode.Create) Using writer As XmlWriter = XmlTextWriter.Create(file)
我在将 XML文档反序列化为对象时收到错误消息. 怎么解决这个问题? There is an error in XML document (5, 14) 这是XML文档: <?xml version="1.0"?> <Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org
在.NET中捕获异常时,您可以根据需要拥有尽可能多的特定于类型的异常块.但我通常会尝试至少有一个“常规”异常catch块.但有没有办法获得抛出通用异常处理程序捕获的“真正”异常的类型,也许使用反射? 例如,如果我有 Catch ex As System.ServiceModel.FaultException(Of InvalidUser) ProcessModuleLoadExcepti
我需要大致杀死一个应用程序,这样我就可以在我的数据库中获得该应用程序的幻像订阅者(这不能通过关闭应用程序来生成).手动,如果我们从任务管理器中删除应用程序,幻像用户将存在.现在我需要在VB 6代码中自动完成.救命!谢谢. 有两种方法: 1.如果WM_CLOSE有一个窗口(隐藏/可见),则将WM_CLOSE发送到目标应用程序.任务管理器的“结束任务”使用此方法.大多数应用程序处理WM_CLOSE并正
我在一些VB6代码中得到奇怪的结果,我已经缩小到这个: Debug.Print Hex(&hEDB80000 + &h8300) 显示EDB78300 这不可能是正确的吗?当然应该是EDB88300? 我疯了吗? 不要忘记 negative numbers are expressed in binary,VB6和VB.NET如何解释和& h8300这样的数字不同. 因为& hEDB80000不适合
我有以下子: Private Sub Watcher_Changed(ByVal sender As System.Object, ByVal e As FileSystemEventArgs) If Path.GetExtension(e.Name) = ".p2p" Then Exit Sub Else Try
这是在3中找到最大值的代码,但我想找到最大值的代码5: Dim a, b, c As Integer a = InputBox("enter 1st no.") b = InputBox("enter 2nd no.") c = InputBox("enter 3rd no.") If a > b Then If a > c Then MsgBox("A is