• Romeo (unregistered) in reply to Zylon
    Zylon:
    Sai:
    captcha test not working?? A wtf for the daily wtf!
    It's only supposed to keep out bots, not idiots.

    Best post ever...

    Captcha: kungfu (!?!?!?)

  • jayh (unregistered) in reply to Monkeyget

    DLLs can often solve the problem here where configuration files don't really cut it--no need to anticipate the kinds of changes that will be requested. Customer gets their own set of .Dlls for the functions they've changed. Keeps obsolete code from filling up the executable.

  • poss (unregistered) in reply to tharfagreinir
    tharfagreinir:
    Faith in humanity ... falling.

    Really? My faith in humanity increases every time I see something like this.

    But then, my theory of life is, "People are stupid." The beautiful thing about this theory: every day, someone proves me right.

    -- poss

    (And the CAPTCHA test is "darwin" -- how apt.)

  • (cs) in reply to Geoff
    Geoff:
    Dude:

    Windows XP Home Edition (includes):

    • Starter
    • Home
    • Media Center

    Windows XP Professional Edition (includes):

    • Professional
    • Professional x64
    • Tablet PC

    Windows Vista Home (includes):

    • Starter
    • Home Basic
    • Home Premium
    • Ultimate

    Windows Vista Business (includes):

    • Small Business
    • Professional
    • Enterprise

    Source: http://www.dmxzone.com/ShowDetail.asp?NewsId=10909

    And of course there's also Windows 2003 Server. A general purpose Server OS isn't enough, of course.

    Windows 2003 Server (includes):

    • Small Business Server
    • Web Edition
    • Standard
    • Enterprise
    • Datacenter
    • Computer Cluster Server
    • Storage Server
    • Home Server

    Source: http://en.wikipedia.org/wiki/Windows_Server_2003

    (The links are from quick google searches.)

    That's excluding all the x64 versions I didn't mention.

    Those are all the same code base with different compiler options. (Hint: Service packs are compatible with a whole family. Server 2003 x64 service pack can be applied to XP x64, they're essentially the same OS. All the Vista versions actually are the same, with different license files.) Although the code base might be littered with the sort of mess we see here, most likely they have very well-defined points where differences are consolidated. You don't see Home and Pro having wildly different label and background colors in random places!

    Media Center is based on XP Pro, btw.

  • aikii (unregistered)

    the real WTF is that I thought the mentioned WTF software was the same as the sponsored link ...

  • Bill (unregistered) in reply to Monkeyget
    Monkeyget:
    Software customisation can be a real pain in the ass. ...

    Of course you never have the time to make the customisation correctly because you're told "How hard could it be? It's a 5 minuts job and it won't affect your current schedule". Instead of making the correct fix by changing the structure of the application you end up adding dirty hacks that will be corrected later (read never). Your neat code slowly turn into a big pile of mud.

    All good points - my experience is that none of the "5 minute" changes could support the cost of re-writing the app to be configurable by themselves, so the configuration code can never get written because it never gets funded.

  • sf (unregistered)

    This isn't THAT uncommon. The WTF'yness of this kind of thing is inversly proportional to the size of the wallet of customer #1337. The scenario is typically:

    • customer 1337 needs this yesterday
    • customer 1337 is a really important customer
    • we'll fix it right in the next point release
    • fix is forgotten in the next point release.
  • jayh (unregistered) in reply to stevekj

    No kidding, when I clicked on that link there was a rotating ad on my screen for "Dewalt Tool Battery Sale" Coincidence? Is this the fabled Storray engine in operation?

    Inquiring minds want to know.

  • G-Unit (unregistered) in reply to Look at me! I'm on the internets!
    Look at me! I'm on the internets!:
    It would make more sense to offer the clients different coloured gels to put over their monitor to change background colour.

    My solution can offer significant savings over your solution: give everyone who uses the app tinted sunglasses.

    CAPTCHA: *pointer

  • Theresa (unregistered) in reply to Bert

    Not necessarily. This simple change should trigger a full QA run. Quite often, stuff like this gets only smoke tested, but if the customer requires, for example, WHQL, you have to run all test suites again, submit the whole shebang to Microsoft's QA, pay about $2000 and wait a week for them to process it.

    Huge PITA for crap like this to say the least.

  • Reed Hedges (unregistered) in reply to erKURITA

    "I mean, paying for a feature only THAT PERSON is going to use? I'd either ask an horrorful and huge ammount of money (not that much...) or just say no. "

    Basically, this is how many software companies make money out here in the real world. It's how software that's really useful gets made.

    And this is how it should be: software as a tool that solves a problem.

    Customer: "We have problem X". Software Vendor: [think, think, think]. "Well, here's one way to do that". Customer: "Sounds good, here's some money." Vendor: [hack, hack, hack, deploy].

    Not some shiny appliance that comes in a shrink wrapped box that just sort of does something arbitrary, and maybe you adapt every other part of your business to it :)

  • (cs)

    Why spend the time redesigning your UI to accept a new parameter, then work 1/2 an hour coding the program to accept and store the new configuration parameter, when 60 seconds of coding will do?

  • Reed Hedges (unregistered) in reply to jayh
    DLLs can often solve the problem here where configuration files don't really cut it--no need to anticipate the kinds of changes that will be requested. Customer gets their own set of .Dlls for the functions they've changed. Keeps obsolete code from filling up the executable.

    Yeah, but then you got to regression test them and maintain them.

    Though I guess you have to do that with random in-line customizations too.

  • Anony Moose (unregistered)

    If one customer wants a color changed and it'll take half an hour, you tell them to drop dead. (Or, perhaps, a politer form of "no".)

    If a thousand customers want a color changed, it's faster to write the code to edit and read a config file than to implement the change once per customer and end up having to tweak them frequently - and you also get a new feature for the next release.

    I'm sure there's exceptions, but the "only fix a bug for each customer who dicovers and reports it" plan bothers me, and the messing around with tiny cosmetic changes seems probelmatic. What happens when one customer wants a new dialog box and another wants the same functionality in a menu? Implement both, but only for the requesting customer? It just seems wrong to me.

  • Bill (unregistered) in reply to Anony Moose
    Anony Moose:
    If one customer wants a color changed and it'll take half an hour, you tell them to drop dead. (Or, perhaps, a politer form of "no".)

    If a thousand customers want a color changed, it's faster to write the code to edit and read a config file than to implement the change once per customer and end up having to tweak them frequently - and you also get a new feature for the next release.

    I'm sure there's exceptions, but the "only fix a bug for each customer who dicovers and reports it" plan bothers me, and the messing around with tiny cosmetic changes seems probelmatic. What happens when one customer wants a new dialog box and another wants the same functionality in a menu? Implement both, but only for the requesting customer? It just seems wrong to me.

    No offense, but you clearly have never worked in the customized software arena. Many, many companies have gotten fabulously wealthy marketing a base product and selling customizations as a time-and-materials project. An even better part of the equation is when a major rewrite can be re-sold to the entire base along with $ to port their customizations.

    This method of customization, while ugly, beats the common method of forking the codebase by a mile.

  • tacit (unregistered)

    and no one has given the fact that there is c# commenting in visual basic code a second look?? that's the wtf

  • Tom Dibble (unregistered) in reply to Names for for suckers
    Names for for suckers:
    Anonymous:
    The company I work for outsourced some development. Reviewing the code, I found code where it was doing an if statement based on the result of a string comparison to the text value of a Label object.
    That's not necessarily a bad thing though - I've seen that done before when the text on labels is changed based upon what action the user is preforming. Granted you are taking a performance hit than if you just had a flag variable, but nothing too signification for an office application.

    And then one day someone decides that your application has to also speak Spanish, and all your application logic needs to be touched to accommodate it ... Seems like an odd choice to avoid an enumeration or other non-user-visible variable.

  • anonymous (unregistered)

    I /wish/ we did that. At least hard-coding how to do things based on the customer number is better than "such and such needs delimited values to be padded to their maximum width" -> minor code change which produces major(and wrong) format change -> release -> wait one week -> "such and such needs delimited values to have no trailing spaces" -> wtf

    I expect in two more of those, I'll be allowed to make it user-configurable

  • (cs) in reply to cmccorvey
    cmccorvey:
    KattMan:
    This isn't a WTF, this is an OMFG!

    I've worked for a document management company and aside from the custom issues the log-in process would have been caught by our clients in a heartbeat. and if it weren't fixed in 72 hours or less we would have been fined and the customer would have left.

    I just hope these guys are not dealing with banking and or medical documents, Europe is even more strict about privacy then the US.

    Perhaps I missed something, but I don't think the idiotic use of customer number as serial number and the ability to use some other client's number poses any kind of privacy issue. So you could see how XYZ, Ltd sees the world (their customization) but not what XYZ, Ltd put in their document repository.

    If that were the case this would be a monumental WTF.

    It sure would be a monumental WTF. So would changing the client's number in mission critical software, just to see how other companies look at their data. Even if the program didn't crash, how would it look if 10 million dollars of revenue disappeared during the time you were customer number 666? I'm sure it would look like I was hunting for a new job.

  • (cs) in reply to grumble
    grumble:
    I have solved the age old problem.
    1. write (or buy) a reasonable product
    2. entice people to buy it
    3. charge enormously disproportionate amounts to add functionality that should exist out of the box or for minor customisations.
    4. profit.

    I'm still wrestling with my business plan:

    1. Collect Underpants
    2. ???
    3. Profit

    If anybody can help me with phase 2, I would appreciate it.

  • woohoo (unregistered) in reply to Names for for suckers
    Names for for suckers:
    Anonymous:
    The company I work for outsourced some development. Reviewing the code, I found code where it was doing an if statement based on the result of a string comparison to the text value of a Label object.
    That's not necessarily a bad thing though - I've seen that done before when the text on labels is changed based upon what action the user is preforming. Granted you are taking a performance hit than if you just had a flag variable, but nothing too signification for an office application.

    what??? "... not necessarily a bad thing"???

    ever heard of the existence of other languages? i18n? good grief...

    captcha: craaazy ..... indeed ;o)

  • Tim (unregistered)

    I used to work for a software company that made a DOS app. Several other companies would OEM this product, so the programmer wrote the code so that renaming the EXE would give a completely different UI and either add or remove functions, depending on the OEM. Language changes were as easy as rewriting the text file that contained all of the prompts.

    That he fit that monster within 640K is nothing short of amazing.

    Captcha: pointer (I'm a spaniel person myself)

  • woohoo (unregistered) in reply to webdev101
    webdev101:
    anon:
    Names for for suckers:
    Anonymous:
    The company I work for outsourced some development. Reviewing the code, I found code where it was doing an if statement based on the result of a string comparison to the text value of a Label object.
    That's not necessarily a bad thing though - I've seen that done before when the text on labels is changed based upon what action the user is preforming. Granted you are taking a performance hit than if you just had a flag variable, but nothing too signification for an office application.

    Yeah, that works great when the application is internationalized as well. :)

    not all apps require internationalization.

    yeah, right... even if so (and I know lots of apps that started out like that, but two years later - presto! - "well, we need to translate this into another language..."), never heard of pesky marketing departments that frequently request "new wording" for existing applications? relying on caption texts in application logic is just plain dumb, no matter if you ever require i18n or not. and the best part: doing it "right" is not more complicated or cumbersome (provided you use the right platform/language/technology), but it pays big time in the long run.

  • woohoo (unregistered) in reply to It's a Feature
    It's a Feature:
    Why spend the time redesigning your UI to accept a new parameter, then work 1/2 an hour coding the program to accept and store the new configuration parameter, when 60 seconds of coding will do?

    why not doing it properly in the first place? ;o)

    if done like above it just gets worse and worse...

    captcha: ninjas - there should be some of those to fight bad sw-design ;o)

  • woohoo (unregistered) in reply to Quinnum
    Quinnum:
    grumble:
    I have solved the age old problem.
    1. write (or buy) a reasonable product
    2. entice people to buy it
    3. charge enormously disproportionate amounts to add functionality that should exist out of the box or for minor customisations.
    4. profit.

    I'm still wrestling with my business plan:

    1. Collect Underpants
    2. ???
    3. Profit

    If anybody can help me with phase 2, I would appreciate it.

    just decide carefully, whose underpants you are going to collect .... ;o)

  • (cs) in reply to erKURITA
    erKURITA:
    The lack of configuration files or extern files that could provide info without hard-codding it, is a lesser WTF.

    The main WTF is programming companies that lacks of pride when it comes to doing what their clients want. I mean, paying for a feature only THAT PERSON is going to use? I'd either ask an horrorful and huge ammount of money (not that much...) or just say no.

    Say, one day the US Goverment decides to use the Pink as their color for everything, and they also want their software with pink themes. Will Micro$oft add (more) useless code to its current (useless) code, just to satisfy an organization will? I highly doubt it sir.

    But still, no "Options" button? WTF?

    You can doubt all you want. But you would be wrong.

  • John Q. Pubic (unregistered)

    I have to laugh at these sweeping statements that it's a WTF if you don't put this type of customization in a configuration file. Our software is 95% standard, but for the rest, we use the method in this WTF.

    For example, we sell software to governments who want to see their name in the caption of the main form:

    MyProgram 2.1 for City of WTF, Richard Asshat, Mayor MyProgram 2.1 for WTF County MyProgram 2.1 for State of WTF, Arnold Schwarzenegger, Governor

    So, let's say I move this info into in a configuration file. Now I have to train the flunkies who do the installs how to edit the configuration file, or give them multiple configuration files, or burn a custom CD for them, or set the configuration file options in the installer...golly gee, all that work, and all I've done is manage to move the point of customization from the executable to somewhere else! Whoopty doo! But hey, my executable is 200 bytes smaller than before, and I save a couple picoseconds when it executes. Ohhh. Ahhh. I'm a programming guru now.

    Oh yeah, and when customer "X" asks for a feature that I already did for customer "Y", I don't want to tell him he can edit a configuration file to "turn it on". I want to charge him five figures and send him a new CD to make it look like I had to do a whole helluva lot of work, because -- let's face it -- that's Good Contracting.

    I'll keep switching on the customer ID in the executable, thankyouverymuch.

  • Liisa (unregistered) in reply to Anonymous

    Being the amateur blonde that I am, it is possible that I may be using improper coding practices in the first place (if this is the case, someone please let me know) but I quite commonly use labels to denote two different things, and the text of the label may change depending on a previous if or something like this. I have trouble thinking of an example for labels, but consider buttons: if the user selects function 1, the button text reads "save". If function 2 is selected, the button text reads "self-destruct". Obviously, that button is going to perform at least two different tasks, depending on the text, so I should probably do a string comparison to find out what is reads before executing too much code. Of course I can use another variable, or separate buttons or there are a million other ways to do it, but depending on the situation, I frequently find this to be the easiest. Applying to labels, as well. But I could be wrong, it wouldn't be the first time. :) (After all, I only graduated to the working world a year ago. :)

  • Liisa (unregistered) in reply to Anonymous

    Sorry, last comment in regards to:

    Reviewing the code, I found code where it was doing an if statement based on the result of a string comparison to the text value of a Label object.

  • (cs) in reply to foxyshadis
    foxyshadis:
    You don't see Home and Pro having wildly different label and background colors in random places!

    Media Center is based on XP Pro, btw.

    Thats pretty much true. The background color is almost always white, no matter what you want (unless you specify high contrast black)

  • danieLs (unregistered)

    OMFG OMFG WTF?!?

  • So..... (unregistered) in reply to Liisa
    Liisa:
    Being the amateur blonde that I am, it is possible that I may be using improper coding practices in the first place (if this is the case, someone please let me know) but I quite commonly use labels to denote two different things, and the text of the label may change depending on a previous if or something like this. I have trouble thinking of an example for labels, but consider buttons: if the user selects function 1, the button text reads "save". If function 2 is selected, the button text reads "self-destruct". Obviously, that button is going to perform at least two different tasks, depending on the text, so I should probably do a string comparison to find out what is reads before executing too much code. Of course I can use another variable, or separate buttons or there are a million other ways to do it, but depending on the situation, I frequently find this to be the easiest. Applying to labels, as well. But I could be wrong, it wouldn't be the first time. :) (After all, I only graduated to the working world a year ago. :)

    You should be driving the flow from the state of the objects in your app, not the text on a button.

  • grumble (unregistered) in reply to John Q. Pubic
    John Q. Pubic:

    Oh yeah, and when customer "X" asks for a feature that I already did for customer "Y", I don't want to tell him he can edit a configuration file to "turn it on". I want to charge him five figures and send him a new CD to make it look like I had to do a whole helluva lot of work, because -- let's face it -- that's Good Contracting.

    No, that's fraud.

  • (cs) in reply to Fredric
    Fredric:
    This just shows that you should always do it in a clean way from the start, 'cause most likely you won't clean it up afterwards and just keep on adding to the mess!

    Unfortunately that's not always realistic. What I try to teach my juniors is that I don't care if they use a quick and dirty solution every now and then just so they can keep moving - provided that they plan time for such cleanups on a very regular interval. Usually once a week I'll go over changesets with them and we'll find some parts where we easily agree that it's not proper code for anything of production value. We then fix it or set a cleanup deadline for the more complicated hacks. Works quite well.

    For instance, we've had some customer specific hacks in our backend until the arrival of a proper factory system for loading this functionality as modules. With the factory in place, we can easily solve it properly now when the schedule is not so tight anymore while still making important deadlines when there was a tight schedule.

    If you actively screen for hacks and dedicate time to removing them, it is possible to keep them under control. Best of both worlds, I suppose.

  • (cs) in reply to Liisa
    Liisa:
    Being the amateur blonde that I am, it is possible that I may be using improper coding practices in the first place (if this is the case, someone please let me know) but I quite commonly use labels to denote two different things, and the text of the label may change depending on a previous if or something like this. I have trouble thinking of an example for labels, but consider buttons: if the user selects function 1, the button text reads "save". If function 2 is selected, the button text reads "self-destruct". Obviously, that button is going to perform at least two different tasks, depending on the text, so I should probably do a string comparison to find out what is reads before executing too much code. Of course I can use another variable, or separate buttons or there are a million other ways to do it, but depending on the situation, I frequently find this to be the easiest. Applying to labels, as well. But I could be wrong, it wouldn't be the first time. :) (After all, I only graduated to the working world a year ago. :)

    Well I am going to assume this isn't a troll. In general what you are doing is bad programming practice. You shouldn't rely on the string value of a button (for lots of reasons) Use an ID instead. Give your button an ID. Now you can change your text all you want, without having to change any code. You can even do some pretty cool things like translate your program, without having to change any code.

    not to mention comparing two numbers is way faster than doing a string compare.

  • (cs) in reply to John Q. Pubic
    John Q. Pubic:
    I have to laugh at these sweeping statements that it's a WTF if you don't put this type of customization in a configuration file. Our software is 95% standard, but for the rest, we use the method in this WTF.

    For example, we sell software to governments who want to see their name in the caption of the main form:

    MyProgram 2.1 for City of WTF, Richard Asshat, Mayor MyProgram 2.1 for WTF County MyProgram 2.1 for State of WTF, Arnold Schwarzenegger, Governor

    So, let's say I move this info into in a configuration file. Now I have to train the flunkies who do the installs how to edit the configuration file, or give them multiple configuration files, or burn a custom CD for them, or set the configuration file options in the installer...golly gee, all that work, and all I've done is manage to move the point of customization from the executable to somewhere else! Whoopty doo! But hey, my executable is 200 bytes smaller than before, and I save a couple picoseconds when it executes. Ohhh. Ahhh. I'm a programming guru now.

    Oh yeah, and when customer "X" asks for a feature that I already did for customer "Y", I don't want to tell him he can edit a configuration file to "turn it on". I want to charge him five figures and send him a new CD to make it look like I had to do a whole helluva lot of work, because -- let's face it -- that's Good Contracting.

    I'll keep switching on the customer ID in the executable, thankyouverymuch.

    That is your tongue in your cheek?

    So what you are saying, is rather than spend a few minutes to change a config file, and burn a new CD, you would rather dig around in the code to look for the proper string to change. Do a build, and then burn a CD?

    Yeah, I know changing the code and rebuilding for a simple string change isn't a lot of work. But I would much rather just change the config file. I can still charge the guy big bucks. No need to tell him I was working smarter and no harder.

  • (cs)

    There are two types.

    The purist software engineer wants to write the perfect product with the most perfect code that meets all coding standards, and is generally the most future-proof (if there is such a thing).

    The businessman wants to just make money and wants to make it now. After all there might not be a future, it might be that nobody will want your product in 5 years time no matter how good it is.

    For the businessman, as long as it works, it's good.

    One of the saddest things I find about software is that bad coding practice works. You unramble the most horrible piece of coding spaghetti and refactor it to produce a really clean robust piece of code, yet the horrible mess of code works and yours doesn't (because you missed some complex logic hidden away in all that mess), often some minor details that is the difference between working and not working. Worse if people then accuse you of "breaking" it.

  • Matt (unregistered)

    I've had to do this for financial software pricing derivatives - although I did at least use an environment variable whose presence indicated the rogue site. There comes a point when you get tired arguing that every other client agrees the functionality is correct and just agree to do it "their way".

  • (cs)

    Lots of people have mentioned that this company is probably in violation of security or standards rules for their client... what you have to remember is that there are rules and "rules" (wink wink). If you look at the real rules, most places are probably in violation 100 times over. However, once there are "rules" (wink wink), meaning the appropriate people are paid off, etc. then anything goes until someone's busted, in which case the paid off persons jettison themselves, and you are stuck with the blame anyhow. I'd rather be safe than sorry!

  • (cs) in reply to Earl Purple
    Earl Purple:
    There are two types.

    Three. Your two, and people who will seek a middle ground to get the best of both worlds. Over-engineered software is as hard to maintain as horrible copy-paste duplicated quickies.

  • (cs) in reply to grumble
    grumble:
    So.....:
    ... and so charged huge ammounts for very little work. Those were the days...

    These ARE those days.

    ...

    I have solved the age old problem.

    1. write (or buy) a reasonable product
    2. entice people to buy it
    3. charge enormously disproportionate amounts to add functionality that should exist out of the box or for minor customisations.
    4. profit.

    I work on the other side of this divide. Some customers come up with requests which the company I work for doesn't want to do. However, niche market politics means never saying no so the company just puts a very high price tag on these changes. Sometimes the customer goes for it. I ended up as the developer on one two week job for which the company earned £100,000. I really must renegotiate my contract to get a cut of this sometimes.

  • szukuro (unregistered)

    ...using your .Net product... now that's the real wtf

  • thurstan (unregistered) in reply to chrismcb
    chrismcb:
    erKURITA:
    The lack of configuration files or extern files that could provide info without hard-codding it, is a lesser WTF.

    The main WTF is programming companies that lacks of pride when it comes to doing what their clients want. I mean, paying for a feature only THAT PERSON is going to use? I'd either ask an horrorful and huge ammount of money (not that much...) or just say no.

    Say, one day the US Goverment decides to use the Pink as their color for everything, and they also want their software with pink themes. Will Micro$oft add (more) useless code to its current (useless) code, just to satisfy an organization will? I highly doubt it sir.

    But still, no "Options" button? WTF?

    You can doubt all you want. But you would be wrong.

    I wonder where the idea that Office 2007 should have its own color scheme (seperate from the windows scheme) came from...?

  • Bill (unregistered) in reply to woohoo
    woohoo:
    It's a Feature:
    Why spend the time redesigning your UI to accept a new parameter, then work 1/2 an hour coding the program to accept and store the new configuration parameter, when 60 seconds of coding will do?

    why not doing it properly in the first place? ;o)

    if done like above it just gets worse and worse...

    captcha: ninjas - there should be some of those to fight bad sw-design ;o)

    Please define "right", so we can continue this debate.

    Suppose that the app were written for a single customer on spec, but rights to resell it were retained by the developer.

    Suppose the app were written for a single customer on spec, THEN the developer realized it could be resold to others.

    Also, I doubt the original customer would consider it "right" to pay for the coding effort to make "his" app customizable.

  • Mr B Gates (unregistered) in reply to Gir

    I thought so too.

  • Quadlex (unregistered) in reply to Mike5

    Heh, the document automation software I use works like that.

    SU=1 means I can edit precedents as well as use them.

    Pretty much indicitave of the entire application.

  • Delphi Maintenance Coder (unregistered)

    Here's one of many little gems I've found in the rat's nest of an ERP suite I am babysitting:

    ...

    //Add Freight GL to the G/L Distribution Summary If Freight_Branch = 'Waterloo' then GL_Used := '504101021-11'; If Freight_Branch = 'London' then GL_Used := '504101051-11'; If Freight_Branch = 'Markham' then GL_Used := '504101061-11'; If Freight_Branch = 'Windsor' then GL_Used := '504101071-11'; If Freight_Branch = 'Mississ' then GL_Used := '504101081-11'; If Freight_Branch = 'Halifax' then GL_Used := '504103031-11'; If Freight_Branch = 'Ottawa' then GL_Used := '50420401-11'; ...

    Another one in the same application...

    ...

    //Temporary change for Owen Sound If Orders.FieldByName('Rep_Location').AsString = 'Owen Sound' then Begin Rectangle(7.70,0.50,10.70,1.00); MoveTo(8.88,0.50); LineTo(8.88,1.00); MoveTo(9.80,0.50); LineTo(9.80,1.00); end Else Begin Rectangle(6.45,0.50,10.70,1.00); MoveTo(7.70,0.50); LineTo(7.70,1.00); MoveTo(8.88,0.50); LineTo(8.88,1.00); MoveTo(9.80,0.50); LineTo(9.80,1.00); end; SetFont('Arial',6); Bold := True; CRLF; YPos := 0.60; ...

  • Quentin (unregistered)

    Any coincidence in the company ID being 1337?

  • (nodebb)
    Comment held for moderation.
  • (nodebb)

    very nice

    Addendum 2022-10-29 21:54: The most crucial step in any business is to personally conduct the necessary research and study testimonials from customers who have utilized various services. I constantly do this, and I think that's why I only ever utilize things that my employer mandates. I did a lot of study on customer service outsourcing before deciding that it is essential for the growth of my business. All customer requirements must be fulfilled as quickly and effectively as feasible. I was lacking precisely this.

Leave a comment on “Configuration Made Easy”

Log In or post as a guest

Replying to comment #:

« Return to Article