From 455020c8953b06d3bde036598d57af6eb9bf2b8e Mon Sep 17 00:00:00 2001 From: Apress Date: Wed, 5 Oct 2016 23:56:42 +0100 Subject: [PATCH] First commit --- 0101.html | 7 ++ 0201.html | 13 +++ 0202.html | 10 +++ 0203.html | 16 ++++ 0204.html | 17 ++++ 0301.html | 28 ++++++ 0302.html | 27 ++++++ 0303.html | 72 +++++++++++++++ 0304.html | 32 +++++++ 0305.html | 70 +++++++++++++++ 0401.html | 16 ++++ 0402.html | 16 ++++ 0403.html | 18 ++++ 0404.html | 31 +++++++ 0501.html | 17 ++++ 0502.html | 24 +++++ 0503.html | 29 ++++++ 0504.html | 30 +++++++ 0505.html | 41 +++++++++ 0506.html | 47 ++++++++++ 0601.html | 21 +++++ 0602.html | 26 ++++++ 0603.html | 32 +++++++ 0604.html | 22 +++++ 0605.html | 42 +++++++++ 0606.html | 41 +++++++++ 0607.html | 23 +++++ 0608.html | 24 +++++ 0609.html | 29 ++++++ 0610.html | 50 +++++++++++ 0701.html | 17 ++++ 0702.html | 14 +++ 0703.html | 11 +++ 0704.html | 14 +++ 0705.html | 24 +++++ 0706.html | 34 +++++++ 0707.html | 42 +++++++++ 0708.html | 30 +++++++ 0709.html | 205 ++++++++++++++++++++++++++++++++++++++++++ 0801.html | 36 ++++++++ 0802.html | 38 ++++++++ 0803.html | 70 +++++++++++++++ 0804.html | 47 ++++++++++ 0805.html | 44 +++++++++ 0806.html | 211 ++++++++++++++++++++++++++++++++++++++++++++ 0901.html | 13 +++ 0902.html | 46 ++++++++++ 0903.html | 101 +++++++++++++++++++++ 0904.html | 34 +++++++ 0905.html | 54 ++++++++++++ 1001.html | 21 +++++ 1002.html | 58 ++++++++++++ 1003.html | 61 +++++++++++++ 1004.html | 31 +++++++ 1005.html | 40 +++++++++ 1006.html | 43 +++++++++ 1101.html | 16 ++++ 1102.html | 37 ++++++++ 1103.html | 53 +++++++++++ 3973.html | 24 +++++ 9781590591130.jpg | Bin 0 -> 11854 bytes LICENSE.txt | 27 ++++++ LearnToProgram.html | 12 +++ README.md | 15 ++++ bubble1-swatch.gif | Bin 0 -> 569 bytes bubble1.gif | Bin 0 -> 1645 bytes bubble2-swatch.gif | Bin 0 -> 391 bytes bubble2.gif | Bin 0 -> 1335 bytes check1-swatch.gif | Bin 0 -> 1306 bytes check1.gif | Bin 0 -> 2881 bytes check2-swatch.gif | Bin 0 -> 356 bytes check2.gif | Bin 0 -> 1170 bytes contributing.md | 14 +++ readme.txt | 48 ++++++++++ white.gif | Bin 0 -> 1338 bytes 75 files changed, 2456 insertions(+) create mode 100644 0101.html create mode 100644 0201.html create mode 100644 0202.html create mode 100644 0203.html create mode 100644 0204.html create mode 100644 0301.html create mode 100644 0302.html create mode 100644 0303.html create mode 100644 0304.html create mode 100644 0305.html create mode 100644 0401.html create mode 100644 0402.html create mode 100644 0403.html create mode 100644 0404.html create mode 100644 0501.html create mode 100644 0502.html create mode 100644 0503.html create mode 100644 0504.html create mode 100644 0505.html create mode 100644 0506.html create mode 100644 0601.html create mode 100644 0602.html create mode 100644 0603.html create mode 100644 0604.html create mode 100644 0605.html create mode 100644 0606.html create mode 100644 0607.html create mode 100644 0608.html create mode 100644 0609.html create mode 100644 0610.html create mode 100644 0701.html create mode 100644 0702.html create mode 100644 0703.html create mode 100644 0704.html create mode 100644 0705.html create mode 100644 0706.html create mode 100644 0707.html create mode 100644 0708.html create mode 100644 0709.html create mode 100644 0801.html create mode 100644 0802.html create mode 100644 0803.html create mode 100644 0804.html create mode 100644 0805.html create mode 100644 0806.html create mode 100644 0901.html create mode 100644 0902.html create mode 100644 0903.html create mode 100644 0904.html create mode 100644 0905.html create mode 100644 1001.html create mode 100644 1002.html create mode 100644 1003.html create mode 100644 1004.html create mode 100644 1005.html create mode 100644 1006.html create mode 100644 1101.html create mode 100644 1102.html create mode 100644 1103.html create mode 100644 3973.html create mode 100644 9781590591130.jpg create mode 100644 LICENSE.txt create mode 100644 LearnToProgram.html create mode 100644 README.md create mode 100644 bubble1-swatch.gif create mode 100644 bubble1.gif create mode 100644 bubble2-swatch.gif create mode 100644 bubble2.gif create mode 100644 check1-swatch.gif create mode 100644 check1.gif create mode 100644 check2-swatch.gif create mode 100644 check2.gif create mode 100644 contributing.md create mode 100644 readme.txt create mode 100644 white.gif diff --git a/0101.html b/0101.html new file mode 100644 index 0000000..845b940 --- /dev/null +++ b/0101.html @@ -0,0 +1,7 @@ + + + + + diff --git a/0201.html b/0201.html new file mode 100644 index 0000000..d4424e5 --- /dev/null +++ b/0201.html @@ -0,0 +1,13 @@ + + +

+ +

+ + diff --git a/0202.html b/0202.html new file mode 100644 index 0000000..a4c4e39 --- /dev/null +++ b/0202.html @@ -0,0 +1,10 @@ + + +

+ +

+ + diff --git a/0203.html b/0203.html new file mode 100644 index 0000000..f871d9f --- /dev/null +++ b/0203.html @@ -0,0 +1,16 @@ + + +

+ +

+ + diff --git a/0204.html b/0204.html new file mode 100644 index 0000000..e0d55f5 --- /dev/null +++ b/0204.html @@ -0,0 +1,17 @@ + + +

+ +

+ + diff --git a/0301.html b/0301.html new file mode 100644 index 0000000..a258c0b --- /dev/null +++ b/0301.html @@ -0,0 +1,28 @@ + + +
+ + + + + + + + + + + + + + + + + + + + +
Enter Your Name:
Enter Your Age:
+
+ + diff --git a/0302.html b/0302.html new file mode 100644 index 0000000..0d6273d --- /dev/null +++ b/0302.html @@ -0,0 +1,27 @@ + + +

+ +

+ + diff --git a/0303.html b/0303.html new file mode 100644 index 0000000..cf7a7fb --- /dev/null +++ b/0303.html @@ -0,0 +1,72 @@ + + + + JavaScript "Rock, Scissors, Paper" Game + + + + +

+ Play "Rock, Scissors and Paper" the JavaScript way! +

+ +
+

Make a choice: +
+ Rock
+ Paper
+ Scissors +

+
+
+ +

+ + \ No newline at end of file diff --git a/0304.html b/0304.html new file mode 100644 index 0000000..ca1e758 --- /dev/null +++ b/0304.html @@ -0,0 +1,32 @@ + + +

+ +

+ + diff --git a/0305.html b/0305.html new file mode 100644 index 0000000..2aa406e --- /dev/null +++ b/0305.html @@ -0,0 +1,70 @@ + + + + JavaScript "Rock, Scissors, Paper" Game + + + + +

+ Play "Rock, Scissors, and Paper" the JavaScript way! +

+ +
+

Make a choice: +
+ Rock
+ Paper
+ Scissors +

+
+
+ +

+ + diff --git a/0401.html b/0401.html new file mode 100644 index 0000000..f10e22b --- /dev/null +++ b/0401.html @@ -0,0 +1,16 @@ + + +

+ +

+ + diff --git a/0402.html b/0402.html new file mode 100644 index 0000000..2c58ab7 --- /dev/null +++ b/0402.html @@ -0,0 +1,16 @@ + + +

+ +

+ + diff --git a/0403.html b/0403.html new file mode 100644 index 0000000..3e52d02 --- /dev/null +++ b/0403.html @@ -0,0 +1,18 @@ + + +

+ +

+ + diff --git a/0404.html b/0404.html new file mode 100644 index 0000000..fd784ea --- /dev/null +++ b/0404.html @@ -0,0 +1,31 @@ + + +
+ +
+ + \ No newline at end of file diff --git a/0501.html b/0501.html new file mode 100644 index 0000000..c6fbfd8 --- /dev/null +++ b/0501.html @@ -0,0 +1,17 @@ + + +

+ +

+ + diff --git a/0502.html b/0502.html new file mode 100644 index 0000000..3100ebd --- /dev/null +++ b/0502.html @@ -0,0 +1,24 @@ + + + + Add three numbers + + + + +
+ + + + +
+ + diff --git a/0503.html b/0503.html new file mode 100644 index 0000000..220da1d --- /dev/null +++ b/0503.html @@ -0,0 +1,29 @@ + + + + Add three numbers + + + + +
+ + + + + + + +
+
+
+ + diff --git a/0504.html b/0504.html new file mode 100644 index 0000000..df452e0 --- /dev/null +++ b/0504.html @@ -0,0 +1,30 @@ + + + + Add all of the numbers + + + + +
+ + + + + + + +
+
+
+ + diff --git a/0505.html b/0505.html new file mode 100644 index 0000000..a871cd2 --- /dev/null +++ b/0505.html @@ -0,0 +1,41 @@ + + + + Counting rabbits... + + + + +
+ + + +
+ +
+
+ + diff --git a/0506.html b/0506.html new file mode 100644 index 0000000..004a43c --- /dev/null +++ b/0506.html @@ -0,0 +1,47 @@ + + + + Simple dialogs + + + + +
+ + + + + + + +
+ +
+ +
+ +
+
+ + diff --git a/0601.html b/0601.html new file mode 100644 index 0000000..4762b93 --- /dev/null +++ b/0601.html @@ -0,0 +1,21 @@ + + + + Year of the ? + + + +

+ +

+ + diff --git a/0602.html b/0602.html new file mode 100644 index 0000000..53acac8 --- /dev/null +++ b/0602.html @@ -0,0 +1,26 @@ + + + + Iteration + + + +

+ +

+ + diff --git a/0603.html b/0603.html new file mode 100644 index 0000000..355f88d --- /dev/null +++ b/0603.html @@ -0,0 +1,32 @@ + + + + Iteration Two + + + + +

+ +

+ + diff --git a/0604.html b/0604.html new file mode 100644 index 0000000..4f65fc2 --- /dev/null +++ b/0604.html @@ -0,0 +1,22 @@ + + + +Simple Stack Example + + + +

+ +

+ + diff --git a/0605.html b/0605.html new file mode 100644 index 0000000..e5f1b11 --- /dev/null +++ b/0605.html @@ -0,0 +1,42 @@ + + + Stacking up! + + + + +
+ + + + + +
+ + \ No newline at end of file diff --git a/0606.html b/0606.html new file mode 100644 index 0000000..44dac5a --- /dev/null +++ b/0606.html @@ -0,0 +1,41 @@ + + + +Two-dimensional array work around + + + + + + diff --git a/0607.html b/0607.html new file mode 100644 index 0000000..f07c87e --- /dev/null +++ b/0607.html @@ -0,0 +1,23 @@ + + + +Array methods + + + +

+ +

+ + diff --git a/0608.html b/0608.html new file mode 100644 index 0000000..98db7ae --- /dev/null +++ b/0608.html @@ -0,0 +1,24 @@ + + + +Numeric comparison + + + +

+ +

+ + diff --git a/0609.html b/0609.html new file mode 100644 index 0000000..e537435 --- /dev/null +++ b/0609.html @@ -0,0 +1,29 @@ + + + +Case-insensitive comparison + + + +

+ +

+ + diff --git a/0610.html b/0610.html new file mode 100644 index 0000000..c0ceddf --- /dev/null +++ b/0610.html @@ -0,0 +1,50 @@ + + + + Elements Array + + + + + + diff --git a/0701.html b/0701.html new file mode 100644 index 0000000..9fa9165 --- /dev/null +++ b/0701.html @@ -0,0 +1,17 @@ + + + Properties + + +

+ +

+ + \ No newline at end of file diff --git a/0702.html b/0702.html new file mode 100644 index 0000000..6876e1d --- /dev/null +++ b/0702.html @@ -0,0 +1,14 @@ + + + Methods + + +

+I'm not even fully opened yet! + +

+ + \ No newline at end of file diff --git a/0703.html b/0703.html new file mode 100644 index 0000000..e82c714 --- /dev/null +++ b/0703.html @@ -0,0 +1,11 @@ + + + onMouseOver Event + + +

+ + Please do not leave me! +

+ + \ No newline at end of file diff --git a/0704.html b/0704.html new file mode 100644 index 0000000..79cd394 --- /dev/null +++ b/0704.html @@ -0,0 +1,14 @@ + + + Window Object Properties Array + + + + + \ No newline at end of file diff --git a/0705.html b/0705.html new file mode 100644 index 0000000..980b478 --- /dev/null +++ b/0705.html @@ -0,0 +1,24 @@ + + + Associative object arrays + + + + + \ No newline at end of file diff --git a/0706.html b/0706.html new file mode 100644 index 0000000..c0f2e80 --- /dev/null +++ b/0706.html @@ -0,0 +1,34 @@ + + +Instance method demo + + +

+ +

+ + diff --git a/0707.html b/0707.html new file mode 100644 index 0000000..3389482 --- /dev/null +++ b/0707.html @@ -0,0 +1,42 @@ + + + Custom objects and associative object arrays + + + + + + \ No newline at end of file diff --git a/0708.html b/0708.html new file mode 100644 index 0000000..f011892 --- /dev/null +++ b/0708.html @@ -0,0 +1,30 @@ + + +Instance method demo + + +

+ +

+ + diff --git a/0709.html b/0709.html new file mode 100644 index 0000000..64716f3 --- /dev/null +++ b/0709.html @@ -0,0 +1,205 @@ + + +Tchatshke Gulch - The world's smallest on-line marketplace + + + +

Tchatshke Gulch

+

World's smallest on-line marketplace

+ + + + + +
+ + +
+ + + + + + +
Enter lot number:
Enter description:
Enter starting bid:
Enter bid increment:
+
+ +
+ + +
+ + + + +
Enter your name:
Enter maximum bid:
+
+ + +
+ + +
+ + + + + + + +
+
+ + + +
+ + + + + diff --git a/0801.html b/0801.html new file mode 100644 index 0000000..32f3e95 --- /dev/null +++ b/0801.html @@ -0,0 +1,36 @@ + + + Keystroke detector + + + + +
+ + +
+ + + \ No newline at end of file diff --git a/0802.html b/0802.html new file mode 100644 index 0000000..867e310 --- /dev/null +++ b/0802.html @@ -0,0 +1,38 @@ + + + On Close + + + + + \ No newline at end of file diff --git a/0803.html b/0803.html new file mode 100644 index 0000000..7961cf4 --- /dev/null +++ b/0803.html @@ -0,0 +1,70 @@ + + + Text Input Events + + + +
+ + + + +
+Enter Your First Name: + + +
+Enter Your Last Name: + + +
+Enter Your Profession: + + +
+Enter Your City: + + +
+ +
+
+ + \ No newline at end of file diff --git a/0804.html b/0804.html new file mode 100644 index 0000000..3706ad0 --- /dev/null +++ b/0804.html @@ -0,0 +1,47 @@ + + +An event of my own! + + + + + + + + + + +
Name your object:
Enter first text:
Enter second text:
+ + diff --git a/0805.html b/0805.html new file mode 100644 index 0000000..77d4db5 --- /dev/null +++ b/0805.html @@ -0,0 +1,44 @@ + + +As time goes by... + + + + + + + + + + + +
Name your object:
+ + diff --git a/0806.html b/0806.html new file mode 100644 index 0000000..7c6b965 --- /dev/null +++ b/0806.html @@ -0,0 +1,211 @@ + + +Tchatshke Gulch - The world's smallest on-line marketplace + + + +

Tchatshke Gulch

+

World's smallest on-line marketplace

+

New and improved, featuring automatic bid updating!

+ + + + + + +
+ + +
+ + + + + + +
Enter lot number:
Enter description:
Enter starting bid:
Enter bid increment:
+
+ +
+ + +
+ + + + +
Enter your name:
Enter maximum bid:
+
+ + +
+ + +
+ + + + + + + +
+
+ + + +
+ + + + + diff --git a/0901.html b/0901.html new file mode 100644 index 0000000..2afeeda --- /dev/null +++ b/0901.html @@ -0,0 +1,13 @@ + + +A link is a link is a link... + + +

+ +

+ + diff --git a/0902.html b/0902.html new file mode 100644 index 0000000..71c08ce --- /dev/null +++ b/0902.html @@ -0,0 +1,46 @@ + + + Validate + + + +

+Pearly Gates Admission Form! +

+Note: Fields marked with an asterisk (*) are required. Saint Peter will know if you lie. +
+ + + + +
+Enter Your First Name (*): + + +
+Enter Your Last Name (*): + + +
+Enter Your Profession (*): + + +
+Enter Your City: + + +
+ +
+
+ + \ No newline at end of file diff --git a/0903.html b/0903.html new file mode 100644 index 0000000..727e6d2 --- /dev/null +++ b/0903.html @@ -0,0 +1,101 @@ + + + String Play + + + +

+Playing with strings! +

+ +
+ + + + + + + + + + + +
+Enter a text string: +
+ +
+ + + + + + + + + +
+

+Results
+
+ +
+ +
+
+ + \ No newline at end of file diff --git a/0904.html b/0904.html new file mode 100644 index 0000000..ad576dc --- /dev/null +++ b/0904.html @@ -0,0 +1,34 @@ + + + Can I have a date, please? + + + +

+Check a date format today! +

+
+ + + + +
+Enter a date in mm/dd/yyyy format: +
+ +
+ +
+
+ + \ No newline at end of file diff --git a/0905.html b/0905.html new file mode 100644 index 0000000..acfee4b --- /dev/null +++ b/0905.html @@ -0,0 +1,54 @@ + + + Strim a tring + + + +

+Trim a string today! +

+
+ + + +
+Enter string for trimming: +
+ +
+ + + +


+Here's the trimmed string: +
+ +
+
+ + \ No newline at end of file diff --git a/1001.html b/1001.html new file mode 100644 index 0000000..b7c83f7 --- /dev/null +++ b/1001.html @@ -0,0 +1,21 @@ + + +Don't bug me, please! + + + +

+ +

+
+ +
+ + diff --git a/1002.html b/1002.html new file mode 100644 index 0000000..84beaab --- /dev/null +++ b/1002.html @@ -0,0 +1,58 @@ + + + Squash Bugs! + + + +

+Squash Those Bugs! +

+ +
+ + + + + + + + + +
+Enter a text string: +
+ +
+ + + +
+

+Results
+
+ +
+ +
+
+ + \ No newline at end of file diff --git a/1003.html b/1003.html new file mode 100644 index 0000000..dee2923 --- /dev/null +++ b/1003.html @@ -0,0 +1,61 @@ + + + Squash Bugs! + + + +

+Squash Those Bugs! +

+ +
+ + + + + + + + + +
+Enter a text string: +
+ +
+ + + +
+

+Results
+
+ +
+ +
+
+ + \ No newline at end of file diff --git a/1004.html b/1004.html new file mode 100644 index 0000000..4c28a90 --- /dev/null +++ b/1004.html @@ -0,0 +1,31 @@ + + +Don't bug me, please! + + + +

+ +

+
+ +
+ + diff --git a/1005.html b/1005.html new file mode 100644 index 0000000..af3918e --- /dev/null +++ b/1005.html @@ -0,0 +1,40 @@ + + + Throw that error! + + + + +

+Throw that error! +

+ +
+ + + + + + + + +
+Enter text for the error: + + +
+ + +
+
+ + \ No newline at end of file diff --git a/1006.html b/1006.html new file mode 100644 index 0000000..33935ae --- /dev/null +++ b/1006.html @@ -0,0 +1,43 @@ + + + Catch that error! + + + +

+Catch that error! +

+
+ + +
+We can handle 42: + + +
+ + +
+
+ + \ No newline at end of file diff --git a/1101.html b/1101.html new file mode 100644 index 0000000..50c215a --- /dev/null +++ b/1101.html @@ -0,0 +1,16 @@ + + + +Test that password + + + + + + \ No newline at end of file diff --git a/1102.html b/1102.html new file mode 100644 index 0000000..de4676f --- /dev/null +++ b/1102.html @@ -0,0 +1,37 @@ + + + Visualize Your Butterfly! + + +

+Visualize Your Butterfly! +

+Pass your mouse over a pattern to see the butterfly wearing it! +

+ + + + + + + +
+ + + + + + + + + +
+ + diff --git a/1103.html b/1103.html new file mode 100644 index 0000000..9cac20b --- /dev/null +++ b/1103.html @@ -0,0 +1,53 @@ + + + Slide Show + + + +

View a slide show of our garden today!

+
+ + +
+ + + + + +

+
+ + + diff --git a/3973.html b/3973.html new file mode 100644 index 0000000..a174966 --- /dev/null +++ b/3973.html @@ -0,0 +1,24 @@ + + + +Errata - Learn How to Program by Harold Davis + + + +

+Errata - Learn How to Program by Harold Davis +

+

+ + + + + + + +
Page & ChapterCorrectionComments
Top of page 123, Ch 5In code Listing 5-5, the function called towards the end of the listing should be named "addNums()" rather than "addThreeNums()". +This conforms to the explanation in the text of the chapter. +This is a typographic error in the code listing. Thanks to reader Brian Ball for pointing it out. +
+ + \ No newline at end of file diff --git a/9781590591130.jpg b/9781590591130.jpg new file mode 100644 index 0000000000000000000000000000000000000000..12d32623e4f529e1a55769ede1d786a8fbab16d4 GIT binary patch literal 11854 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 RvVe^L+i(5{V~p3u{{< + + +Learn to Program + + + +

+You made it: You're in like Flynn. +

+ + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e6ad0be --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +#Apress Source Code + +This repository accompanies [*Learn How to Program Using Any Web Browser*](http://www.apress.com/9781590591130) by Harold Davis (Apress, 2004). + +![Cover image](9781590591130.jpg) + +Download the files as a zip using the green button, or clone the repository to your machine using Git. + +##Releases + +Release v1.0 corresponds to the code in the published book, without corrections or updates. + +##Contributions + +See the file Contributing.md for more information on how you can contribute to this repository. diff --git a/bubble1-swatch.gif b/bubble1-swatch.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad1ed1023a5562f2a69074835031328960146343 GIT binary patch literal 569 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 literal 0 HcmV?d00001 diff --git a/bubble2.gif b/bubble2.gif new file mode 100644 index 0000000000000000000000000000000000000000..85c0076f0e01f3e7faf6c25935a417827b87ddb7 GIT binary patch literal 1335 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 CJDfQH literal 0 HcmV?d00001 diff --git a/check2.gif b/check2.gif new file mode 100644 index 0000000000000000000000000000000000000000..0a0bdeb2ca8eb79d37b98a5f24a2ff2b0992b869 GIT binary patch literal 1170 zcmV;D1a13ANk%w1VR8Ue0HOc@9~u`mBy`p>Ebg`!|Ns900000000000EC2ui0CE6S z000R700{^jNU)&6g9sBUT*$DYLjVvX0w5?cqQi?AGirPYAb`h@0VWdY2-2g)jVM#9 zEEusQ$cZFfdK>_8rOlfRAr2TI^JPq#0)p1WNfalp#-=#he3i}w5w zDPn}F1>9z-IkId4uSY6Hi#6-srN>PsFHT&hTCE?O7bk5n=I((cuM2F8ReDLi(B1wb zE&e^H^3vz?k_YJ>dG)Pi*QZ^W9eqgq@;$b{e-Qd(p82_ln}95(S6z7I{pZ|(B`Fx- zd<@=JUw;pRZNeN|sTc)VtktI49 zRhGh?N79z^by;L|@p0IkNI$`ZTul4Px1X2nwOOHba;7zBo^O?S=bHNI`Ji`wX5}ZK z;|XeLl-t1$Ql0BT8||a{wdX9ONjbXdp48fD zsCH!*x@~~cl2>kb-9-eu@$9too^$QLC(pdh&Ocv0 zi^o$X{q@ZUDLeO7W>1yw2v1MF_ucoqSnx8DUq1Nft6v-Hr>nkH{aTY-bV{8|9{Nit z!r%Y&XBU+W&T{NZ)P101I!vkNcl2{$LToO>dNx)>Hpkx@zy0^?M;Lmo9g4MEO1 k<6+k0#;dW>Cvwb;QWS$1-c*E-eWcGH0U5|b5+EP|JL~sGMF0Q* literal 0 HcmV?d00001 diff --git a/contributing.md b/contributing.md new file mode 100644 index 0000000..f6005ad --- /dev/null +++ b/contributing.md @@ -0,0 +1,14 @@ +# Contributing to Apress Source Code + +Copyright for Apress source code belongs to the author(s). However, under fair use you are encouraged to fork and contribute minor corrections and updates for the benefit of the author(s) and other readers. + +## How to Contribute + +1. Make sure you have a GitHub account. +2. Fork the repository for the relevant book. +3. Create a new branch on which to make your change, e.g. +`git checkout -b my_code_contribution` +4. Commit your change. Include a commit message describing the correction. Please note that if your commit message is not clear, the correction will not be accepted. +5. Submit a pull request. + +Thank you for your contribution! \ No newline at end of file diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..4448857 --- /dev/null +++ b/readme.txt @@ -0,0 +1,48 @@ +Readme file for source code associated with "Learn How to Program: Using Any Web Browser" +by Harold Davis +Published by Apress +(C) Harold Davis 2004. All rights reserved. +ISBN 1-59059-113-5 + +Please note: I recommend that you hand enter code rather than downloading it. +That way you will learn more, and have more fun, too! + +INSTRUCTIONS: + +The source code is organized in HTML files by chapter, so the first two digits in each file name +designate the chapter the source file is associated with. For example, 0301.html is the first +program in Chapter 3 of "Learn How to Program." (Note that the sequential numbering of source +files within each chapter does not correspond to the listing numbers in the book, because some +programs are represented by more than one book code listing.) + + +To run the programs, first download the zip archive to your computer. Next, unzip the file to +the folder of your choice. (Presumambly you've already successfully performed these steps as +you are reading this!) Finally, open each HTML file in your Web browser (for detailed instructions +about how to do this, see "Writing and Running Your First Program" in +Chapter 1 of "Learn How to Program"). + + +You can view the source code of any HTML file that is open in a Web browser. To do this in +Internet Explorer, choose Source from the View menu. In Mozilla or Netscape, choose +Page Source from the View menu. + + +Finally, you should note that this zip archive contains a few miscellaneous files used in +Chapter 11 in addition to source code files. These are the .Gif files used in the rollover +example, and "LearnToProgram.html," which is the "password protected lite" example +file used in that chapter. + + +Thanks for reading my book. + + +I am always interested in hearing about problems with the source code, or suggestions for +improvements or extensions to any of the examples. + + +Harold Davis +learntoprogram@bearhome.com + + + diff --git a/white.gif b/white.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff66a1f3455c3257de5c9fdbc7f4ad7ed9b63057 GIT binary patch literal 1338 zcmV-A1;zSDNk%w1VR8Ue0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~EC2ui0CE6S000R70RIUbNU)&6g9sBUT*$DY!wnE4ZXhTzqQi?AGirP| z(O}1p1ubqINwQ=}hzTcxM2OO)%a;pV#$1__Cd`{9Wir$`6Q|FOJa^jc`Ln3Ppbe1< zHOh3L(xgKro)te^xQ3t$OxjMv!FBCPjNQuG6Y_ zm)13lb1hxIJM+f$xl%6Fz<`e?uKAOu;kkqVrd;gxG31bqySkk$*{jj0mM?pzoHwiA zk)WAA-CVXa#i^;AB8A&}=;@p+r;`3_leJ*jxpljiT=@5Gm$8NGq+R;8@ZZj#cV^Cf zxbEcAtF!i