From: assemblywizard@gmail.com   
      
   That is the MOST irrelevant offering yet, looks as if written by an   
   egotistical moron!!!   
   Totally off base but an excellent example of HOW NOT TO PROGRAM!!!   
      
   Alcohol and drugs can ruin a mind--it there was one to start with...   
      
   John   
      
   "Jim Leonard" wrote in message   
   news:1117239768.547085.221490@g14g2000cwa.googlegroups.com...   
   > John Smith wrote:   
   >> LOL... you havent a clue...   
   >   
   > No, sir, it is you who doesn't have the first clue that *pissing off   
   > the people that you need help from* is not the smartest idea in the   
   > world.   
   >   
   > I need to fill up my karma jar a little, so guess what, asshat? You   
   > get your code. I have added more comments than actual code so that you   
   > can LEARN SOMETHING.   
   >   
   > {$E+,N+}   
   > Program validnum;   
   > {   
   > Validates a fractional number as it is being input. Created in   
   > response to a fairly rude individual on comp.lang.pascal.borland. To   
   > that person: Lighten up. Life's too short to go pissing off everyone   
   > you need help from.   
   >   
   > There are many different ways to skin a cat... This is my version,   
   > which uses some Turbo/Borland Pascal features (like pascal-style   
   > strings and typecasting) that may not be availble on other pascal   
   > compilers.   
   >   
   > To test error handling, try entering a number with more than one minus   
   > sign or period. The exact location of the error during conversion will   
   > be displayed. It is left as an exercise to the reader to detect for   
   > this condition during input so that there cannot be an error at all.   
   > }   
   >   
   > uses   
   > crt; {for the "readkey" function and sound routines}   
   >   
   > var   
   > e:extended; {the real number we will be converting to}   
   > ch:char; {somewhere to hold the character}   
   > s:string[20]; {the string used to build the text representation of   
   > the real number}   
   > errcode:integer; {error code, if any, from the val() conversion}   
   >   
   > begin   
   > s:=''; {Initialize our string to equal nothing}   
   > writeln('Input a fractional number. Valid keys are "-", ".", ,   
   > and :');   
   > repeat   
   > ch:=readkey;   
   > case ch of   
   > '0'..'9','.','-':begin {if a number, period, or minus sign is   
   > input, add it to the string}   
   > s:=s+ch; {add it to the string}   
   > write(ch); {echo the character just input so the user can see   
   > what they're typing}   
   > end;   
   > #13:; {trap character but don't do anything else with it}   
   > #8:if ( byte(s[0]) > 0 ) then begin   
   > dec(byte(s[0])); {if the user hits backspace, and the string is   
   > not empty, decrease the length of the string by one. The "byte()" cast   
   > forces pascal to treat s[0] as a byte, not a character. The [0] is the   
   > not the first character of the string, but actually a value   
   > representing the total length of the string.}   
   > write(ch,' ',ch); {move back, erase the last onscreen   
   > character, move back}   
   > end;   
   > else {not a valid character}   
   > begin   
   > sound(100); {make a little "burp" sound so the user knows they   
   > hit an invalid key}   
   > delay(100);   
   > nosound;   
   > end;   
   > end; {case}   
   > until (ch=#13) or ( byte(s[0]) = sizeof(s)-1 ); {exit if enter   
   > pressed, or we're at the maximum length of the string}   
   > writeln; {advance to next line}   
   > val(s,e,errcode); {convert string 's' into extended 'e' with error   
   > code 'errcode'}   
   > if (errcode=0) {if no error, print number, else print what's wrong   
   > with the number}   
   > then writeln('You input the number: ',e:8:8)   
   > else begin   
   > writeln('There was an error converting the string at this   
   > position:');   
   > writeln('"',s,'"');   
   > writeln(#32:errcode,'^');   
   > end;   
   > end.   
   >   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|