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

x
?
Solved

Textstream - adding new lines, tabs, etc.

Posted on 2004-10-16
5
Medium Priority
?
350 Views
Last Modified: 2012-08-14
I create a textstream in my ASP page and read in a text file. In this text file is an email confirmation standard message, with also the text #ORDERINFO# in it somewhere. What I do once I have read in the text file is to loop through the order info then build a piece of text named orderstxt which has the order details in it. I then replace #ORDERINFO# with orderstxt. The problem is building orderstxt because I can't figure out how to add newlines, tabs, etc.

For example...

For i=0 to ubound(CCcart,2)
      if CCcart(CC_PRODUCTID,i) <> "" then
            orderstxt = orderstxt & "\n " & CCcart(CC_ProductID,i)
      end if
Next

...just puts "\n " into the text instead of creating a newline. Should I be using ASCII characters? I don't understand if what I'm reading in is ASCII, Unicode, etc.
0
Comment
Question by:ma701sss
[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
  • 3
  • 2
5 Comments
 
LVL 12

Expert Comment

by:minichicken
ID: 12327835
Where are you adding orderstxt to? To the DB or output it to a browser or to a plain text file?

Can you provide an exmaple, of the input and the output.... thanks

Are you looking for a string replace function like this (from w3school):

dim txt
txt="This is a beautiful day!"

document.write(Replace(txt,"beautiful","horrible"))

Output:This is a horrible day!
0
 

Author Comment

by:ma701sss
ID: 12327908
My text file has this in it:

<--BEGIN-->
Thanks for your order!

We have pleasure in confirming your order below.

#ORDERINFO#

Please allow 2 to 3 days for your order to arrive.
<--END-->

I then read in to a textstream the text file above. I then want to take the items ordered from the shopping cart and loop through them, adding newline and tab characters, and placing them into the variable orderstxt. The text in #ORDERINFO# is then replaced with orderstxt. I then take the textstream and use it as the body in a CDONTS message, and email it to the customer.
0
 
LVL 12

Accepted Solution

by:
minichicken earned 200 total points
ID: 12327918
If it's going into the DB then I would recommend use of ASCII - chr(13) for "ENTER or New line" and chr(9) for "TAB"

For i=0 to ubound(CCcart,2)
     if CCcart(CC_PRODUCTID,i) <> "" then
          orderstxt = orderstxt & chr(13) & CCcart(CC_ProductID,i)
     end if
Next

When you want to retrive it from the DB and display with the new lines and tabs
you will need to use the Replace function

e.g. Replace(orderstxt_from_db, chr(13), "<br>") 'this replaces "ENTER" with line break in HTML

regards-
0
 
LVL 12

Expert Comment

by:minichicken
ID: 12327968
Oh ok...

Now, I understand, I think.....

If your email body is PLAIN TEXT then you will use "\n" and If your email body is HTML then you will need to use "<br>" for "new line".
For TAB, you can use "\t" in PLAIN TEXT but don't think there is TAB in HTML, so you might need to use &nbsp; (non breaking space) instead.

Inserting "new line"

PLAIN TEXT----------------------------------------------------------
For i=0 to ubound(CCcart,2)
     if CCcart(CC_PRODUCTID,i) <> "" then
          orderstxt = orderstxt & "\n " & CCcart(CC_ProductID,i)
     end if
Next

HTML -----------------------------------------------------------------

For i=0 to ubound(CCcart,2)
     if CCcart(CC_PRODUCTID,i) <> "" then
          orderstxt = orderstxt & "<br>" & CCcart(CC_ProductID,i)
     end if
Next

Insert TAB

PLAIN TEXT----------------------------------------------------------
For i=0 to ubound(CCcart,2)
     if CCcart(CC_PRODUCTID,i) <> "" then
          orderstxt = orderstxt & "\t " & CCcart(CC_ProductID,i)
     end if
Next

HTML -----------------------------------------------------------------

For i=0 to ubound(CCcart,2)
     if CCcart(CC_PRODUCTID,i) <> "" then
          orderstxt = orderstxt & "&nbsp;&nbsp;&nbsp;" & CCcart(CC_ProductID,i)
     end if
Next
0
 

Author Comment

by:ma701sss
ID: 12328213
No, the "\t" doesn't work, as already mentioned.

Your suggestion of chr(9) and chr(13) works.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

I recently decide that I needed a way to make my pages scream on the net.   While searching around how I can accomplish this I stumbled across a great article that stated "minimize the server requests." I got to thinking, hey, I use more than one…
Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…

721 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