SlideShare a Scribd company logo
1 of 20
JavaScript for FoxPro
    Developers
     Mike Feltman
    F1 Technologies
Who Am I?
• President F1 Technologies since 1990
• Co-author Visual FoxExpress
• Consultant
Agenda
•   Why JavaScript?
•   VFP vs. JavaScript
•   JS Basics
•   JS Syntax & VFP Concordance
•   JS OOP
•   AJAX w/ VFP
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
VFP vs. JavaScript: Runtime
             Environment
VFP                             JavaScript
 – Operating System:              – Operating System:
       • Windows                     • Windows, MAC, Linux,
      Version:                         Unix, etc.
       • VFP Compiler Version     Version:
                                     • Browser Controlled: IE,
                                       Firefox, Opera, Safari,
                                       etc.
                                     • 1.5 current “standard”
VFP vs. JavaScript: Development
           Environment
VFP                               JavaScript
  – Designers: Editor, Form          – Designers: n/a, Requires 3rd
    Class Designer, Report             Party tools. No definitive
    Write, Class Browser, etc.         IDE
    built-in.                        – Debugger: virtually nothing
  – Debugger: Integrated               native. Varies by browser,
    debugger, with Trace,              Firebug for Firefox and
    Watch, Locals, Output, Call        Debugbar for IE.
    Stack                            – JavaScript Console various
  – Command Window                     other Command Window
                                       like utilities.
VFP vs. JavaScript: Capabilities
VFP                          JavaScript
 – Access to File System       – No File System
 – Database Engine               Access
 – Network access              – Can’t read or write to
   limited only by network       files on server
   security                    – Can’t read or write to
                                 files on client
                               – No network access
                               – Cannot access pages
                                 on another domain
VFP vs. JavaScript: Language
            Features
VFP                      JavaScript
 – Dynamically Typed       –   Dynamically Typed
 – Case Insensitive        –   Case Sensitive
 – “Second Class”          –   First Class Functions
   Functions               –   Nested Functions
 – No Nested Functions     –   Interpreted
 – Compiled or             –   OOP: Prototype based
   Interpreted             –   “0 based”
 – OOP: Class Based
 – “1 based”
Syntax
VFP                     JavaScript
 – Line Terminator:       – Line Terminator: semi-
   carriage return          colon
 – Line Continuation:     – Line Continuation: n/a
   semi-colon
Math Operators
Function         VFP     JavaScript
Addition         +       +
Subtraction      -       -
Multiplication   *       *
Division         /       /
Modulus          MOD()   %
Unary addition   x=x+1   x++
Unary            x=x-1   x--
subtraction
Assignment Operators
Function         VFP   JavaScript
Equality         =     =
Addition         n/a   +=

Subtraction      n/a   -=
Multiplication   n/a   *=
Division         n/a   /=
Modulus          n/a   %=
Comparison Operators
Function         VFP         JavaScript
Equality         =,==        ==
Greater than     >, >=       >, >=
Less Than        <, <=       <, <=
Identical & of   n/a         ===
Same Type
Not Identical    !=,!==,<>   !==
Inline IF        IIF()       (condition)?true
                             value: false
                             value
Logical Operators
Function      VFP        JavaScript
And           AND        &&
Or            OR         ||


Not           NOT, !     !
Constructs: If
VFP:                     JavaScript:
IF                       if (logical expression)
   statement(s)          {statement(s)}
ELSE                     else if (logical
   statement(s)              expression)
ENDIF                    {statements}
                         else
                         {statement(s)}
Constructs: While
VFP                    JavaScript
 DO WHILE expression     while (expression)
  statements             {
 ENDDO
                             statements
                         }

 EXIT                  break
 LOOP                  continue
Constructs: For
VFP                      JavaScript
 FOR var = n to n STEP n   for
  statements               (var=startvalue;var<=
 ENDFOR                    endvalue;var=var+inc
                           rement)
                           {
                               statements
                           }
Object Model
Event Model
Forms
3 Party
 rd

More Related Content

What's hot

Java Web Uygulama Geliştirme
Java Web Uygulama GeliştirmeJava Web Uygulama Geliştirme
Java Web Uygulama Geliştirmeahmetdemirelli
 
Exceção de Pré Executividade - 2015
Exceção de Pré Executividade - 2015Exceção de Pré Executividade - 2015
Exceção de Pré Executividade - 2015Consultor JRSantana
 
Contrarrazões apelação maria_da_conceição_antônio_manuel
Contrarrazões apelação maria_da_conceição_antônio_manuelContrarrazões apelação maria_da_conceição_antônio_manuel
Contrarrazões apelação maria_da_conceição_antônio_manuelEliton Meneses
 
Fato jurídico
Fato jurídicoFato jurídico
Fato jurídicoDani Raysa
 
Agravo em recurso extraordinario stf - master classica
Agravo em recurso extraordinario   stf - master classicaAgravo em recurso extraordinario   stf - master classica
Agravo em recurso extraordinario stf - master classicaConsultor JRSantana
 
2094 - EMBARGOS DE TERCEIRO - Atualizado Novo Cpc
2094 - EMBARGOS DE TERCEIRO - Atualizado Novo Cpc2094 - EMBARGOS DE TERCEIRO - Atualizado Novo Cpc
2094 - EMBARGOS DE TERCEIRO - Atualizado Novo CpcConsultor JRSantana
 
1072- AGRAVO NOS PRÓPRIOS AUTOS II
1072- AGRAVO NOS PRÓPRIOS AUTOS II1072- AGRAVO NOS PRÓPRIOS AUTOS II
1072- AGRAVO NOS PRÓPRIOS AUTOS IIConsultor JRSantana
 
Trabalho - Competência da jt art.114 cf
Trabalho - Competência da jt art.114 cfTrabalho - Competência da jt art.114 cf
Trabalho - Competência da jt art.114 cfdireitoturmamanha
 
Modelo procuracao.doc
Modelo procuracao.docModelo procuracao.doc
Modelo procuracao.docsindiconet
 
Modelo de procuração particular para fins específicos
Modelo de procuração particular para fins específicosModelo de procuração particular para fins específicos
Modelo de procuração particular para fins específicosAlberto Bezerra
 
Contratos aula 1 (1)
Contratos aula 1 (1)Contratos aula 1 (1)
Contratos aula 1 (1)Kellen Eloisa
 
Modelo execução contra fazenda pública
Modelo execução contra fazenda públicaModelo execução contra fazenda pública
Modelo execução contra fazenda públicaAlexandre Alex
 
4-CONTESTAÇÃO TRABALHISTA - Empregador.docx
4-CONTESTAÇÃO TRABALHISTA - Empregador.docx4-CONTESTAÇÃO TRABALHISTA - Empregador.docx
4-CONTESTAÇÃO TRABALHISTA - Empregador.docxConsultor JRSantana
 

What's hot (20)

Java Web Uygulama Geliştirme
Java Web Uygulama GeliştirmeJava Web Uygulama Geliştirme
Java Web Uygulama Geliştirme
 
Tutorial proxy
Tutorial proxyTutorial proxy
Tutorial proxy
 
Ppt gip
Ppt gipPpt gip
Ppt gip
 
Exceção de Pré Executividade - 2015
Exceção de Pré Executividade - 2015Exceção de Pré Executividade - 2015
Exceção de Pré Executividade - 2015
 
1172- DEFESA PRELIMINAR
1172- DEFESA PRELIMINAR1172- DEFESA PRELIMINAR
1172- DEFESA PRELIMINAR
 
Contrarrazões apelação maria_da_conceição_antônio_manuel
Contrarrazões apelação maria_da_conceição_antônio_manuelContrarrazões apelação maria_da_conceição_antônio_manuel
Contrarrazões apelação maria_da_conceição_antônio_manuel
 
Лекция 1. Введение в Android.
Лекция 1. Введение в Android.Лекция 1. Введение в Android.
Лекция 1. Введение в Android.
 
Fato jurídico
Fato jurídicoFato jurídico
Fato jurídico
 
1087- ALEGAÇÕES FINAIS
1087- ALEGAÇÕES FINAIS1087- ALEGAÇÕES FINAIS
1087- ALEGAÇÕES FINAIS
 
Agravo em recurso extraordinario stf - master classica
Agravo em recurso extraordinario   stf - master classicaAgravo em recurso extraordinario   stf - master classica
Agravo em recurso extraordinario stf - master classica
 
2094 - EMBARGOS DE TERCEIRO - Atualizado Novo Cpc
2094 - EMBARGOS DE TERCEIRO - Atualizado Novo Cpc2094 - EMBARGOS DE TERCEIRO - Atualizado Novo Cpc
2094 - EMBARGOS DE TERCEIRO - Atualizado Novo Cpc
 
1072- AGRAVO NOS PRÓPRIOS AUTOS II
1072- AGRAVO NOS PRÓPRIOS AUTOS II1072- AGRAVO NOS PRÓPRIOS AUTOS II
1072- AGRAVO NOS PRÓPRIOS AUTOS II
 
Reclamatória trabalhista modelo
Reclamatória trabalhista modeloReclamatória trabalhista modelo
Reclamatória trabalhista modelo
 
Trabalho - Competência da jt art.114 cf
Trabalho - Competência da jt art.114 cfTrabalho - Competência da jt art.114 cf
Trabalho - Competência da jt art.114 cf
 
Modelo procuracao.doc
Modelo procuracao.docModelo procuracao.doc
Modelo procuracao.doc
 
Modelo de procuração particular para fins específicos
Modelo de procuração particular para fins específicosModelo de procuração particular para fins específicos
Modelo de procuração particular para fins específicos
 
Contratos aula 1 (1)
Contratos aula 1 (1)Contratos aula 1 (1)
Contratos aula 1 (1)
 
Modelo execução contra fazenda pública
Modelo execução contra fazenda públicaModelo execução contra fazenda pública
Modelo execução contra fazenda pública
 
Penal - Defesa Preliminar
Penal - Defesa PreliminarPenal - Defesa Preliminar
Penal - Defesa Preliminar
 
4-CONTESTAÇÃO TRABALHISTA - Empregador.docx
4-CONTESTAÇÃO TRABALHISTA - Empregador.docx4-CONTESTAÇÃO TRABALHISTA - Empregador.docx
4-CONTESTAÇÃO TRABALHISTA - Empregador.docx
 

Similar to Java script for foxpro developers

In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript AppsIn Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript AppsSpike Brehm
 
Phalcon / Zephir Introduction at PHPConfTW2013
Phalcon / Zephir Introduction at PHPConfTW2013Phalcon / Zephir Introduction at PHPConfTW2013
Phalcon / Zephir Introduction at PHPConfTW2013Rack Lin
 
DLW Europe - JavaScript Tooling
DLW Europe - JavaScript ToolingDLW Europe - JavaScript Tooling
DLW Europe - JavaScript ToolingFabian Jakobs
 
Modern Frontend Technology
Modern Frontend TechnologyModern Frontend Technology
Modern Frontend TechnologyShip Hsu
 
Intro to Functional Programming
Intro to Functional ProgrammingIntro to Functional Programming
Intro to Functional ProgrammingJordan Parmer
 
WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)Igor Khotin
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?jbandi
 
Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)lennartkats
 
General Assembly Workshop: Advanced JavaScript
General Assembly Workshop: Advanced JavaScriptGeneral Assembly Workshop: Advanced JavaScript
General Assembly Workshop: Advanced JavaScriptSpike Brehm
 
Structured web apps
Structured web appsStructured web apps
Structured web appsSheng Tian
 
2017 DevSecCon ZAP Scripting Workshop
2017 DevSecCon ZAP Scripting Workshop2017 DevSecCon ZAP Scripting Workshop
2017 DevSecCon ZAP Scripting WorkshopSimon Bennetts
 
DevSecCon London 2017: zap scripting workshop by Simon Bennetts
DevSecCon London 2017: zap scripting workshop by Simon BennettsDevSecCon London 2017: zap scripting workshop by Simon Bennetts
DevSecCon London 2017: zap scripting workshop by Simon BennettsDevSecCon
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBrian Sam-Bodden
 

Similar to Java script for foxpro developers (20)

Feltman js4 vfp
Feltman js4 vfpFeltman js4 vfp
Feltman js4 vfp
 
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript AppsIn Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
 
Phalcon / Zephir Introduction at PHPConfTW2013
Phalcon / Zephir Introduction at PHPConfTW2013Phalcon / Zephir Introduction at PHPConfTW2013
Phalcon / Zephir Introduction at PHPConfTW2013
 
DLW Europe - JavaScript Tooling
DLW Europe - JavaScript ToolingDLW Europe - JavaScript Tooling
DLW Europe - JavaScript Tooling
 
slides-students-C03.pdf
slides-students-C03.pdfslides-students-C03.pdf
slides-students-C03.pdf
 
FunScript: Why bother?
FunScript: Why bother?FunScript: Why bother?
FunScript: Why bother?
 
Modern Frontend Technology
Modern Frontend TechnologyModern Frontend Technology
Modern Frontend Technology
 
Intro to Functional Programming
Intro to Functional ProgrammingIntro to Functional Programming
Intro to Functional Programming
 
WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
 
Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)Using Aspects for Language Portability (SCAM 2010)
Using Aspects for Language Portability (SCAM 2010)
 
General Assembly Workshop: Advanced JavaScript
General Assembly Workshop: Advanced JavaScriptGeneral Assembly Workshop: Advanced JavaScript
General Assembly Workshop: Advanced JavaScript
 
Laravel level 0 (introduction)
Laravel level 0 (introduction)Laravel level 0 (introduction)
Laravel level 0 (introduction)
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Structured web apps
Structured web appsStructured web apps
Structured web apps
 
Difference between php and node
Difference between php and nodeDifference between php and node
Difference between php and node
 
2017 DevSecCon ZAP Scripting Workshop
2017 DevSecCon ZAP Scripting Workshop2017 DevSecCon ZAP Scripting Workshop
2017 DevSecCon ZAP Scripting Workshop
 
DevSecCon London 2017: zap scripting workshop by Simon Bennetts
DevSecCon London 2017: zap scripting workshop by Simon BennettsDevSecCon London 2017: zap scripting workshop by Simon Bennetts
DevSecCon London 2017: zap scripting workshop by Simon Bennetts
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRuby
 
Java 8 Lambda
Java 8 LambdaJava 8 Lambda
Java 8 Lambda
 

More from Mike Feltman

Feltman collections
Feltman collectionsFeltman collections
Feltman collectionsMike Feltman
 
N tier web applications
N tier web applicationsN tier web applications
N tier web applicationsMike Feltman
 
What’s new in x case 8
What’s new in x case 8What’s new in x case 8
What’s new in x case 8Mike Feltman
 
Html for desktop applications
Html for desktop applicationsHtml for desktop applications
Html for desktop applicationsMike Feltman
 
Html and visual fox pro
Html and visual fox proHtml and visual fox pro
Html and visual fox proMike Feltman
 
Error handling in visual fox pro 9
Error handling in visual fox pro 9Error handling in visual fox pro 9
Error handling in visual fox pro 9Mike Feltman
 
Docking from a z in visual fox pro 9
Docking from a z in visual fox pro 9Docking from a z in visual fox pro 9
Docking from a z in visual fox pro 9Mike Feltman
 
Introduction to afp
Introduction to afpIntroduction to afp
Introduction to afpMike Feltman
 
Where do you want to go today 2007
Where do you want to go today   2007Where do you want to go today   2007
Where do you want to go today 2007Mike Feltman
 
Where do you want to go today
Where do you want to go todayWhere do you want to go today
Where do you want to go todayMike Feltman
 

More from Mike Feltman (14)

Drop acid
Drop acidDrop acid
Drop acid
 
Feltman collections
Feltman collectionsFeltman collections
Feltman collections
 
N tier web applications
N tier web applicationsN tier web applications
N tier web applications
 
What’s new in x case 8
What’s new in x case 8What’s new in x case 8
What’s new in x case 8
 
Web 101
Web 101Web 101
Web 101
 
VFP & Ajax
VFP & AjaxVFP & Ajax
VFP & Ajax
 
Html for desktop applications
Html for desktop applicationsHtml for desktop applications
Html for desktop applications
 
Html and visual fox pro
Html and visual fox proHtml and visual fox pro
Html and visual fox pro
 
Error handling in visual fox pro 9
Error handling in visual fox pro 9Error handling in visual fox pro 9
Error handling in visual fox pro 9
 
Docking from a z in visual fox pro 9
Docking from a z in visual fox pro 9Docking from a z in visual fox pro 9
Docking from a z in visual fox pro 9
 
Client server
Client serverClient server
Client server
 
Introduction to afp
Introduction to afpIntroduction to afp
Introduction to afp
 
Where do you want to go today 2007
Where do you want to go today   2007Where do you want to go today   2007
Where do you want to go today 2007
 
Where do you want to go today
Where do you want to go todayWhere do you want to go today
Where do you want to go today
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Recently uploaded (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Java script for foxpro developers

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