<br><br><div class="gmail_quote">On 2 June 2010 18:56, José Mejuto <span dir="ltr"><<a href="mailto:joshyfun@gmail.com">joshyfun@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hello FPC-Pascal,<br>
<br>
Wednesday, June 2, 2010, 2:56:29 PM, you wrote:<br>
<br>
V> ooh. php has 'print_r' for printing arrays/objects - an equivalent<br>
V> ArrayToStr would be handy to have in Pascal. while pascal is my favourite<br>
V> language, I'm finding it poorly supported compared with php :(<br>
<br> That's not a matter of support,<br></blockquote><div><br></div><div>maybe a poorly placed moan there... was getting annoyed with Indy/XML not doing what I wanted.</div><div>i gave up trying to get XPath and XML Namespaces to work recently... whereas ive had XPath+Namespaces working in php in the past...</div>
<div>in fairness it might be ok in FPC (although its not in the XML tutorial), ive been using RAD 2010 because Indy WebDAV wasnt working in Lazarus :(</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
  to writeln a record you must keep the<br>
structure information at runtime which is a must for scripted<br>
languages but it is not needed at all for a compiled one (native<br>
code). So if you keep that information people will complaint about<br>
memory footprint and compiler not hidding internal program structures<br>
and other now complaint about it can not writeln a record :-?<br></blockquote><div><br></div><div>indeed, i would be complaining about size/speed. </div><div>thats a good point about what is known after compilation. does 'array of string' just become a blob of memory, with no type information?</div>
<div>so the solution would be an overloaded ArrayToStr;</div><div>- ArrayToStr(AArray: string)</div><div>- ArrayToStr(AArray: int), etc?</div><div><br></div><div>that would output;</div><div>array {</div><div>  [0] => 'mystring'</div>
<div>}</div><div>array {</div><div>  [0] => 123</div><div>}</div><div><br></div><div>maybe a clever person could suggest how we could handle 'array of array of array of x' and deeper ?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br>
If you want to do something like that replace yout records with<br>
classes and put the fileds in the published section so you will have<br>
RTTI information about the class and you can write a generic writeln<br> function for classes writting the published fields. </blockquote><div><br></div><div>isn't there already something like this for writing .lfm files?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
--<br>
Best regards,<br>
<font color="#888888"> José<br></font></blockquote><div><br></div><div>-V</div><div><br></div></div>