Compiler - How Does For Loop Work In VB
Apr 13, 2009I though that I know this one... This simple For loop:
[code]...
I though that I know this one... This simple For loop:
[code]...
I've tried these two blocks but it returns the same value. I do not describe more, I simply just show the code:
Dim f As Nullable(Of Integer)
If f = 1 Then
Console.WriteLine("Equal")
[Code]....
It works in C# correctly...
which compiler errors would be detected out by VB compiler?
I have searched out some compiler errors list for C#, for example, see the website at [URL]
MS provided us the information about C# compiler error. Does MS provide VB compiler errors information as well.VS
Imports System.CodeDom.Compiler
Public Class iCompiler
Public Shared Sub GenerateExecutable(ByVal Output As String, ByVal Source As String, ByVal Icon As String)[code].....
VB.NET While 1 = 1
Dim localRecv As New StreamReader(localClient.GetStream)
Dim aString As String = localRecv.ReadLine
localRecv.Peek()
MsgBox(aString)
End While
Basically "aString" will keep updating if new data arrives to the server. This way does work, and keeps MsgBoxing every time I get new data, but I don't wanna use While, I need something else, because It won't run any other code, just keeps looping that. :/
I can use the below code snippet to clear the text from each textbox on a form.
For Each ctl As Control In Me.Controls
If TypeOf ctl Is TextBox Then
ctl.Text = ""
End If
Next
But if I want to use it to ensure that all radiobuttons in a group of radio buttons are unchecked then it doesn't work i.e.
For Each ctl As Control In Me.Controls
If TypeOf ctl Is RadioButton Then
ctl.checked = false
End If
Next
I'm assuming it is because the checked property is not common to all controls.
I am calling a Fortran dll from vb.net. It works when I call it it one time only. When I put that in a loop, it works for the first time and second time it quits the program. How can I run this in a loop?
View 4 RepliesI created this ASP.NET Web application and I can't get the amoritization table(MonthlyPaymentBox) to loop correctly. I think the problem is somehow in my code I am setting the TotalLoan = 0, but I just can't locate where that is happening. I assume this because instead of of starting the current balance at the users input, it starts at 0.
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 TransitionalEN" "http:www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
[code].....
I tried so many times to convert this to DO UNTIL LOOP unfortunately it does not work properly can you help me?
Heres: the code
CODE:
Basically what i need is for something to look at the items in a list box then compare it to the contents that is in the database. The issue is that the listbox can have more than one of the same item. For instance, LstBox_Order.items(0) could be the same at any position in the listbox. This code works, but it is slow if there is like 10 or more items added.
[Code]...
My loop that needs to count and accumulate the numbers from a list box does not work. When I debug it reads the first line of the Do While loop then jumps to the code where it would average the numbers. Here is my code:
'calculate average
'get first item in list box
lstListBox.SelectedIndex = 0
[Code].....
Public Class MortgageDetailsCalculatorForm
Private Sub CalculateButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalculateButton.Click
[code].....
I have two textboxes (TB01 and TB02) and one button (Button1).Then i have written the following [code]I made a loop to get each line and append them to TB02. The strings should be split in three parts (cutt off at the |) so i can later recall them. However it just wont work. I played around a bit but just cant get it to work.
View 7 RepliesI have this code below that I called a Conversion Wizard Because it converts temperature, weight and currency. It works so far but I am stuck. I don't know how to apply the correct loops to it. For example, Do While and Do Until. I want it to be able to work out a conversion then loop back to the Menu-options. So that you can do as many conversions as you like and end when option 4 is selected.
Option Explicit On
Module ConversionWizard
Sub Main()
Dim userOption As Integer
Dim farenHeight As Integer
[Code] .....
This error first appear to occur randomly. Steps to recreate:Open Visual Studio and load a solution (some files automatically opened) - this is when the problem occurs Close all open files Restart visual studio and load solution (no issues)Open Exactly the same files again, restart visual studio and load solution so files open automatically (problem occurs!)
However, when trying to narrow it down to a single file (that is automatically opened when the solution is loaded), I couldn't reproduce the problem. Now with all the files open again the problem doesn't occur!!! So it looks like it is fixed - though this happened before and eventually the issue came back.
I think it is to do with one of the user controls with DevExpress controls on it - when the error occurs, the designer displays the error. Though I can't reproduce it at the moment to confirm that.
I'm pulling data from my DB, adding it to a DataTable and binding that DataTable to my DataGridView. Before I bind the data, I need to change/remove some data. When I loop through the rows and use a Select Case, just for this column, it doesn't work. But if I use an If, it works fine. [Code] In the example above, the "Pass_Flag" row works just fine, but the "FailureCD" does not. But after the Select, with the If statement, it works. In the example, I'm casting the row as a string first and then an integer. I tried casting to an integer in the select case and it doesn't work either.
View 4 RepliesIf I look at the IL that is created in Linqpad for the two following code snippets, I wonder what happens here.
In c#
int i = 42;
results in the following IL code
IL_0000: ret
whereas in VB
Dim i As Integer = 42
it is
IL_0000: ldc.i4.s 2A
IL_0002: stloc.0
Apparently, the c# compiler understands the the value is never used and thus simply returns nothing. In VB.NET the actual code is translated.Is that due to differences in compiler optimization or is there anything else at work?
Update: Just to clarify this - I just enter this one line into LinqPad and look at the IL it creates (most definitely by running the respective compiler). There is no program.
Makes the following statement about the code below:
**"The computer evaluates the loop condition in the Do...Loop statment to determine whether the loop instructions should be processed. In this case, the inputsales <> String.Empty condition compares the contenst of the input sales variable to the String.Empty value. As you know the String.Empty value represents a zero length, or empty, string if the inputsales variable is empty, the loop condition evaluates to True and the computer process the loop instructions. *If on the other hand the inputsales variable is not empty, the loop condition evaluates to false and the computer skips over the loop instructions.
Based on the code I think it is the opposite: ...that while the inputsales value is not empty it should evaluate to true and process the loop and if it is empty it should evaluate to false and skip the loop?
See below.
Option Explicit On
Option Strict On
Imports System.Globalization
[CODE]...
1) is vb6 is interpreter based languge or compiler based or both interpreter and compiler based language?
2) is VB.Net interpreter based languge or compiler based or both interpreter and compiler based language?
3) if any of above mentioned is both interpreter and compiler based so tell me please when it compiles and when it interprets?
how to create my own programming language,I can create a compiler for a language like vb.net itself. Essentially, the user inputs code, they get a .exe. By NO MEANS do I want to write my own language, as it seems other compiler related questions on here have asked. I also do not want to use the vb.net compiler itself, nor do I wish to duplicate the IDE.
The exact purpose of what I wish to do is rather hard to explain, but all I need is a nudge in the right direction for writing a compiler (from scratch if possible) which can simply take input and create a .exe. I have opened .exe files as plain text before (my own programs) to see if I could derive some meaning from what I assumed would be human readable text, yet I was obviously sorely disappointed to see the random ascii, though it is understandable why this is all I found.
I know that a .exe file is simply lines of code, being parsed by the computer it is on, but my question here really boils down to this: What code makes up a .exe? How could I go about making one in a plain text editor if I wanted to? (No, I do not want to do that, but if I understand the process my goals will be much easier to achieve.) What makes an executable file an executable file? Where does the logic of the code fit in?
This is intended to be a programming question as opposed to a computer question, which is why I did not post it on SuperUser. I know plenty of information about the System.IO namespace, so I know how to create a file and write to it, I simply do not know what exactly I would be placing inside this file to get it to work as an executable file.
I am underway to develop a VB.Net compiler using visual studio 2005, but so far I am not aware on how to go about, regarding to what are the key requirements or skills required for developing a compiler.
View 3 RepliesHow can i make my own compiler ?
View 5 RepliesI have a program using vs 2008 (as 3.5) and code in vb. The site has been running nicely for 3 years, but suddenly the error message has come: BC 30451 Name 'class 2' is not defined. Call Class2.open_connection(cn, Session("datapath")) But in my local computer and in the site server the particular line mentions class1 only and not class 2!
View 5 RepliesI am running visual studio 2008 with SP1 installed. I have a solution which has 7 projects. One of the vb files (which has some 15000 lines) is freezing the visual studio and when i close the studio it shows the visual basic compilation error. I have tested the solution in other workstations and it is running fine. I tried repairing visual studio and i tried reparing 3.5 sp1.
View 1 RepliesI downloaded Microsoft Visual Basic 2010 Express and I can produce programs using it, but I'm interested in using another editor.I searched the web for the compiler and apparentely it's called "vbc.exe", but I don't seem to find it in my machine.I'm supicious that it only comes with the non-Express version.
View 5 RepliesThe compiler gives me 3 errors:Errors building F:#DprojectsucctLOCUST 2 Server GenucctLOCUST 2 Server Geni
nDebugServer.vb into C:UsersPat'sDesktopserver.exe
vbc : (0,0) : error BC30420: 'Sub Main' was not found in 'Form1'.
F:#DprojectsucctLOCUST 2 Server GenucctLOCUST 2 Server GeninDebugServer
.vb(97,0) : error BC30456: 'Count' is not a member of 'System.Array'.
F:#DprojectsucctLOCUST 2 Server GenucctLOCUST 2 Server GeninDebugServer
[Code]...
Consider this
bar = 1
foo = <1 or 2, depending on previous code>
if foo=1
while bar <= 5
[code].....
What I want to know is, is the compiler smart enough to optimize away the (apparently) repeated tests for "foo = 1" since foo is not modified in the body of the loop?If so, I might use the second construct since it is semantically equivalent (I think!), takes less code and reduces indentation levels.
Trying to intergrate the closure compiler service into one of my applications and having some issues.Error being returned is "(413) Request Entity Too Large." Sounds reasonable but I know for a fact the service accepts files larger then the one I am sending it.
Private _HttpWebRequest As HttpWebRequest
Private _Result As StringBuilder
Private Const ClosureWebServiceURL As String = "http://closure-compiler.appspot.com/compile?output_format=xml&output_info=compiled_code"
[code]....
I'm using a LINQ query to translate data inside a DataTable object to be a simple IEnumerable of a custom POCO object.
My LINQ query is:
Dim dtMessages As DataTable
'...dtMessages is instantiated ByRef in a helper data access routine... '
Dim qry = From dr As DataRow In dtMessages.Rows
[code]....
However, the compiler is throwing a warning message under dr As DataRow with the message: Option Strict On disallows implicit conversions from 'Object' to 'System.Data.DataRow'.Why am I getting this error and what do I need to do to fix it? I would have thought that dtMessages.Rows returned a collection of type DataRow. Is this not correct?
I've found a difference in overload resolution between the C# and the VB-compiler. I'm not sure if it's an error or by design:
[Code]...