Hello World - was (RE: [PHP-WIN] Passing +, =, - at post and get)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ok, not terribly appropos to the mailing list, but I have to share:

http://www2.latech.edu/~acm/HelloWorld.shtml
http://c2.com/cgi/wiki?HelloWorldInManyProgrammingLanguages
http://www.roesler-ac.de/wolfram/hello.htm


For those interested in arcanum.

-TG

> -----Original Message-----
> From: Charles P. Killmer [mailto:charlesk@xxxxxxxxxxxxxxxxxxxxx] 
> Sent: Thursday, May 20, 2004 11:17 AM
> To: php-windows@xxxxxxxxxxxxx
> Subject: RE:  Passing +, =, - at post and get
> 
> 
> You may appreciate this then.  Its been floating around for a while so
> you may have seen it but I think it is funny and strangely true.
> 
> The Evolution of a Programmer
> 
> 
> 
> High School/Jr.High
> 
>   10 PRINT "HELLO WORLD"
>   20 END
> 
> 
> First year in College
>   program Hello(input, output)
>     begin
>       writeln('Hello World')
>     end.
> 
> 
> Senior year in College
>   (defun hello
>     (print
>       (cons 'Hello (list 'World))))
> 
> 
> New professional
>   #include <stdio.h>
>   void main(void)
>   {
>     char *message[] = {"Hello ", "World"};
>     int i;
> 
>     for(i = 0; i < 2; ++i)
>       printf("%s", message[i]);
>     printf("\n");
>   }
> 
> 
> Seasoned professional
>   #include <iostream.h>
>   #include <string.h>
> 
>   class string
>   {
>   private:
>     int size;
>     char *ptr;
> 
>   public:
>     string() : size(0), ptr(new char('\0')) {}
> 
>     string(const string &s) : size(s.size)
>     {
>       ptr = new char[size + 1];
>       strcpy(ptr, s.ptr);
>     }
> 
>     ~string()
>     {
>       delete [] ptr;
>     }
> 
>     friend ostream &operator <<(ostream &, const string &);
>     string &operator=(const char *);
>   };
> 
>   ostream &operator<<(ostream &stream, const string &s)
>   {
>     return(stream << s.ptr);
>   }
> 
>   string &string::operator=(const char *chrs)
>   {
>     if (this != &chrs)
>     {
>       delete [] ptr;
>      size = strlen(chrs);
>       ptr = new char[size + 1];
>       strcpy(ptr, chrs);
>     }
>     return(*this);
>   }
> 
>   int main()
>   {
>     string str;
> 
>     str = "Hello World";
>     cout << str << endl;
> 
>     return(0);
>   }
> 
> 
> Master Programmer
>   [
>   uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
>   ]
>   library LHello
>   {
>       // bring in the master library
>       importlib("actimp.tlb");
>       importlib("actexp.tlb");
> 
>       // bring in my interfaces
>       #include "pshlo.idl"
> 
>       [
>       uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
>       ]
>       cotype THello
>    {
>    interface IHello;
>    interface IPersistFile;
>    };
>   };
> 
>   [
>   exe,
>   uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
>   ]
>   module CHelloLib
>   {
> 
>       // some code related header files
>       importheader(<windows.h>);
>       importheader(<ole2.h>);
>       importheader(<except.hxx>);
>       importheader("pshlo.h");
>       importheader("shlo.hxx");
>       importheader("mycls.hxx");
> 
>       // needed typelibs
>       importlib("actimp.tlb");
>       importlib("actexp.tlb");
>       importlib("thlo.tlb");
> 
>       [
>       uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
>       aggregatable
>       ]
>       coclass CHello
>    {
>    cotype THello;
>    };
>   };
> 
> 
>   #include "ipfix.hxx"
> 
>   extern HANDLE hEvent;
> 
>   class CHello : public CHelloBase
>   {
>   public:
>       IPFIX(CLSID_CHello);
> 
>       CHello(IUnknown *pUnk);
>       ~CHello();
> 
>       HRESULT  __stdcall PrintSz(LPWSTR pwszString);
> 
>   private:
>       static int cObjRef;
>   };
> 
> 
>   #include <windows.h>
>   #include <ole2.h>
>   #include <stdio.h>
>   #include <stdlib.h>
>   #include "thlo.h"
>   #include "pshlo.h"
>   #include "shlo.hxx"
>   #include "mycls.hxx"
> 
>   int CHello::cObjRef = 0;
> 
>   CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
>   {
>       cObjRef++;
>       return;
>   }
> 
>   HRESULT  __stdcall  CHello::PrintSz(LPWSTR pwszString)
>   {
>       printf("%ws\n", pwszString);
>       return(ResultFromScode(S_OK));
>   }
> 
> 
>   CHello::~CHello(void)
>   {
> 
>   // when the object count goes to zero, stop the server
>   cObjRef--;
>   if( cObjRef == 0 )
>       PulseEvent(hEvent);
> 
>   return;
>   }
> 
>   #include <windows.h>
>   #include <ole2.h>
>   #include "pshlo.h"
>   #include "shlo.hxx"
>   #include "mycls.hxx"
> 
>   HANDLE hEvent;
> 
>    int _cdecl main(
>   int argc,
>   char * argv[]
>   ) {
>   ULONG ulRef;
>   DWORD dwRegistration;
>   CHelloCF *pCF = new CHelloCF();
> 
>   hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
> 
>   // Initialize the OLE libraries
>   CoInitializeEx(NULL, COINIT_MULTITHREADED);
> 
>   CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
>       REGCLS_MULTIPLEUSE, &dwRegistration);
> 
>   // wait on an event to stop
>   WaitForSingleObject(hEvent, INFINITE);
> 
>   // revoke and release the class object
>   CoRevokeClassObject(dwRegistration);
>   ulRef = pCF->Release();
> 
>   // Tell OLE we are going away.
>   CoUninitialize();
> 
>   return(0); }
> 
>   extern CLSID CLSID_CHello;
>   extern UUID LIBID_CHelloLib;
> 
>   CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
>       0x2573F891,
>       0xCFEE,
>       0x101A,
>       { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
>   };
> 
>   UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
>       0x2573F890,
>       0xCFEE,
>       0x101A,
>       { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
>   };
> 
>   #include <windows.h>
>   #include <ole2.h>
>   #include <stdlib.h>
>   #include <string.h>
>   #include <stdio.h>
>   #include "pshlo.h"
>   #include "shlo.hxx"
>   #include "clsid.h"
> 
>   int _cdecl main(
>   int argc,
>   char * argv[]
>   ) {
>   HRESULT  hRslt;
>   IHello        *pHello;
>   ULONG  ulCnt;
>   IMoniker * pmk;
>   WCHAR  wcsT[_MAX_PATH];
>   WCHAR  wcsPath[2 * _MAX_PATH];
> 
>   // get object path
>   wcsPath[0] = '\0';
>   wcsT[0] = '\0';
>   if( argc > 1) {
>       mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
>       wcsupr(wcsPath);
>       }
>   else {
>       fprintf(stderr, "Object path must be specified\n");
>       return(1);
>       }
> 
>   // get print string
>   if(argc > 2)
>       mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
>   else
>       wcscpy(wcsT, L"Hello World");
> 
>   printf("Linking to object %ws\n", wcsPath);
>   printf("Text String %ws\n", wcsT);
> 
>   // Initialize the OLE libraries
>   hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);
> 
>   if(SUCCEEDED(hRslt)) {
> 
> 
>       hRslt = CreateFileMoniker(wcsPath, &pmk);
>       if(SUCCEEDED(hRslt))
>    hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);
> 
>       if(SUCCEEDED(hRslt)) {
> 
>    // print a string out
>    pHello->PrintSz(wcsT);
> 
>    Sleep(2000);
>    ulCnt = pHello->Release();
>    }
>       else
>    printf("Failure to connect, status: %lx", hRslt);
> 
>       // Tell OLE we are going away.
>       CoUninitialize();
>       }
> 
>   return(0);
>   }
> 
> 
> 
> 
> Apprentice Hacker
>   #!/usr/local/bin/perl
>   $msg="Hello, world.\n";
>   if ($#ARGV >= 0) {
>     while(defined($arg=shift(@ARGV))) {
>       $outfilename = $arg;
>       open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
>       print (FILE $msg);
>       close(FILE) || die "Can't close $arg: $!\n";
>     }
>   } else {
>     print ($msg);
>   }
>   1;
> 
> 
> 
> 
> Experienced Hacker
>   #include <stdio.h>
>   #define S "Hello, World\n"
>   main(){exit(printf(S) == strlen(S) ? 0 : 1);}
> 
> 
> 
> 
> Seasoned Hacker
>   % cc -o a.out ~/src/misc/hw/hw.c
>   % a.out
> 
> 
> 
> 
> Guru Hacker
>   % echo "Hello, world."
> 
> 
> 
> 
> New Manager
>   10 PRINT "HELLO WORLD"
>   20 END
> 
> 
> 
> 
> Middle Manager
>   mail -s "Hello, world." bob@b12
>   Bob, could you please write me a program that prints "Hello,
>  world."?
>   I need it by tomorrow.
>   ^D
> 
> 
> 
> 
> Senior Manager
>   % zmail jim
>   I need a "Hello, world." program by this afternoon.
> 
> 
> 
> 
> Chief Executive
>   % letter
>   letter: Command not found.
>   % mail
>   To: ^X ^F ^C
>   % help mail
>   help: Command not found.
>   % damn!
>   !: Event unrecognized
>   % logout
> 
> --------------------------------------------------------------
> ----------
> --------Anonymous 
> 
> -----Original Message-----
> From: Gryffyn, Trevor [mailto:TGryffyn@xxxxxxxxxxxxxxxxx] 
> Sent: Thursday, May 20, 2004 10:02 AM
> To: php-windows@xxxxxxxxxxxxx
> Cc: Charles P. Killmer
> Subject: RE:  Passing +, =, - at post and get
> 
> Rube Goldberg would appreciate it.
> 
> > -----Original Message-----
> > From: Charles P. Killmer [mailto:charlesk@xxxxxxxxxxxxxxxxxxxxx]
> > Sent: Thursday, May 20, 2004 11:01 AM
> > To: php-windows@xxxxxxxxxxxxx
> > Subject: RE:  Passing +, =, - at post and get
> > 
> > 
> > How is this 
> >   $String = implode(explode($String, $OldChar), $NewChar); 
> different 
> > than
> >   $String = str_replace($OldChar, $NewChar, $String);
> > 
> > Charles Killmer
> > 
> > -----Original Message-----
> > From: Svensson, B.A.T. (HKG) [mailto:B.A.T.Svensson@xxxxxxx]
> > Sent: Thursday, May 20, 2004 9:48 AM
> > To: 'php-windows@xxxxxxxxxxxxx '
> > Subject: RE:  Passing +, =, - at post and get
> > 
> > In your second if you do a count on the occurence of a 
> character, but 
> > don't use the result, why not use strpos() directly?
> > 
> > Also if you just want to replace a single char with another single 
> > char, then you might like to do like this:
> > 
> >   $String = implode(explode($String, $OldChar), $NewChar);
> > 
> > 
> > 
> > -----Original Message-----
> > From: George Pitcher
> > To: php-windows@xxxxxxxxxxxxx
> > Sent: 20-5-2004 15:43
> > Subject: RE:  Passing +, =, - at post and get
> > 
> > And doing a bit more, I find that '=' and '-' are passing 
> through OK 
> > so I'll need to train my users to use an alternative to '+'.
> > 
> > The choking seems to be with my parsing function, which I 
> have pasted 
> > in
> > below:
> > =================================================
> > function sql_fltr($sql,$field,$input){
> > 	if(strlen($input)>0){
> > 		if( substr_count($input,"=")>0 | substr_count($input,"
> > -")>0 |
> > substr_count($input," +")>0 ){
> > 			$output = "";
> > 			$temp = str_replace(" -","|-",(str_replace("
> > -","|-",($input))));
> > 			$temp = explode("|",$temp);
> > 			for ($i = 0; $i <= sizeof($temp); $i++){
> > 				if (substr($temp[$i],0,1)=="*"){
> > 					$temp[$i] = $field." like
> > '".rtrim(str_replace("*","%",$temp[$i]))."%'";
> > 					$output.= $temp[$i]."|";
> > 				} elseif (substr($temp[$i],0,1)=="-"){
> > 					$temp[$i] = " and ".$field." not
> > like
> > '".rtrim(str_replace("*","%",$temp[$i]))."'";
> > 					$output.= $temp[$i]."|";
> > 				} elseif (substr($temp[$i],0,1)=="="){
> > 					$temp[$i] = " and
> > ".$field."='".rtrim(str_replace("=","",$temp[$i]))."'";
> > 					$output.= $temp[$i]."|";
> > 				} elseif (substr($temp[$i],0,1)!="+" && 
> > substr($temp[$i],0,1)!="-"&&substr($temp[$i],0,1)!="*" && 
> > substr($temp[$i],0,1)!="="){
> > 					$temp[$i] = "and ".$field." like
> > '%".rtrim(str_replace("=","",$temp[$i]))."'";
> > 					$output.= $temp[$i]."|";
> > 				} else {
> > 					$temp[$i] = "
> > ".$field."='".rtrim($temp[$i])."'";
> > 					$output.= $temp[$i]."|";
> > 				}
> > 			}
> > 			$output = " AND
> > ".substr($output,0,strlen($output)-1);
> > 		} else {
> > 			$temp = $input;
> > 			if (substr($temp,0,1)=="*"){
> > 				$temp = $field." like
> > '".rtrim(str_replace("*","%",$temp))."'";
> > 			} elseif (substr($temp,0,1)=="-"){
> > 				$temp = $field." not like
> > '".rtrim(str_replace("*","%",$temp))."'";
> > 			} elseif (substr($temp,0,1)=="="){
> > 				$temp =
> > $field."='".rtrim(str_replace("=","",$temp))."'";
> > 			} elseif (substr($temp,0,1)!="+" && 
> > substr($temp,0,1)!="-"&&substr($temp,0,1)!="*" && 
> > substr($temp,0,1)!="="){
> > 				$temp = $field." like
> > '%".rtrim(str_replace("=","",$temp))."'";
> > 			} else {
> > 				$temp = $field."='".rtrim($temp)."'";
> > 			}
> > 			$output = " AND ".$temp;
> > 		}
> > 	} else {
> > 		$output = "";
> > 	}
> > 	return $output;
> > }
> > =================================================
> > This works fine if the user has eneterd either no control or the * 
> > wildcared with the criteria.
> > 
> > Any suggestions?
> > 
> > Cheers
> > 
> > George
> > 
> > 
> > > -----Original Message-----
> > > From: George Pitcher [mailto:george.pitcher@xxxxxxxxxxx]
> > > Sent: 20 May 2004 2:33 pm
> > > To: php-windows@xxxxxxxxxxxxx
> > > Subject: RE:  Passing +, =, - at post and get
> > >
> > >
> > > Charles,
> > >
> > > No way! This site will only have about 3-4 users as its 
> an intranet 
> > > and I'll be parsing everything at the server end.
> > >
> > > George
> > >
> > >
> > > > -----Original Message-----
> > > > From: Charles P. Killmer [mailto:charlesk@xxxxxxxxxxxxxxxxxxxxx]
> > > > Sent: 20 May 2004 2:31 pm
> > > > To: php-windows@xxxxxxxxxxxxx
> > > > Subject: RE:  Passing +, =, - at post and get
> > > >
> > > >
> > > >  I hope you are not allowing the client to send T-SQL 
> through the
> > query
> > > > string.  Consider them sending something like
> > File.php?Query='; drop
> > 
> > > > table XXX; --
> > > >
> > > > Charles Killmer
> > > >
> > > > -----Original Message-----
> > > > From: George Pitcher [mailto:george.pitcher@xxxxxxxxxxx]
> > > > Sent: Thursday, May 20, 2004 8:25 AM
> > > > To: php-windows@xxxxxxxxxxxxx
> > > > Subject:  Passing +, =, - at post and get
> > > >
> > > > Hi,
> > > >
> > > > I want to be able to pass the '=', '+' and '-' characters
> > both from
> > a
> > > > web form and as part of a url, to enable a better way of
> > searching.
> > > > However, these characters are choking my IIS webserver and not
> > getting
> > > > through to the script.
> > > >
> > > > Can anyone suggest a better way of achieving this?
> > > >
> > > > Cheers
> > > >
> > > > George
> > > >
> > > > --
> > > > PHP Windows Mailing List (http://www.php.net/) To unsubscribe,
> > visit:
> > > > http://www.php.net/unsub.php
> > > >
> > > > --
> > > > PHP Windows Mailing List (http://www.php.net/) To unsubscribe,
> > > > visit: http://www.php.net/unsub.php
> > > >
> > > >
> > >
> > > --
> > > PHP Windows Mailing List (http://www.php.net/) To
> > unsubscribe, visit: 
> > > http://www.php.net/unsub.php
> > >
> > >
> > 
> > --
> > PHP Windows Mailing List (http://www.php.net/) To 
> unsubscribe, visit:
> > http://www.php.net/unsub.php
> > 
> > --
> > PHP Windows Mailing List (http://www.php.net/) To 
> unsubscribe, visit:
> > http://www.php.net/unsub.php
> > 
> > --
> > PHP Windows Mailing List (http://www.php.net/) To 
> unsubscribe, visit: 
> > http://www.php.net/unsub.php
> > 
> > 
> 
> -- 
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux