Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Need Help Quickly With Strings

Posted on 2002-07-26
11
Medium Priority
?
146 Views
Last Modified: 2010-05-18
Can anyone show me how I can iterate over each character in a string in VB?
0
Comment
Question by:derekl
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
  • 2
  • +1
11 Comments
 
LVL 4

Expert Comment

by:gencross
ID: 7180675

for x = 1 to len(sString)
    sChar = mid(sString,x,1)
next
0
 
LVL 4

Expert Comment

by:gencross
ID: 7180680
This code will return every charecter of a string, one at a time in sChar variable.

Let me know if I am off base.
0
 

Author Comment

by:derekl
ID: 7180681
I need sChar to be a byte or a long, not a string.  Is this possible?
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 4

Expert Comment

by:gencross
ID: 7180690
It is not a problem to change sChar to a long, as long as the data in the string is numeric.  However, if the data is numeric and you are looking at one charecter at a time it would make more sense to use an integer.  It will take up less memory.
0
 
LVL 4

Expert Comment

by:gencross
ID: 7180695
A Byte will work as well, and would probably be the best to use because of memory allocation.
0
 

Author Comment

by:derekl
ID: 7180697
The data is definitely non numeric.  What I really need is the ascii value of every character in the string be it a number or letter.
0
 
LVL 4

Accepted Solution

by:
gencross earned 400 total points
ID: 7180711
This should do it...

Dim bChar As Byte

For x = 1 To Len(sstring)
   bChar = Asc(Mid(sstring, x, 1))
Next
0
 
LVL 18

Expert Comment

by:mdougan
ID: 7180728
Dim sString

sString = "Hello World"

For x = 1 To Len(sString)
   Debug.Print Asc(Mid(sString, x, 1))
Next
0
 
LVL 18

Expert Comment

by:mdougan
ID: 7180732
rats... gencross beat me to it....
0
 

Author Comment

by:derekl
ID: 7180742
Thanks, you saved my life.  

You know as easy as VB makes working with COM components and stuff it makes this kind of problem equally hard.  At least for a recent convert from C++.
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 7180770
Any chance we can get you to close out some of your open questions:

Questions Asked 57
Last 10 Grades Given A B B A A A A A B A  
Question Grading Record 48 Answers Graded / 48 Answers Received

Thanks,
Anthony
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Suggested Courses

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question