Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by lynkfs

  1. This behaviour is not limited to Forms but to other classes as well For example: Looking at the 'unit structure' tab with the SmartCL.Borders unit open, I can rename the TW3Border class to something else For Forms I don't see any advantage of changing a form class and not change the unit and filename, but for other object classes changing the class name only is somewhat handy (although a search and replace old/new classname will have the same effect)
  2. lynkfs

    Send an email ?

    yep (works @ my place)
  3. lynkfs

    Send an email ?

    This api doesn't allow local execution (file:///C:/Users/.../www/index.html) but requires a http(s) based url (https://.../www/index.html) so index.html / index.js needs to be server-side
  4. lynkfs

    Send an email ?

    I checked, runs perfectly well server-side (but not client-side)
  5. Is it possible to do a bit of quantum computing using SMS ? The answer looks to be yes, using IBM's quantum computer resources which are partly made available for developers Basics first : IBM has released it's SDK to program these quantum computers using a visual composer, Python, a proprietary assembler QASM format and some run and execute utilities. There is however a second way of using its quantum resources, using the entry-points of is Q-experience REST server. Most if not all of the visual composer functions can be done by ajax-calls ! To demonstrate : the first thin
  6. lynkfs

    Send an email ?

    if it runs fine by deleting part of code, by all means it may be that Google has tweaked the gmail api (client or auth2 library) slightly in the last couple of months
  7. lynkfs

    table grid

    the simplest of grids, based on the html <table> element usage var W3TableElement1 : TW3TableElement := TW3TableElement.Create(W3Panel1); //add 4 columns to the grid W3TableElement1.AddColumn('Name',200); //title, width W3TableElement1.AddColumn('Description',200); W3TableElement1.AddColumn('Type',150); W3TableElement1.AddColumn('Status',50); for var i := 0 to 2 do begin W3TableElement1.AddCell(i+1,1,'Name-'+inttostr(i)); //row,column,text W3TableElement1.AddCell(i+1,2,'Desc-'+inttostr(i)); W3TableElement1.AddCell(i+1,3,'Type-'+inttostr(
  8. yes to a node server with a back-end mysql db, no to a node server accessing the native file system I have these links on my system : node socket server with mysql db https://forums.smartmobilestudio.com/topic/4652-node-ground-zero/?tab=comments#comment-23125 file enumeration https://jonlennartaasenden.wordpress.com/?s=node.js I've done some conversions using nativefier, works ok I'm racking my brains what the name is of this other native library I've used once, but it eludes me at present
  9. Technically the cacheStorage api is not that hard, but choosing and implementing the different scenario's (cache-first-then-network, network-first-then-cache etc etc) becomes a bit tedious. And then there is the old browser caching mechanism too, which doesn't go away - two different caching mechanisms to take care of. There is a caching cookbook below (and some other links I collected for myself) difference between webworkers and service workers https://www.quora.com/Whats-the-difference-between-service-workers-and-web-workers-in-JavaScript https://stackoverflow.com/questions/386
  10. lynkfs


    Like this a lot. Both your first link and the examples in the unit above. I've been fairly happy with 'pascalising' vanilla js promises till now, but this approach 'promises' something better.
  11. lynkfs


    a simple promise in vanilla javascript looks something like this var promise1 = new Promise(function(resolve, reject) { setTimeout(function() { resolve('foo'); }, 300); }); promise1.then(function(value) { console.log(value); // expected output: "foo" }); console.log(promise1); // expected output: [object Promise] Using the Ecma.promise unit the next code snippet does compile, but fails on execution ("reference error, PromiseInit is not defined") var Pinit := new JPromiseInit; var p := JPromise.Create(PInit); p.then(function(x:variant):variant begin
  12. lynkfs


    Does anyone know how to use the Ecma.Promise unit ? Looks like the external PromiseInit ref doesn't exist
  13. WebWorkers are a way of off-loading tasks from the main browser into a separate thread. ServiceWorkers sit between the browser and the network and extend these capabilities by a couple of powerful features : offline detection and interception possibilities of network requests (fetch api) resource caching under program control (new cacheStorage api) background syncing saving browser apps as icons on the homescreen serving push notifications ServiceWorkers are integral to Progressive Web Apps Architecturally a serviceWorker is just a separate js file, whi
  14. it depends websockets is but one mechanism for client-server communication. Node supports ws but there are php websocket implementations as well. Node runs on most if not all platforms, but there are alternatives. Ultimately you'll have to make choices re client type (browser web app, native, ...), communication protocol (websocket, ajax/xmlhttp, ...), middleware (if any), server platform (windows, linux, cloud, ...), server language (node/smart/js, delphi, php, aws), back-end database (oracle, mysql, firebase, ...). These choices will be influenced / dictated by the functional
  15. your .rar file can't be opened but I think this is what it contains : open up a new project in and add a button to the designer, then double click the button which should take you to the W3Button1Click procedure in the ide This works ok for me the version in the window title bar says [] and I downloaded that one using smartupdate and the masterchannel
  16. lynkfs


    I was working on a PWA but postponed it until after my servers got upgraded to https (which has now happened). I'll have another look soon
  17. -Autofill as a browser setting (there are differences across browsers) Looks like Chrome has changed the autofill feature since I last looked. There used to be a 'passwords and forms' section in the advanced settings menu, which enabled autofill of forms and passwords. Now I can see some autofill info under 'addresses and more' and 'payment methods', and 'auto-signin' under the password section in the chrome settings menu I don't think these settings are at all modifiable under program control, these are purely user settings. -Autofill as a css attribute : there is a :-web
  18. works normal here
  19. Would it be possible to implement a 'client-server' architecture where both the client and the server are executed locally (but in separate spaces). Or just divide an app up in different parts where each part is executed in its own environment and communicates with the other parts as necessary. And all this pure locally. The answer is yes: use separate browser tabs. Surprisingly there are multiple ways of doing this, and the candidate technologies enabling inter-tab communication are : local storage (really) shared web workers broadcast channelling webrtc
  20. Having read the posts in this thread, I'm warming to using mORMot. Looking for a working project and a bit of explanatory text
  21. Many suggestions 1 more : the ComboBox in the native/shoestring framework handles both text and images See demo here (scroll down to JSelect (images)) You'll probably want to base things on the standard RTL rather than on this alternative piece of work. However the component code for this ComboBox (see JListBox and JSelect units) might be helpful.
  22. procedure TForm1.InitializeObject; begin inherited; {$I 'Form1:impl'} for var i := 0 to 4 do begin var item := W3ListMenu1.AddTextItem('menu ' + inttostr(i)); item.TagValue := W3ListMenu1.Count-1; item.OnClick := procedure(Sender:TObject) begin writeln((sender as TW3ListMenuItemText).TagValue); end; end; end;
  • Create New...