Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Help with VBSCRIPT pretty simple for you all i am sure.

Status
Not open for further replies.

Richtoss

IS-IT--Management
Oct 7, 2008
6
US
Richtoss (IS/IT--Management) Oct 7, 2008
I am struggeling on how to write a simple script. Here is a line of information.

0150000103600000000000000002000000000000000000200001text
information ODD 2000 025252552
000000000000000002000001test email adderss
000000000000000100300JA511515770000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000


What I would like to write a VB script to do is go read through a file and every time it sees a line that starts with 0150000103 then to read across that line and replace a selected character. For example if I find 0150000103 then in that line find character 255 and what ever it is replace it with a value. I also want that value to count up by one for each occurance. I have been able to think of a few ways that get me close but cant quite find the correct answer any help is appreciated.
 
What have you tried so far and where in your code are you stuck ?

Hope This Helps, PH.
FAQ219-2884
FAQ181-2886
 
The part that I am stuck on is not even the coding yet, but the how too. I can search through the file and find each line that has the beginning text, but how do I tell it to replace the character found at position x with a value that is increasing for each instance that is found.
 
Have a look at the Left and Mid functions:
newLine = Left(oldLine, 254) & newValue & Mid(oldLine, 256)
newValue = newValue + 1

Hope This Helps, PH.
FAQ219-2884
FAQ181-2886
 
Richtoss:

> ...in that line find character 255 and what ever it is replace it with a value. I also want that value to count up by one for each occurance

Works good as long as the count is one digit. What happens after the 10th occurrence?
 
Do Until myNewTextFile.AtEndofStream
If Trim(Mid(LineCheck, 1, 10)) <> "0150000103" Then
NextLine = myNewTextFile.ReadLine
If Trim(Mid(NextLine, 1, 10)) = "0150000103" Then NextLine = Left(nextline, 254)& newValue & Mid(nextline, 256)
newValue = newValue + 1
msgbox nextline
NextLine=myNewTextFile.ReadLine
End If
End If
Loop

How do I actualy get it to put the new values in the file. I understand the statement about what if it is more than 1 digit and I can just make it like a 4 digit field which should work as well.
I can get it to return the values I want in a message box but they do not write to the file.

THanks
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top