<html><head></head><body><div class="ydp82c3cf7dyahoo-style-wrap" style="font-family:times new roman, new york, times, serif;font-size:13px;"><div></div>
        <div>For our area of interest which is making it easier for non specialists programmers to code simple apps that work "everywhere" the main attraction of FPC/Lazarus/Pas2JS is the very wide coverage of different platforms and the assumption that almost everything that works in Pas2JS will work in FPC.  Any new Pas2JS specific features will be a negative for this type of application.</div><div><br></div><div>Steve</div><div><br></div>
        
        </div><div id="ydpe791400yahoo_quoted_6296716840" class="ydpe791400yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Monday, 31 December 2018, 11:00:21 GMT, pas2js-request@lists.freepascal.org <pas2js-request@lists.freepascal.org> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div dir="ltr">Send Pas2js mailing list submissions to<br></div><div dir="ltr">    <a href="mailto:pas2js@lists.freepascal.org" rel="nofollow" target="_blank">pas2js@lists.freepascal.org</a><br></div><div dir="ltr"><br></div><div dir="ltr">To subscribe or unsubscribe via the World Wide Web, visit<br></div><div dir="ltr">    <a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js" rel="nofollow" target="_blank">http://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js</a><br></div><div dir="ltr">or, via email, send a message with subject or body 'help' to<br></div><div dir="ltr">    <a href="mailto:pas2js-request@lists.freepascal.org" rel="nofollow" target="_blank">pas2js-request@lists.freepascal.org</a><br></div><div dir="ltr"><br></div><div dir="ltr">You can reach the person managing the list at<br></div><div dir="ltr">    <a href="mailto:pas2js-owner@lists.freepascal.org" rel="nofollow" target="_blank">pas2js-owner@lists.freepascal.org</a><br></div><div dir="ltr"><br></div><div dir="ltr">When replying, please edit your Subject line so it is more specific<br></div><div dir="ltr">than "Re: Contents of Pas2js digest..."<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Today's Topics:<br></div><div dir="ltr"><br></div><div dir="ltr">   1. The goal of pas2js (warleyalex)<br></div><div dir="ltr">   2. Re: The goal of pas2js (Michael Van Canneyt)<br></div><div dir="ltr">   3. Re: The goal of pas2js (Michael Van Canneyt)<br></div><div dir="ltr">   4. Re: The goal of pas2js (silvioprog)<br></div><div dir="ltr">   5. Re: Dataset improved (warleyalex)<br></div><div dir="ltr">   6. Re: The goal of pas2js (Ralf Quint)<br></div><div dir="ltr">   7. Re: Dataset improved (Michael Van Canneyt)<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">----------------------------------------------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Message: 1<br></div><div dir="ltr">Date: Sun, 30 Dec 2018 09:13:06 -0700 (MST)<br></div><div dir="ltr">From: warleyalex <<a href="mailto:warleyalex@yahoo.com.br" rel="nofollow" target="_blank">warleyalex@yahoo.com.br</a>><br></div><div dir="ltr">To: <a href="mailto:pas2js@lists.freepascal.org" rel="nofollow" target="_blank">pas2js@lists.freepascal.org</a><br></div><div dir="ltr">Subject: [Pas2js] The goal of pas2js<br></div><div dir="ltr">Message-ID: <<a href="mailto:1546186386337-0.post@n8.nabble.com" rel="nofollow" target="_blank">1546186386337-0.post@n8.nabble.com</a>><br></div><div dir="ltr">Content-Type: text/plain; charset=us-ascii<br></div><div dir="ltr"><br></div><div dir="ltr">Michael said: "I wish to repeat that the goal of pas2js is to make pascal<br></div><div dir="ltr">available in the browser. <br></div><div dir="ltr">The goal is not to make pascal resemble Javascript." <br></div><div dir="ltr"><br></div><div dir="ltr">However, I wish the general purpose and were not limited to pascal available<br></div><div dir="ltr">in the browser.<br></div><div dir="ltr">Pas2js should be an full extented feature language; the language can support<br></div><div dir="ltr">several syntax and features/extensions introduced similar to Delphi Prism /<br></div><div dir="ltr">Oxygene / DWScript / FPC, as well as various language extensions, "make<br></div><div dir="ltr">pascal resemble Javascript".<br></div><div dir="ltr"><br></div><div dir="ltr">a) variables can be declared in-line anywhere in the code, allowing code<br></div><div dir="ltr">like<br></div><div dir="ltr">for var i:=1 to 10 do begin<br></div><div dir="ltr">   var k : Integer;<br></div><div dir="ltr">   (...)<br></div><div dir="ltr">end;<br></div><div dir="ltr"><br></div><div dir="ltr">b) variables can be initialized to custom values upon declaration<br></div><div dir="ltr">var obj : TMyObject = TMyObject.Create;<br></div><div dir="ltr"><br></div><div dir="ltr">c) if then else alternative feature <br></div><div dir="ltr">var<br></div><div dir="ltr">  msg: String;<br></div><div dir="ltr">begin<br></div><div dir="ltr">  msg := "There are " + IntToStr(n) + " user" + if (n>1) then "s" else "";<br></div><div dir="ltr">end;<br></div><div dir="ltr"><br></div><div dir="ltr">d) has support the operator ?? <br></div><div dir="ltr">var <br></div><div dir="ltr">  x: JSValue; <br></div><div dir="ltr">begin <br></div><div dir="ltr">  console.log(x ?? 1);  // it translates to something like x || 1<br></div><div dir="ltr">end; <br></div><div dir="ltr"><br></div><div dir="ltr">e) anonymous classes syntax, to emit literal objects:<br></div><div dir="ltr"><br></div><div dir="ltr">type <br></div><div dir="ltr">  THandleArray = array of JSValue; <br></div><div dir="ltr"><br></div><div dir="ltr">function list: THandleArray; <br></div><div dir="ltr">begin <br></div><div dir="ltr">result := [ <br></div><div dir="ltr">  CLASS <br></div><div dir="ltr">    l   := 'fieldA1'; external name 'length'; <br></div><div dir="ltr">    w := 'fieldB1'; external name 'width'; <br></div><div dir="ltr">  END, <br></div><div dir="ltr">  CLASS <br></div><div dir="ltr">    l   := 'fieldA2'; external name 'length'; <br></div><div dir="ltr">    w := 'fieldB2'; external name 'width'; <br></div><div dir="ltr">  END, <br></div><div dir="ltr">  CLASS <br></div><div dir="ltr">    l  := 'fieldA3'; external name 'length'; <br></div><div dir="ltr">    w := 'fieldB3'; external name 'width'; <br></div><div dir="ltr">  END]; <br></div><div dir="ltr"><br></div><div dir="ltr">end; <br></div><div dir="ltr"><br></div><div dir="ltr">to emit literal objects<br></div><div dir="ltr"><br></div><div dir="ltr">function list() { <br></div><div dir="ltr">   var Result = []; <br></div><div dir="ltr">   Result = [{ <br></div><div dir="ltr">      "width" : "fieldB1" <br></div><div dir="ltr">      ,"length" : "fieldA1" <br></div><div dir="ltr">   }, { <br></div><div dir="ltr">      "width" : "fieldB2" <br></div><div dir="ltr">      ,"length" : "fieldA2" <br></div><div dir="ltr">   }, { <br></div><div dir="ltr">      "width" : "fieldB3" <br></div><div dir="ltr">      ,"length" : "fieldA3" <br></div><div dir="ltr">   }].slice(); <br></div><div dir="ltr">   return Result <br></div><div dir="ltr">}; <br></div><div dir="ltr"><br></div><div dir="ltr">f) nested records syntax:<br></div><div dir="ltr"><br></div><div dir="ltr">  TTestCustomJSONArraySimpleArray = record<br></div><div dir="ltr">    F: String;<br></div><div dir="ltr">    G: array of String;<br></div><div dir="ltr">    H: record<br></div><div dir="ltr">      H1: Integer;<br></div><div dir="ltr">      H2: String;<br></div><div dir="ltr">      H3: record<br></div><div dir="ltr">        H3a: Boolean;<br></div><div dir="ltr">        H3b: TSQLRawBlob;<br></div><div dir="ltr">      end;<br></div><div dir="ltr">    end;<br></div><div dir="ltr">    I: TDateTime;<br></div><div dir="ltr">    J: array of record<br></div><div dir="ltr">      J1: Byte;<br></div><div dir="ltr">      J2: TGUID;<br></div><div dir="ltr">      J3: TRecordEnum;<br></div><div dir="ltr">    end;<br></div><div dir="ltr">  end;<br></div><div dir="ltr"><br></div><div dir="ltr">f) Partial classes<br></div><div dir="ltr">TWebCustomControl = partial class(TWebMovableControl)<br></div><div dir="ltr"><br></div><div dir="ltr">g) type helpers<br></div><div dir="ltr">   TIntegerHelper = helper for Integer<br></div><div dir="ltr">      function ToString2 : String;<br></div><div dir="ltr">   end;<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">--<br></div><div dir="ltr">Sent from: <a href="http://pas2js.38893.n8.nabble.com/" rel="nofollow" target="_blank">http://pas2js.38893.n8.nabble.com/</a><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Message: 2<br></div><div dir="ltr">Date: Sun, 30 Dec 2018 17:59:44 +0100 (CET)<br></div><div dir="ltr">From: Michael Van Canneyt <<a href="mailto:michael@freepascal.org" rel="nofollow" target="_blank">michael@freepascal.org</a>><br></div><div dir="ltr">To: warleyalex via Pas2js <<a href="mailto:pas2js@lists.freepascal.org" rel="nofollow" target="_blank">pas2js@lists.freepascal.org</a>><br></div><div dir="ltr">Subject: Re: [Pas2js] The goal of pas2js<br></div><div dir="ltr">Message-ID: <<a href="mailto:alpine.DEB.2.20.1812301753160.24541@home.telenet.be" rel="nofollow" target="_blank">alpine.DEB.2.20.1812301753160.24541@home.telenet.be</a>><br></div><div dir="ltr">Content-Type: text/plain; format=flowed; charset=US-ASCII<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">On Sun, 30 Dec 2018, warleyalex via Pas2js wrote:<br></div><div dir="ltr"><br></div><div dir="ltr">> Michael said: "I wish to repeat that the goal of pas2js is to make pascal<br></div><div dir="ltr">> available in the browser. <br></div><div dir="ltr">> The goal is not to make pascal resemble Javascript." <br></div><div dir="ltr">><br></div><div dir="ltr">> However, I wish the general purpose and were not limited to pascal available<br></div><div dir="ltr">> in the browser.<br></div><div dir="ltr">> Pas2js should be an full extented feature language; the language can support<br></div><div dir="ltr">> several syntax and features/extensions introduced similar to Delphi Prism /<br></div><div dir="ltr">> Oxygene / DWScript / FPC, as well as various language extensions, "make<br></div><div dir="ltr">> pascal resemble Javascript".<br></div><div dir="ltr"><br></div><div dir="ltr">Well, it is open source. you are of course free to fork the project.<br></div><div dir="ltr"><br></div><div dir="ltr">Some of the things you ask will definitely be done, but not all.<br></div><div dir="ltr"><br></div><div dir="ltr">The features that exist in Delphi/FPC will be ported. But we will not enter the<br></div><div dir="ltr">"complete" Javascript syntax world.<br></div><div dir="ltr"><br></div><div dir="ltr">But if you want all Javascript features, simply program Javascript. <br></div><div dir="ltr">With Typescript, you'll have complete javascript and type safety on top.<br></div><div dir="ltr"><br></div><div dir="ltr">Michael.<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Message: 3<br></div><div dir="ltr">Date: Sun, 30 Dec 2018 19:59:46 +0100 (CET)<br></div><div dir="ltr">From: Michael Van Canneyt <<a href="mailto:michael@freepascal.org" rel="nofollow" target="_blank">michael@freepascal.org</a>><br></div><div dir="ltr">To: pas2js discussions <<a href="mailto:pas2js@lists.freepascal.org" rel="nofollow" target="_blank">pas2js@lists.freepascal.org</a>><br></div><div dir="ltr">Subject: Re: [Pas2js] The goal of pas2js<br></div><div dir="ltr">Message-ID: <<a href="mailto:alpine.DEB.2.20.1812301935090.31815@home.telenet.be" rel="nofollow" target="_blank">alpine.DEB.2.20.1812301935090.31815@home.telenet.be</a>><br></div><div dir="ltr">Content-Type: text/plain; format=flowed; charset=US-ASCII<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">On Sun, 30 Dec 2018, Michael Van Canneyt wrote:<br></div><div dir="ltr"><br></div><div dir="ltr">>> Pas2js should be an full extented feature language; the language can <br></div><div dir="ltr">> support<br></div><div dir="ltr">>> several syntax and features/extensions introduced similar to Delphi Prism /<br></div><div dir="ltr">>> Oxygene / DWScript / FPC, as well as various language extensions, "make<br></div><div dir="ltr">>> pascal resemble Javascript".<br></div><div dir="ltr">><br></div><div dir="ltr">> Well, it is open source. you are of course free to fork the project.<br></div><div dir="ltr">><br></div><div dir="ltr">> Some of the things you ask will definitely be done, but not all.<br></div><div dir="ltr">><br></div><div dir="ltr">> The features that exist in Delphi/FPC will be ported. But we will not enter <br></div><div dir="ltr">> the<br></div><div dir="ltr">> "complete" Javascript syntax world.<br></div><div dir="ltr">><br></div><div dir="ltr">> But if you want all Javascript features, simply program Javascript. <br></div><div dir="ltr">> With Typescript, you'll have complete javascript and type safety on top.<br></div><div dir="ltr"><br></div><div dir="ltr">I am not satisfied with the tone of my reply, it comes across as much harder<br></div><div dir="ltr">than I intended it, for which I apologize.<br></div><div dir="ltr"><br></div><div dir="ltr">Let me rephrase and clarify:<br></div><div dir="ltr"><br></div><div dir="ltr">The goal of pas2js is to enable to use pascal in the browser.<br></div><div dir="ltr">There is still a long way to go to make this possible. In the first place,<br></div><div dir="ltr">all features available in Delphi/FPC must be suported.<br></div><div dir="ltr"><br></div><div dir="ltr">Secondly, the compiler needs optimizations to emit more efficient Javascript. <br></div><div dir="ltr">We just posted a page on the wiki:<br></div><div dir="ltr"><a href="http://wiki.freepascal.org/Pas2js_optimizations" rel="nofollow" target="_blank">http://wiki.freepascal.org/Pas2js_optimizations</a><br></div><div dir="ltr"><br></div><div dir="ltr">The above program is already quite heavy, and will take quite a long time to<br></div><div dir="ltr">complete. Delphi and FPC are also moving targets, no doubt the list will<br></div><div dir="ltr">grow.<br></div><div dir="ltr"><br></div><div dir="ltr">I wish to stress the need to focus on (and restrict ourselves to) the above goals.<br></div><div dir="ltr"><br></div><div dir="ltr">If we want to convince component developers to port their components to Pascal, <br></div><div dir="ltr">we must first of all offer what Delphi has.<br></div><div dir="ltr"><br></div><div dir="ltr">The same is true for Lazarus: the LCL uses generics. If we ever want a real<br></div><div dir="ltr">lazarus LCL widgetset, we must support that.<br></div><div dir="ltr"><br></div><div dir="ltr">Adding Javascript-specific features can be cunterproductive:<br></div><div dir="ltr">I don't know if anyone has already tried to work with pas2JS in Delphi <br></div><div dir="ltr">(using TMS Web core) but if you include a unit that is not in the list of stub<br></div><div dir="ltr">units provided by TMS Software, Delphi stops working: no more code<br></div><div dir="ltr">completion, no 'code intelligence' or whatever it is called.<br></div><div dir="ltr"><br></div><div dir="ltr">This is simply because we use external classes. Something that Delphi does<br></div><div dir="ltr">not understand. Adding more 'strange' language features will only make this<br></div><div dir="ltr">problem worse.<br></div><div dir="ltr"><br></div><div dir="ltr">One could say that Lazarus can be made to understand it, and this is<br></div><div dir="ltr">correct. But delphi does not (yet) and I consider it important that we <br></div><div dir="ltr">keep Delphi people on board.<br></div><div dir="ltr">Adding more Javascripts-pecific features while neglecting Delphi/FPC <br></div><div dir="ltr">compatibility does not fit this purpose.<br></div><div dir="ltr"><br></div><div dir="ltr">Lastly, I think it is important that most if not all pascal code is also <br></div><div dir="ltr">usable outside pas2js. This will not work if we start adding Javascript-specific <br></div><div dir="ltr">features.<br></div><div dir="ltr">(yes, I know about modeswitches, but they do not solve this problem)<br></div><div dir="ltr"><br></div><div dir="ltr">The motto of Lazarus is code once, compile everywhere. I want to keep this<br></div><div dir="ltr">true as long as possible, and so the goal is: make pascal available on the<br></div><div dir="ltr">browser.<br></div><div dir="ltr"><br></div><div dir="ltr">if, in 5 or 10 years, the browser has replaced all other platforms, we'll adjust<br></div><div dir="ltr">out goals obviously, but for the moment, I don't think this is relevant.<br></div><div dir="ltr"><br></div><div dir="ltr">Last but not least: I firmly believe that we need lots of libraries instead<br></div><div dir="ltr">of language feature: <br></div><div dir="ltr">Therefor I would like to see a lot of external class definitions for existing<br></div><div dir="ltr">libraries: Bootstrap, Angular, react, underscore, backbone. <br></div><div dir="ltr">Excellent libraries that we should not reinvent. <br></div><div dir="ltr">We already have the language features that we need to make these libraries<br></div><div dir="ltr">available.<br></div><div dir="ltr"><br></div><div dir="ltr">So my belief is that we should focus on this, and not lament the lack of<br></div><div dir="ltr">perceived advantages of Javascript language features.<br></div><div dir="ltr"><br></div><div dir="ltr">Michael.<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Message: 4<br></div><div dir="ltr">Date: Sun, 30 Dec 2018 16:34:34 -0300<br></div><div dir="ltr">From: silvioprog <<a href="mailto:silvioprog@gmail.com" rel="nofollow" target="_blank">silvioprog@gmail.com</a>><br></div><div dir="ltr">To: pas2js discussions <<a href="mailto:pas2js@lists.freepascal.org" rel="nofollow" target="_blank">pas2js@lists.freepascal.org</a>><br></div><div dir="ltr">Subject: Re: [Pas2js] The goal of pas2js<br></div><div dir="ltr">Message-ID:<br></div><div dir="ltr">    <CAKq_V2K7wr-w3JmgUEZOx0ZYJFUd_aHp1ftp0PeO+<a href="mailto:WAyZOuY0A@mail.gmail.com" rel="nofollow" target="_blank">WAyZOuY0A@mail.gmail.com</a>><br></div><div dir="ltr">Content-Type: text/plain; charset="utf-8"<br></div><div dir="ltr"><br></div><div dir="ltr">On Sun, Dec 30, 2018 at 3:59 PM Michael Van Canneyt <<a href="mailto:michael@freepascal.org" rel="nofollow" target="_blank">michael@freepascal.org</a>><br></div><div dir="ltr">wrote:<br></div><div dir="ltr">[...]<br></div><div dir="ltr"><br></div><div dir="ltr">> Last but not least: I firmly believe that we need lots of libraries instead<br></div><div dir="ltr">> of language feature:<br></div><div dir="ltr">> Therefor I would like to see a lot of external class definitions for<br></div><div dir="ltr">> existing<br></div><div dir="ltr">> libraries: Bootstrap, Angular, react, underscore, backbone.<br></div><div dir="ltr"><br></div><div dir="ltr">[...]<br></div><div dir="ltr"><br></div><div dir="ltr">Complementing: plus jsPDF & plugins. ðŸ˜€<br></div><div dir="ltr"><br></div><div dir="ltr">[...]<br></div><div dir="ltr"><br></div><div dir="ltr">> Excellent libraries that we should not reinvent.<br></div><div dir="ltr"><br></div><div dir="ltr">Michael.<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">-- <br></div><div dir="ltr">Silvio Clécio<br></div><div dir="ltr">-------------- next part --------------<br></div><div dir="ltr">An HTML attachment was scrubbed...<br></div><div dir="ltr">URL: <<a href="http://lists.freepascal.org/pipermail/pas2js/attachments/20181230/bbe7b2c2/attachment-0001.html" rel="nofollow" target="_blank">http://lists.freepascal.org/pipermail/pas2js/attachments/20181230/bbe7b2c2/attachment-0001.html</a>><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Message: 5<br></div><div dir="ltr">Date: Sun, 30 Dec 2018 13:55:38 -0700 (MST)<br></div><div dir="ltr">From: warleyalex <<a href="mailto:warleyalex@yahoo.com.br" rel="nofollow" target="_blank">warleyalex@yahoo.com.br</a>><br></div><div dir="ltr">To: <a href="mailto:pas2js@lists.freepascal.org" rel="nofollow" target="_blank">pas2js@lists.freepascal.org</a><br></div><div dir="ltr">Subject: Re: [Pas2js] Dataset improved<br></div><div dir="ltr">Message-ID: <<a href="mailto:1546203338317-0.post@n8.nabble.com" rel="nofollow" target="_blank">1546203338317-0.post@n8.nabble.com</a>><br></div><div dir="ltr">Content-Type: text/plain; charset=us-ascii<br></div><div dir="ltr"><br></div><div dir="ltr">In my 5-minute-experiment, using TMS Web Core with Lazarus component,<br></div><div dir="ltr">"locate" function does not work for me :(<br></div><div dir="ltr"><br></div><div dir="ltr">I dropped into Lazarus designer, basically 8 visual widgets:<br></div><div dir="ltr">  WebDataSource1: TWebDataSource;<br></div><div dir="ltr">  WebClientConnection1: TWebClientConnection;<br></div><div dir="ltr">  WebClientDataSet1: TWebClientDataSet;<br></div><div dir="ltr">  WebClientDataSet1_Length__cm_: TLongintField;<br></div><div dir="ltr">  WebDBLabel1: TWebDBLabel;<br></div><div dir="ltr">  WebEdit1: TWebEdit;<br></div><div dir="ltr">  WebButton1: TWebButton;<br></div><div dir="ltr">  WebButton2: TWebButton;<br></div><div dir="ltr"><br></div><div dir="ltr">i) When I hit button/WebButton1 (Connect), the label/WebDBLabel1 component<br></div><div dir="ltr">displays "50" as expected! <br></div><div dir="ltr">ii) When I click at WebButton2, it shows False (the edit/WebEdit1 is set to<br></div><div dir="ltr">50)<br></div><div dir="ltr"><br></div><div dir="ltr">procedure TWebForm1.WebButton2Click(Sender: TObject);<br></div><div dir="ltr">begin<br></div><div dir="ltr">  console.log( <br></div><div dir="ltr">    WebClientDataSet1.Locate('_Length__cm_',<br></div><div dir="ltr">WebEdit1.Text,[loCaseInsensitive, loPartialKey])<br></div><div dir="ltr">  );<br></div><div dir="ltr">end;<br></div><div dir="ltr"><br></div><div dir="ltr">the JSON file is:<br></div><div dir="ltr">{<br></div><div dir="ltr">"ROW": [<br></div><div dir="ltr">    {<br></div><div dir="ltr">        "_Species_No": "90020",<br></div><div dir="ltr">        "_Category": "Triggerfishy",<br></div><div dir="ltr">        "_Common_Name": "Clown Triggerfish",<br></div><div dir="ltr">        "_Species_Name": "Ballistoides conspicillum",<br></div><div dir="ltr">        "_Length__cm_": 50,<br></div><div dir="ltr">        "_Length_In": "19.6850393700787",<br></div><div dir="ltr">        "_Notes": "Also known as the big spotted triggerfish.  Inhabits outer reef<br></div><div dir="ltr">areas and feeds upon crustaceans and mollusks by crushing them with powerful<br></div><div dir="ltr">teeth.  They are voracious eaters, and divers report seeing the clown<br></div><div dir="ltr">triggerfish devour beds of pearl oysters.\r\n\r\nDo not eat this fish. <br></div><div dir="ltr">According to an 1878 account, \"the poisonous flesh acts primarily upon the<br></div><div dir="ltr">nervous tissue of the stomach, occasioning violent spasms of that organ, and<br></div><div dir="ltr">shortly afterwards all the muscles of the body.  The frame becomes rocked<br></div><div dir="ltr">with spasms, the tongue thickened, the eye fixed, the breathing laborious,<br></div><div dir="ltr">and the patient expires in a paroxysm of extreme suffering.\"\r\n\r\nNot<br></div><div dir="ltr">edible.\r\n\r\nRange is Indo-Pacific and East Africa to Somoa.\r\n\r\n               <br></div><div dir="ltr">\r\n                \r\n                \r\n                \r\n               <br></div><div dir="ltr">"<br></div><div dir="ltr">    },<br></div><div dir="ltr">    {<br></div><div dir="ltr">        "_Species_No": "90030",<br></div><div dir="ltr">        "_Category": "Snapper",<br></div><div dir="ltr">        "_Common_Name": "Red Emperor",<br></div><div dir="ltr">        "_Species_Name": "Lutjanus sebae",<br></div><div dir="ltr">        "_Length__cm_": 60,<br></div><div dir="ltr">        "_Length_In": "23.6220472440945",<br></div><div dir="ltr">        "_Notes": "Called seaperch in Australia.  Inhabits the areas around lagoon<br></div><div dir="ltr">coral reefs and sandy bottoms.\r\n\r\nThe red emperor is a valuable food<br></div><div dir="ltr">fish and considered a great sporting fish that fights with fury when hooked. <br></div><div dir="ltr">The flesh of an old fish is just as tender to eat as that of the very<br></div><div dir="ltr">young.\r\n\r\nRange is from the Indo-Pacific to East Africa.\r\n\r\n               <br></div><div dir="ltr">\r\n                \r\n                \r\n                "<br></div><div dir="ltr">    }<br></div><div dir="ltr">]}<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">--<br></div><div dir="ltr">Sent from: <a href="http://pas2js.38893.n8.nabble.com/" rel="nofollow" target="_blank">http://pas2js.38893.n8.nabble.com/</a><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Message: 6<br></div><div dir="ltr">Date: Sun, 30 Dec 2018 14:25:48 -0800<br></div><div dir="ltr">From: Ralf Quint <<a href="mailto:freedos.la@gmail.com" rel="nofollow" target="_blank">freedos.la@gmail.com</a>><br></div><div dir="ltr">To: <a href="mailto:pas2js@lists.freepascal.org" rel="nofollow" target="_blank">pas2js@lists.freepascal.org</a><br></div><div dir="ltr">Subject: Re: [Pas2js] The goal of pas2js<br></div><div dir="ltr">Message-ID: <<a href="mailto:6dcb5b0f-1f6c-f8fd-2ff6-8df74295a40b@gmail.com" rel="nofollow" target="_blank">6dcb5b0f-1f6c-f8fd-2ff6-8df74295a40b@gmail.com</a>><br></div><div dir="ltr">Content-Type: text/plain; charset=utf-8; format=flowed<br></div><div dir="ltr"><br></div><div dir="ltr">On 12/30/2018 8:13 AM, warleyalex via Pas2js wrote:<br></div><div dir="ltr">> Michael said: "I wish to repeat that the goal of pas2js is to make pascal<br></div><div dir="ltr">> available in the browser.<br></div><div dir="ltr">> The goal is not to make pascal resemble Javascript."<br></div><div dir="ltr">><br></div><div dir="ltr">> However, I wish the general purpose and were not limited to pascal available<br></div><div dir="ltr">> in the browser.<br></div><div dir="ltr">> Pas2js should be an full extented feature language; the language can support<br></div><div dir="ltr">> several syntax and features/extensions introduced similar to Delphi Prism /<br></div><div dir="ltr">> Oxygene / DWScript / FPC, as well as various language extensions, "make<br></div><div dir="ltr">> pascal resemble Javascript".<br></div><div dir="ltr"><br></div><div dir="ltr">Sorry, but I rather would stick with Michael's statement.<br></div><div dir="ltr"><br></div><div dir="ltr">I don't have a direct use case for pas2js myself yet, but I would see <br></div><div dir="ltr">its use in being able to to reuse as much of my existing Pascal code <br></div><div dir="ltr">that runs natively in an application that runs in a web browser.<br></div><div dir="ltr"><br></div><div dir="ltr">There is no point in shoehorning pas2js into "resembling Javascript". If <br></div><div dir="ltr">you want that, you can use Javascript directly, no need to transpile <br></div><div dir="ltr">from Pascal into Javascript. This would be IMHO just a waste of <br></div><div dir="ltr">everybody's time, energy and resources...<br></div><div dir="ltr"><br></div><div dir="ltr">Ralf<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">---<br></div><div dir="ltr">This email has been checked for viruses by Avast antivirus software.<br></div><div dir="ltr"><a href="https://www.avast.com/antivirus" rel="nofollow" target="_blank">https://www.avast.com/antivirus</a><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Message: 7<br></div><div dir="ltr">Date: Mon, 31 Dec 2018 00:03:04 +0100 (CET)<br></div><div dir="ltr">From: Michael Van Canneyt <<a href="mailto:michael@freepascal.org" rel="nofollow" target="_blank">michael@freepascal.org</a>><br></div><div dir="ltr">To: warleyalex via Pas2js <<a href="mailto:pas2js@lists.freepascal.org" rel="nofollow" target="_blank">pas2js@lists.freepascal.org</a>><br></div><div dir="ltr">Subject: Re: [Pas2js] Dataset improved<br></div><div dir="ltr">Message-ID: <<a href="mailto:alpine.DEB.2.20.1812310000130.16671@home.telenet.be" rel="nofollow" target="_blank">alpine.DEB.2.20.1812310000130.16671@home.telenet.be</a>><br></div><div dir="ltr">Content-Type: text/plain; charset=US-ASCII; format=flowed<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">On Sun, 30 Dec 2018, warleyalex via Pas2js wrote:<br></div><div dir="ltr"><br></div><div dir="ltr">> In my 5-minute-experiment, using TMS Web Core with Lazarus component,<br></div><div dir="ltr">> "locate" function does not work for me :(<br></div><div dir="ltr"><br></div><div dir="ltr">How does that work ? <br></div><div dir="ltr">It's not yet in TMS Web core, so you must use TJSONDataset ?<br></div><div dir="ltr"><br></div><div dir="ltr">>    WebClientDataSet1.Locate('_Length__cm_',<br></div><div dir="ltr">> WebEdit1.Text<br></div><div dir="ltr"><br></div><div dir="ltr">No type conversion is done at this point.<br></div><div dir="ltr"><br></div><div dir="ltr">_Length__cm_ is an integer so you must privide an integer, not a string.<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Michael.<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">Subject: Digest Footer<br></div><div dir="ltr"><br></div><div dir="ltr">_______________________________________________<br></div><div dir="ltr">Pas2js maillist  -  <a href="mailto:Pas2js@lists.freepascal.org" rel="nofollow" target="_blank">Pas2js@lists.freepascal.org</a><br></div><div dir="ltr"><a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js" rel="nofollow" target="_blank">http://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js</a><br></div><div dir="ltr"><br></div><div dir="ltr">------------------------------<br></div><div dir="ltr"><br></div><div dir="ltr">End of Pas2js Digest, Vol 12, Issue 41<br></div><div dir="ltr">**************************************<br></div></div>
            </div>
        </div></body></html>