Classic ASP String Manipulation - NOT .net

Discussion in 'ASP .Net Web Services' started by James, Feb 15, 2006.

1. JamesGuest

Good Evening,

I would like to insert a 5 letter word into a 100 letter string, but only 1
letter at a time, and each letter separated by 10 characters!!! Using
Alpha characters only, no numbers or punctuation in either string. The
first letter needs to use the DAY OF THE MONTH number as its insertion
point...

So the string HELLO would be inserted on the 15th day of the month as
follows:

H inserted after character 14 of the 100 letter string
E inserted after character 24 of the 100 letter string
L inserted after character 34 of the 100 letter string
L inserted after character 44 of the 100 letter string
O inserted after character 54 of the 100 letter string

The final string will therefore be 105 characters in length! It's to help
design a children's maze puzzle on a fun and games web site.

James.
(PS - could not find any classic ASP groups, sorry)

James, Feb 15, 2006

2. Darren KoppGuest

I don't remember a whole lot about ASP... but i would guess something
with the following pseudocode would work

1. create character array of 105 characters
1.1 initialize array of characters to all spaces (' ')
2. get what day of month today is (ie 15, or 10, or 8)
3. chararray[dayofmonth] = 'h'
4. chararray[dayofmonth+10] = 'e'
5. chararray[dayofmonth+20] = 'l'
6. chararray[dayofmonth+30] = 'l'
7. chararray[dayofmonth+40] = 'o'

i think vb addresses arrays with () notation (so chararray(dayofmonth)
= 'h'), and dayofmonth would be an integer value with whatever the
current day is.

Hope this helps you get started, if you need more help e-mail me at
darrenkopp [at] gmail [dot] com and i will dig into some ol' ASP and
refresh my brain.

-Darren Kopp
http://blog.secudocs.com

Darren Kopp, Feb 15, 2006

3. Juan T. LlibreGuest

re:
> (PS - could not find any classic ASP groups, sorry)

Try posting to microsoft.public.inetserver.asp.general

Juan T. Llibre, asp.net MVP
aspnetfaq.com : http://www.aspnetfaq.com/
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en espaĆ±ol : http://asp.net.do/foros/
===================================
"James" <> wrote in message news:H9KIf.8372\$...
> Good Evening,
>
> I would like to insert a 5 letter word into a 100 letter string, but only 1 letter at a time, and
> each letter separated by 10 characters!!! Using Alpha characters only, no numbers or
> punctuation in either string. The first letter needs to use the DAY OF THE MONTH number as its
> insertion point...
>
> So the string HELLO would be inserted on the 15th day of the month as follows:
>
> H inserted after character 14 of the 100 letter string
> E inserted after character 24 of the 100 letter string
> L inserted after character 34 of the 100 letter string
> L inserted after character 44 of the 100 letter string
> O inserted after character 54 of the 100 letter string
>
> The final string will therefore be 105 characters in length! It's to help design a children's
> maze puzzle on a fun and games web site.
>
>
> James.
> (PS - could not find any classic ASP groups, sorry)
>

Juan T. Llibre, Feb 15, 2006
4. Bob Barrows [MVP]Guest

James wrote:
> Good Evening,
>
> I would like to insert a 5 letter word into a 100 letter string, but
> only 1 letter at a time, and each letter separated by 10
> characters!!! Using Alpha characters only, no numbers or
> punctuation in either string. The first letter needs to use the DAY
> OF THE MONTH number as its insertion point...
>
> So the string HELLO would be inserted on the 15th day of the month as
> follows:
>
> H inserted after character 14 of the 100 letter string
> E inserted after character 24 of the 100 letter string

Should this be "character 24" of the original 100 letter string?
Or character 24 of the new string formed in step 1?
I will assume the former

<snip>
> (PS - could not find any classic ASP groups, sorry)

As Juan said: microsoft.public.inetserver.asp.general

Something like this:

<html><body style="font-family:courier"></body></html>
<%
dim s, j,k
for k = 0 to 9
for j = 1 to 9
s = s & j
next
s = s & "0"
next
Response.Write s & "<BR>"

response.write newstring("HELLO", s)

function newstring(insert, bigstring)
dim start, i, tmp, offset
start=day(date)
tmp=left(bigstring,(start-1))
bigstring = mid(bigstring,start)
for i = 1 to len(insert)-1
offset=10 * (i - 1)
tmp= tmp & mid(insert,i,1) & _
left(bigstring,9)
bigstring = mid(bigstring,10)
next
newstring = tmp & bigstring
end function
%>

HTH,
Bob Barrows
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.

Bob Barrows [MVP], Feb 15, 2006
5. Bob Barrows [MVP]Guest

Bob Barrows [MVP] wrote:
> James wrote:
>> Good Evening,
>>
>> I would like to insert a 5 letter word into a 100 letter string, but
>> only 1 letter at a time, and each letter separated by 10
>> characters!!! Using Alpha characters only, no numbers or
>> punctuation in either string. The first letter needs to use the DAY
>> OF THE MONTH number as its insertion point...
>>
>> So the string HELLO would be inserted on the 15th day of the month as
>> follows:
>>
>> H inserted after character 14 of the 100 letter string
>> E inserted after character 24 of the 100 letter string

>
> Should this be "character 24" of the original 100 letter string?
> Or character 24 of the new string formed in step 1?
> I will assume the former
>
> <snip>

Since it uses an array, this may perform better:
<html><body style="font-family:courier"></body></html>
<%
dim s, j,k
for k = 0 to 9
for j = 1 to 9
s = s & j
next
s = s & "0"
next
Response.Write s & "<BR>"

response.write InsString("HELLO", s)

function InsString(insert,byval bigstring)
dim arString(), i
redim arString(2*len(insert))
for i = 1 to len(insert)
arString(2*i-1)=mid(insert,i,1)
next
dim start, offset
start=day(date)
arString(0)= left(bigstring,start-1)
offset = 0
for i = 2 to ubound(arString) - 2 step 2
offset = 9*i\2 - 9
arString(i) = mid(bigstring,start+offset,9)
next
arString(ubound(arString)) = mid(bigstring,start+offset +9)
InsString=join(arString,"")
end function
%>

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.

Bob Barrows [MVP], Feb 15, 2006
6. Darren KoppGuest

I'm glad i just wrote some pseudocode ... though i'm still not sure
if my pseudocode is what you did or not... it's been a long day.

-darren

Darren Kopp, Feb 16, 2006
7. Bob Barrows [MVP]Guest

Darren Kopp wrote:
> I'm glad i just wrote some pseudocode ... though i'm still not sure
> if my pseudocode is what you did or not... it's been a long day.
>

No, it's a little different, but your post did give me the idea.
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.

Bob Barrows [MVP], Feb 16, 2006