|
Notorious SMC wrote:
Dim a, b as string
a = b.Clone()
b = "123"
are you sure this is the code ?
or this :
Dim a, b as string<br />
b = "123"<br />
a = b.Clone()
|
|
|
|
|
Try creating a class with a string property.
α.γεεκ Fortune passes everywhere. Duke Leto Atreides
|
|
|
|
|
I know what your thinking with Clone on a string. Your getting a pointer that another string variable can be set with so two variables can point to the same memory location. You right, that's how it works! BUT! What you don't know is that in the .NET framework, STRINGS ARE IMMUTABLE. That means that once a string is created, you CANNOT modify it at all!
How is this possible? You can do Search and Replace and change the value of, in your example, 'b'! Your right, you can! What you don't see is that when you change the value of 'b', your actually creating another string in memory and changing the 'b' pointer to look at the new string. 'a' is still looking at the old one and will NOT follow 'b' around. The same is true for replacing a character in the string. You are actually creating a new string (note that 'String <string>.Replace(char,char)' actually returns a String!) and dumping the old one!
The code you wrote is correct, the functionality you want is impossible in .NET, unless you want to go thru the hassle of writing your own String Class.
|
|
|
|
|
Yep, that's exactly what I wanted to do, though i figured out the string immutability thing after countless reference books later. But thanks for the reply.
This limitation of .net makes me long for those good old C++ days
Notorious SMC
The difference between the almost-right word & the right word is a really large matter - it's the difference between the lightning bug and the Lightning
Mark Twain
Get your facts first, and then you can distort them as much as you please
Mark Twain
|
|
|
|
|
I have never programmed with VB before. I want to write a VBScript Macro that will read an xml file and add the entries inside it to my .dsp project file. How do I go about this?
|
|
|
|
|
I've been trying to create a windows service using Vb.Net that scans an MSMQ, browses to the url's posted in the queue and then prints the web pages.
I have created a VB component that does all of this using the WebBrowser control. The component works fine in a Windows Application but when I try to port it to my Windows Service it does not work.
I don't get any of the events firing such as the NavigateComplete2 and DocumentComplete.
Can anyone help?
|
|
|
|
|
Hi,
I want to write a function that will search any given folder and all its' subfolders and return any files that have a date modified later than a certain date.
Looking at System.IO Namespace, but can't find anything.
Any ideas?
Graham
|
|
|
|
|
look for the fSO object
Dim fso As New FileSystemObject, fil As File
Set fil = fso.GetFile("c:\detlog.txt") ' Get a File object to query.
Debug.Print "File last modified: "; fil.DateLastModified ' Print info
|
|
|
|
|
Thanks for this Chris, but I'm using vb.net and want to keep it as ".net" as possible.
Instead of searching, I'm now using the system.io.fileinfo class and iterating through the files and examining their attributes.
Graham
|
|
|
|
|
Both the FileInfo and DirectoryInfo classes inherit from FileSystemInfo , which has the properties you need. For example, LastWriteTime is the modified date/time. Just off the top of my head:
Imports System.IO
Imports System.Collections
...
Public Shared Function Search(ByVal folder As String, ByVal minDate As Date) As FileInfo()
Dim files As New ArrayList()
Dim folderEntry As New DirectoryInfo(folder)
SearchInternal(folderEntry, files, minDate)
Return DirectCast(files.ToArray(GetType(FileInfo)), FileInfo())
End Function
Private Shared Sub SearchInternal(ByVal folder As DirectoryInfo, ByVal files As ArrayList, ByVal minDate As Date)
If folder.Exists Then
' List the files in the current directory
Dim file As FileInfo
For Each file In folder.GetFiles()
If file.LastWriteTime > minDate Then
files.Add(file)
End If
Next
' Search the subdirectories
Dim subfolder As DirectoryInfo
For Each subfolder In folder.GetDirectories()
SearchInternal(subfolder, files, minDate)
Next
End If
End Sub
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
|
|
|
|
|
What is the equivalent of vbcrlf in vb.net
|
|
|
|
|
try :
\n\r in the string this works in C#
|
|
|
|
|
VBCRLF works in .net too
Notorious SMC
The difference between the almost-right word & the right word is a really large matter - it's the difference between the lightning bug and the Lightning
Mark Twain
Get your facts first, and then you can distort them as much as you please
Mark Twain
|
|
|
|
|
I've never programmed Visual Basic so.... Why do I see all these quotes on the bottom of people's post dissin' on VB?
/\ |_ E X E GG
|
|
|
|
|
ParseException: The two elements in your post "I've never programmed Visual Basic" and "Why do I see all these quotes on the bottom of people's post dissin' on VB?" are not related.
Hope this helps
|
|
|
|
|
i've never programmed it so.... i wouldn't know why it would suck... so???
/\ |_ E X E GG
|
|
|
|
|
At some point you have to debug this exception. You can't just keep ingoring it. Deep down though I realise it's an essential part of the program flow however.
|
|
|
|
|
Posting this question, on this board, is a troll.
I could tell you why I don't like VB, but I won't on this board, because I think that would just be rude. Ask in the soapbox, and I'd be happy to elaborate.
Christian
NO MATTER HOW MUCH BIG IS THE WORD SIZE ,THE DATA MUCT BE TRANSPORTED INTO THE CPU. - Vinod Sharma
Anonymous wrote:
OK. I read a c++ book. Or...a bit of it anyway. I'm sick of that evil looking console window.
I think you are a good candidate for Visual Basic. - Nemanja Trifunovic
|
|
|
|
|
Hi,
I need to write a generic function which,
a) accepts a collection object
b) determines the type of a single object (i.e. collection of what type)
c) instantiate an object of the type found in step b (using reflection maybe)
Here is the function declaration,
Function GetNewSingleObject(ByVal colObjectCollection as Collection) As Object
My question is how do I determine the type of a single object (step b).
Any thoughts?
Appreciate your help.
Thanks.
Vidvan
|
|
|
|
|
Is it to be assumed that every member of the collection is of the same type? The supplied framework collections objects make no such assumption.
If so, check the first member and use the GetType()[^] method derived from the object base class. From there you can use reflection to instanciate a new object.
α.γεεκ Fortune passes everywhere. Duke Leto Atreides
|
|
|
|
|
use the function TypeName
|
|
|
|
|
I am having a problem where I am importing/exporting rows from one database into another and there are approximately 500 rows with data. The user clicks on a button to import and the form sticks up until such time as the processing completes (import/export all rows) which takes like a minute. The processing goes through a couple tables to get data for the processing and takes too long (like 1 - 2 minutes) and all the forms stick up while processing. Any suggestions for improving having some sort of progress bar/ preventing the forms from sticking on this would be greatly appreciated! I am using recordset queries to get data to do all the comparisons etc. for import/export..
|
|
|
|
|
Hi,,
as you are using recordsets to transfer data you can use Doevents function before each call to MoveNext ..
this gives the form the ability to process messages (Events)
using a progress bar is a good idea..
|
|
|
|
|
Thanks!! That has definitely helped!!
|
|
|
|
|
I've been looking for how to get my hands on the command line arguments (argv, argc, in C/C++) in a VB app. I've searched MSDN and all my VB books and just can't find anything. I'm sure it's something very simple , but I'm not having any luck on my own. Help please?
Thanks, Dave
QRZ? de WAØTTN
|
|
|
|