Hello World - was (RE: [PHP-WIN] Passing +, =, - at post and get)
| From: | Gryffyn, Trevor | Date: | Thu, 20 May 2004 15:29:13 +0000 |
| Subject: | Hello World - was (RE: [PHP-WIN] Passing +, =, - at post and get) | ||
| Groups: | php.windows | ||
| Request: | Send a blank email to php-windows+get-23783@lists.php.net to get a copy of this message | ||
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@netgaintechnology.com]
> Sent: Thursday, May 20, 2004 11:17 AM
> To: php-windows@lists.php.net
> Subject: RE: [PHP-WIN] 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@air-cargo-inc.com]
> Sent: Thursday, May 20, 2004 10:02 AM
> To: php-windows@lists.php.net
> Cc: Charles P. Killmer
> Subject: RE: [PHP-WIN] Passing +, =, - at post and get
>
> Rube Goldberg would appreciate it.
>
> > -----Original Message-----
> > From: Charles P. Killmer [mailto:charlesk@netgaintechnology.com]
> > Sent: Thursday, May 20, 2004 11:01 AM
> > To: php-windows@lists.php.net
> > Subject: RE: [PHP-WIN] 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@lumc.nl]
> > Sent: Thursday, May 20, 2004 9:48 AM
> > To: 'php-windows@lists.php.net '
> > Subject: RE: [PHP-WIN] 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@lists.php.net
> > Sent: 20-5-2004 15:43
> > Subject: RE: [PHP-WIN] 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@ingenta.com]
> > > Sent: 20 May 2004 2:33 pm
> > > To: php-windows@lists.php.net
> > > Subject: RE: [PHP-WIN] 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@netgaintechnology.com]
> > > > Sent: 20 May 2004 2:31 pm
> > > > To: php-windows@lists.php.net
> > > > Subject: RE: [PHP-WIN] 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@ingenta.com]
> > > > Sent: Thursday, May 20, 2004 8:25 AM
> > > > To: php-windows@lists.php.net
> > > > Subject: [PHP-WIN] 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
>
>