Solved

How to remove the newline charecter from the String

Posted on 2000-05-09
7
192 Views
Last Modified: 2010-08-05
A wideString str contains a string with a newline charecter(Enter key ).
I am trying to copy the WideString value to String variable. It is copying #$D#$A charecters in place of the enter key or new line charecter. How to remove this from the String.
0
Comment
Question by:kiru
  • 3
  • 2
  • 2
7 Comments
 
LVL 5

Accepted Solution

by:
TheNeil earned 100 total points
ID: 2791560
Do the copy as before and then check every character in the String:

TempStr := WideStr;
NormalStr := '';
FOR n := 1 TO Length(TempStr)
DO
  IF NOT(TempStr[n] IN [#10, #13])
  THEN
    NormalStr := NormalStr + TempStr[n];

Not the most elegant of solutions but it works.

The Neil =:)
0
 

Author Comment

by:kiru
ID: 2791583
Edited text of question.
0
 
LVL 10

Expert Comment

by:Lischke
ID: 2791589
Hi kiru,

I'm not sure if removing the newline/linefeed combination is what you really want. You should distinct between the enter key (which is just a key and can be interpreted in different ways) and the NL/LF combination, which CAN be the result of pressing the enter key (but must not).

You wrote that copying the wide string to an ANSI string copies NL/LF instead of enter key. This makes no sense, as there's no line break character yet in the target string which could be replaced by NL/LF. So my assumption is that you have NL/LF in your wide string and want it totally removed (which will break the text layout) or replaced by something else. Can you confirm this?

Ciao, Mike
0
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 
LVL 10

Expert Comment

by:Lischke
ID: 2791600
Oh, while I wrote my comment you changed the question's text. But unfortunately it still makes no sense. What exactly does the wide string contain? Is it just a new line (NL = Char(13)) or a NL/LF combination or what else?

Ciao, Mike
0
 

Author Comment

by:kiru
ID: 2791767
Edited text of question.
0
 

Author Comment

by:kiru
ID: 2791788
I found a solution as TheNeil has put it. I searched for #13 & #10 & removed them from the string(not in widestring, normal string). It is working fine.
 Lischike ,in widestring it shows some
charecter similar to capital I.


0
 
LVL 5

Expert Comment

by:TheNeil
ID: 2791819
Thanks Kiru. Your 'capital I' problem might be something that the character set can't display. What you could do is change my example to do this:

  IF TempStr[n] IN ['A'..'Z', 'a'..'z', '0'..'9', ',']
  THEN
    NormalStr := NormalStr + TempStr[n];

You'll need to extend the set to cover all of the characters that you want to actually allow but it will filter out anything that you don't want (or expect)

The Neil =:)
0

Featured Post

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

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

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

803 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