java script for foxpro developers
TRANSCRIPT
![Page 1: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/1.jpg)
JavaScript for FoxPro Developers
Mike Feltman
F1 Technologies
![Page 2: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/2.jpg)
Who Am I?
• President F1 Technologies since 1990
• Co-author Visual FoxExpress
• Consultant
![Page 3: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/3.jpg)
Agenda
• Why JavaScript?
• VFP vs. JavaScript
• JS Basics
• JS Syntax & VFP Concordance
• JS OOP
• AJAX w/ VFP
![Page 4: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/4.jpg)
Why JavaScript?
• Web 2.0
• Great way to take VFP Skills to the Web
• In demand
• Cross-Platform
• Relatively easy for VFP Developers to pick up
![Page 5: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/5.jpg)
VFP vs. JavaScript: Runtime Environment
VFP– Operating System:
• Windows
Version:• VFP Compiler Version
JavaScript– Operating System:
• Windows, MAC, Linux, Unix, etc.
Version:• Browser Controlled: IE,
Firefox, Opera, Safari, etc.
• 1.5 current “standard”
![Page 6: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/6.jpg)
VFP vs. JavaScript: Development Environment
VFP– Designers: Editor, Form
Class Designer, Report Write, Class Browser, etc. built-in.
– Debugger: Integrated debugger, with Trace, Watch, Locals, Output, Call Stack
– Command Window
JavaScript– Designers: n/a, Requires
3rd Party tools. No definitive IDE
– Debugger: virtually nothing native. Varies by browser, Firebug for Firefox and Debugbar for IE.
– JavaScript Console various other Command Window like utilities.
![Page 7: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/7.jpg)
VFP vs. JavaScript: Capabilities
VFP– Access to File System– Database Engine– Network access limited
only by network security
JavaScript– No File System
Access– Can’t read or write to
files on server– Can’t read or write to
files on client– No network access– Cannot access pages
on another domain
![Page 8: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/8.jpg)
VFP vs. JavaScript: Language Features
VFP – Dynamically Typed– Case Insensitive– “Second Class”
Functions– No Nested Functions– Compiled or
Interpreted– OOP: Class Based– “1 based”
JavaScript– Dynamically Typed– Case Sensitive– First Class Functions– Nested Functions– Interpreted– OOP: Prototype based– “0 based”
![Page 9: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/9.jpg)
Syntax
VFP– Line Terminator:
carriage return– Line Continuation:
semi-colon
JavaScript– Line Terminator: semi-
colon– Line Continuation: n/a
![Page 10: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/10.jpg)
Math Operators
Function VFP JavaScript
Addition + +
Subtraction - -
Multiplication * *
Division / /
Modulus MOD() %
Unary addition x=x+1 x++
Unary subtraction
x=x-1 x--
![Page 11: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/11.jpg)
Assignment Operators
Function VFP JavaScript
Equality = =
Addition n/a +=
Subtraction n/a -=
Multiplication n/a *=
Division n/a /=
Modulus n/a %=
![Page 12: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/12.jpg)
Comparison Operators
Function VFP JavaScript
Equality =,== ==
Greater than >, >= >, >=
Less Than <, <= <, <=
Identical & of Same Type
n/a ===
Not Identical !=,!==,<> !==
Inline IF IIF() (condition)?true value: false value
![Page 13: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/13.jpg)
Logical Operators
Function VFP JavaScript
And AND &&
Or OR ||
Not NOT, ! !
![Page 14: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/14.jpg)
Constructs: If
VFP:
IF
statement(s)
ELSE
statement(s)
ENDIF
JavaScript:
if (logical expression)
{statement(s)}
else if (logical expression)
{statements}
else
{statement(s)}
![Page 15: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/15.jpg)
Constructs: While
VFPDO WHILE expression
statements
ENDDO
EXIT
LOOP
JavaScript
while (expression)
{
statements
}
break
continue
![Page 16: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/16.jpg)
Constructs: For
VFPFOR var = n to n STEP n
statements
ENDFOR
JavaScript
for (var=startvalue;var<=endvalue;var=var+increment)
{
statements
}
![Page 17: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/17.jpg)
Object Model
![Page 18: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/18.jpg)
Event Model
![Page 19: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/19.jpg)
Forms
![Page 20: Java script for foxpro developers](https://reader036.vdocument.in/reader036/viewer/2022082605/555838d1d8b42acb078b4a2c/html5/thumbnails/20.jpg)
3rd Party