Solved

Converting an array of char to a string...

Posted on 1998-03-21
7
457 Views
Last Modified: 2010-04-06
Hi...
  Very simple. How do I convert an array of char to a string variable? I have a variable x which is declared as array[1..200] of char and I have a string variable y. I simply want the contents of x to go into y. I tried the 'Strpas' function to convert a null-terminated string to Pascal type sting but it gave me an error 'Incompatible types : Array and PChar'. There must be an easy way to do this. Can you help?

Cheers!
   Shawn Halfpenny
   drumme59@sprint.ca
0
Comment
Question by:aztec
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 5

Expert Comment

by:ronit051397
ID: 1360687
procedure TForm1.Button1Click(Sender: TObject);
var A: array[1..200] of char;
begin
 FillChar(A, SizeOf(A), 'S');
 showmessage(StrPas(PChar(@A)));
end;
0
 
LVL 5

Expert Comment

by:ronit051397
ID: 1360688
Actually you can write:
showmessage(StrPas(@A));
0
 
LVL 4

Expert Comment

by:d003303
ID: 1360689
If you use D2 or D3, you could simply typecast with
y := String(x);

Slash/d003303
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:aztec
ID: 1360690
Hello...
  I inadvertantly submitted this same question twice (..see my question history). It has already been answered. Please delet this one.

Regards,
   Shawn Halfpenny
0
 
LVL 4

Expert Comment

by:d003303
ID: 1360691
You have to reject the answer and delete the question yourself 'cause you are the owner of it. But the main thing is that it is solved.

Slash/d003303
0
 

Author Comment

by:aztec
ID: 1360692
OK, I rejected the answer, now how do I delete this question? There is no selection to delete it!

Shawn Halfpenny
0
 
LVL 6

Accepted Solution

by:
Stuart_Johnson earned 50 total points
ID: 1360693
This is easy.  Firstly, you cant convert an Array of Chars to a String which doesnt have a Zero Element.  Ie, you can convert an Array[0..199] of Char to a String (using StrPas), but you cant convert an Array[1..200] of Char to a String.

So, simply redeclare X as Array[0..199] of Char, use the StrPas function, Y := StrPas(X) and Bobs' your Uncle!

Unfortunately, there is no other way.  A PChar is a null terminated string - the first character depicts the length of the string.  Therefore, you need to start your character array with a zero element.

Hope this helps,

Stu
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
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…
A company’s greatest vulnerability is their email. CEO fraud, ransomware and spear phishing attacks are the no1 threat to a company’s security. Cybercrime is responsible for the largest loss of money to companies today with losses projected to r…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

943 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

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now