|
that'd be worthy of a fresh thread here in and of itself.
--
CleaKO The sad part about this instance is that none of the users ever said anything [about the problem].
Pete O`Hanlon Doesn't that just tell you everything you need to know about users?
|
|
|
|
|
Correct you are, but should I? Or should it go in, perhaps, the XML/XSL forum? Or an article?
Aw heck, here it is, you decide:
state.xml
<state Prefix="ST_" Type="sometype" >
<State1>0x01</State1>
<State2>0x02</State2>
<State3>0x03</State3>
</state>
state.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output omit-xml-declaration="yes" method="text"/>
<xsl:template match="/">
<xsl:for-each select="*">
typedef enum {
<xsl:for-each select="*">
<xsl:value-of select="../@Prefix"/><xsl:value-of select="name()"/>=<xsl:value-of select="."/>,
<xsl:if test="position()=last()"><xsl:value-of select="../@Prefix"/>LAST=<xsl:value-of select="last()"/></xsl:if>
</xsl:for-each>} <xsl:value-of select="name()"/>type ;
<xsl:value-of select="@Type"/><xsl:text> </xsl:text><xsl:value-of select="name()"/>info[] = {
<xsl:for-each select="*">
<xsl:if test="position()!=1">,</xsl:if>{"<xsl:value-of select="../@Prefix"/><xsl:value-of select="name()"/>",0,0}
</xsl:for-each>}
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
result
typedef enum {
ST_State1=0x01,
ST_State2=0x02,
ST_State3=0x03,
ST_LAST=3} statetype ;
sometype stateinfo[] = {
{"ST_State1",0,0}
,{"ST_State2",0,0}
,{"ST_State3",0,0}
}
As mentioned elsewhere, the counting of the entries in part two is unnecessary, but notice that here I set the value of ST_LAST to the number of entries.
|
|
|
|
|
I call a WTF!
--
CleaKO The sad part about this instance is that none of the users ever said anything [about the problem].
Pete O`Hanlon Doesn't that just tell you everything you need to know about users?
|
|
|
|
|
What's your alternative of choice?
|
|
|
|
|
I actually wanted to do that as a project to "learn XML", but just the basics were such a bumpy ride that I contracted some kind of XML allergy.
So if you do: A R T I C L E !
|
|
|
|
|
Be careful what you ask for.
|
|
|
|
|
PIEBALDconsult wrote: Be careful what you ask for.
I believe this actually is a case where he wants to get what he wishes for..
|
|
|
|
|
(He's probably the only one.)
|
|
|
|
|
Yeah, maybe.
|
|
|
|
|
Wish granted, just submitted the article.
(Now waiting for the tomatoes to start flying.)
|
|
|
|
|
Waiting for it to appear...
|
|
|
|
|
This looks like "Security through obscurity" or the writer of this code wants to write such mess.
If this is the style of the writer he ist a danger for the company.
Greetings from Germany
|
|
|
|
|
I have a general R&D solution I use to fiddle and explore various technicalities in. I add little disposable projects here and there as I need to explore some CLR or language feature or something. I only have one project at a time configured to build, the one I'm busy on, so I don't get dependency problems etc.
So, I add a little WinForms project to test aspects of inheritence, and I hit F5 to run it, but this damn Assembly Search dialogue pops up, defaulted to a TestDriven.NET assembly. I check the key mapping for F5 and it's normal. I exit VS and start again, with the same damn Assembly Search dialogue invading my precious peace. I disable TestDriven.NET and on trying again I still get this hell spawn dialogue popping up.
Then I notice I have an AssemblySearch project in the solution, , and it's set as the Startup Project
I didn't expect it do do anything because it's excluded from the solution build, but, it wasn't building, just running.
|
|
|
|
|
That happens.
I discovered that same thing a while back, the thing that bothers me most is having to mark side projects (tests) to no build or vise-versa. It is irritating to have all subprojects rebuilt when I only want to rebuild the current one, especially if the current one is trying to test a piece of code that is causing an error in one of the other projects.
INTP
"Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
|
|
|
|
|
I hired a programmer right out of school. Started him on a very simple project. I performed a tech review of the code and saw the following method call
private integer inc(integer int_i)
{
integer int_j=int_i+1;
return int_j;
}
He no longer works for the company.......
Moose Man
|
|
|
|
|
Look at the bright side, the code was easy to understand.
|
|
|
|
|
didn't he try to compile it before he gave you the code.... or better yet, Didn't the syntax highlighting of whatever the latest and greatest IDE you're using catch it... or if this is c++ why didn't he just go int_i++ its a lot faster then inc(int_i) (assuming he had his datatypes spelled right)
|
|
|
|
|
TheCoolestDudeInComputerWorld wrote: didn't he try to compile it before he gave you the code.... or better yet, Didn't the syntax highlighting of whatever the latest and greatest IDE you're using catch it...
Why would it?? It's perfectly legal code! It's not up to the IDE to do optimizations.
TheCoolestDudeInComputerWorld wrote: if this is c++ why didn't he just go int_i++
That's probably why it's in the Coding Horrors forum.
Dave Kreskowiak
Microsoft MVP
Visual Developer - Visual Basic 2006, 2007
|
|
|
|
|
TheCoolestDudeInComputerWorld wrote: if this is c++ why didn't he just go int_i++ its a lot faster then inc(int_i) (assuming he had his datatypes spelled right)
This is not C++. The private keyword cannot precede a function like this in C++. Looks like some C#/VB hybrid to me
But if it was C++, this function would most probably be optimized away by the compiler, so there would be no performance penalty.
|
|
|
|
|
It's entirely C#, not a hybrid.
Dave Kreskowiak
Microsoft MVP
Visual Developer - Visual Basic 2006, 2007
|
|
|
|
|
C# doesn't have an integer keyword - it's Java. I'm fairly sure that java.lang.Integer is a class, not a straightforward value type - that's still called int . That would make an Integer the equivalent of a boxed int in C#/.NET.
|
|
|
|
|
Whoops! Missed that one. Comes from using primarily VB.NET to do all my work.
Dave Kreskowiak
Microsoft MVP
Visual Developer - Visual Basic 2006, 2007
|
|
|
|
|
|
May have used # define integer int or typedef
|
|
|
|
|
PIEBALDconsult wrote: May have used # define integer int or typedef
C# does not have them although using can be used for that purpose in a file scope, but I honestly think that the OP made a typo. Maybe he should be fired, rather than the poor beginner programmer
|
|
|
|