![]() | ![]() Products ![]() ![]() ![]() ![]() |
Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread |
Messages 1 to 10 of 12 total |
![]() |
Fri, Nov 30 2012 7:05 PM | Permanent Link |
pedrini.franck Axima srl | Hello How the best way to load parameters , like initfile or file.ini in delphi ,for example setup the server-request url. Thank you ( www.elevatesoft.com make with elevate web builder ?) |
Fri, Nov 30 2012 7:31 PM | Permanent Link |
Raul ![]() | Easiest IMHO is to just return a json dataset from server consisting of 2 columns : setting key and value. This makes it easy to expand if you need more settings (vs having each setting as column). You could just return key value pairs directly in JSON but using dataset makes it trivial to manage on EWB side (load and search). More tricky question is how to identify the EWB app instance - if you use login then username could be the key or remote IP (though that can change). Raul No - website was not created using EWB. On 11/30/2012 7:05 PM, pedrini.franck wrote: > Hello > How the best way to load parameters , like initfile or file.ini in delphi ,for example setup the server-request url. > > Thank you > > ( www.elevatesoft.com make with elevate web builder ?) > |
Fri, Nov 30 2012 7:40 PM | Permanent Link |
pedrini.franck Axima srl | Thank you Raul ! |
Sat, Dec 1 2012 12:21 AM | Permanent Link |
Raul ![]() | You're welcome
I also realized i did not answer the other side of the question. Since EWB is a javascript application running in sandboxed environment inside the browser you cannot access anything on local file system (like ini file in delphi). It's not an EWB limitation but limitation with all javascript applications. Normally you would host the EWB application on a webserver and have client loading it. If you need to know what is the web server address that EWB was loaded from then you can use window.location.host for this. So for example assume you have a web server that hosts the EWB app and also runs the web service that EWB can interact in '/mywebservice' virtual path then you could reference your web service using something like this : myURL := 'http://'+ window.location.host+'/mywebservice/'; but of course use proper path there to access your service Raul NB! Bit off topic but there is a storage spec in HTML5 called web storage. EWB does not support it yet (as far as i know) though in theory if you did you could store settings there. Issue of course is that this is something that user can clear and is specific to browser so you're still better off doing server side storage of settings. Web storage would be useful for caching data or maybe storing other session data that can be always reloaded from server. On 11/30/2012 7:40 PM, pedrini.franck wrote: > Thank you Raul ! > |
Sat, Dec 1 2012 9:08 AM | Permanent Link |
pedrini.franck Axima srl | Hello Raul I like this solution ' window.location.host' . I install webclient on iis7 , and i place my delphi indyhtpserver for the data on the same server , the solution url+window.location.host+':GateNumber' is good and simple. Thank You ! |
Mon, Dec 3 2012 3:17 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | Raul,
<< NB! Bit off topic but there is a storage spec in HTML5 called web storage. EWB does not support it yet (as far as i know) though in theory if you did you could store settings there. Issue of course is that this is something that user can clear and is specific to browser so you're still better off doing server side storage of settings. Web storage would be useful for caching data or maybe storing other session data that can be always reloaded from server. >> EWB has it in the WebDOM unit: external TWindow = class public { Properties } property closed: Boolean read; property defaultStatus: String read write; property document: TDocument read; property event: TEvent read; // IE-only property frames: TWindowList read; property history: THistory read; property innerHeight: Integer read; // Not supported by IE property innerWidth: Integer read; // Not supported by IE property localStorage: TStorage read; <<<<<<<<<<<<<< Here property location: TLocation read; property name: String read write; property navigator: TNavigator read; property opener: TWindow read; property outerHeight: Integer read; // Not supported by IE property outerWidth: Integer read; // Not supported by IE property pageXOffset: Integer read; // Not supported by IE property pageYOffset: Integer read; // Not supported by IE property parent: TWindow read; property screen: TScreen read; property screenLeft: Integer read; // IE-only property screenTop: Integer read; // IE-only property screenX: Integer read; // Not supported by IE property screenY: Integer read; // Not supported by IE property sessionStorage: TStorage read; <<<<<<<<<<<<<< Here property status: String read write; property top: TWindow read; property window: TWindow read; And the declaration for TStorage is: external TStorage = class public { Properties } property length: Integer read; property items[index: Integer]: String read write; default; property items[const name: String]: String read write; default; { Methods } procedure clear; function getItem(const key: String): String; function key(n: Integer): String; procedure removeItem(const key: String); procedure setItem(const key: String; const value: String); end; So you can reference it from anywhere in the application by using: uses WebDOM; var MyData: String; begin MyData:=window.sessionStorage.getItem('MyData'); end; Tim Young Elevate Software www.elevatesoft.com |
Mon, Jan 21 2013 12:03 PM | Permanent Link |
Matthew Jones | Tim,
Given the opposite of this, to read the values, the string I get for anything never written is "null". Is there a way to have this either an empty string, or to detect if it exists before reading? I think empty is my preference, perhaps with a check for those who care deeply about if it is not there at all. While I'm writing, is there any method for basic encryption available for this storage? I need to store a password, and obviously that shouldn't be in plain text. Or is the local storage encrypted anyway - I'm new to this! /Matthew Jones/ |
Mon, Jan 21 2013 12:06 PM | Permanent Link |
Matthew Jones | http://stackoverflow.com/questions/2642043/html5-web-db-security
seems relevant to my security question, though I'm not sure it really answer it. Is there an easy way to XOR a string with another? That would probably do for this purpose - just some basic obfuscation at this point. And I'll add a "remember password" option so that people can turn it off. /Matthew Jones/ |
Tue, Jan 22 2013 11:40 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | Matthew,
<< Given the opposite of this, to read the values, the string I get for anything never written is "null". Is there a way to have this either an empty string, or to detect if it exists before reading? >> Not in its un-wrapped form (the current form). External interfaces simply reflect what exists in the browser or external JS and can't introduce functionality that doesn't already exist. << While I'm writing, is there any method for basic encryption available for this storage? I need to store a password, and obviously that shouldn't be in plain text. Or is the local storage encrypted anyway - I'm new to this! >> No, currently none of the browsers encrypt the local storage (or provide a mechanism to do so). Tim Young Elevate Software www.elevatesoft.com |
Tue, Jan 22 2013 11:46 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | Matthew,
<< Is there an easy way to XOR a string with another? That would probably do for this purpose - just some basic obfuscation at this point. And I'll add a "remember password" option so that people can turn it off. >> The problem with doing "simple" encryptions on the client is that anyone can easily see what you're doing to "encrypt" the strings. But, as long as you're aware of that, you could use any existing Object Pascal XOR code that is available. Here's a random one that came up in Google: http://delphi.cjcsoft.net/viewthread.php?tid=45395 Tim Young Elevate Software www.elevatesoft.com |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Thursday, April 3, 2025 at 06:55 PM | Privacy Policy![]() © 2025 Elevate Software, Inc. All Rights Reserved Questions or comments ? ![]() |