-
[D11] Zoom chart
Bonjour, :D
Je débute sur Delphi.
J'utilise Delphi Alexandria avec Intraweb Atozed 15.2.65 avec une base de données Interbase.
Je voudrais afficher une courbe de 500k points (de ma BDD connecté avec FDConnection) avec Intraweb et pouvoir zoomer comme sur les TChart.
Mon problème est qu'avec Intraweb, les TChart deviennent des images et je ne peux plus interargir avec eux.
Donc j'ai essayé les ChartJS mais l'affichage de la courbe est beaucoup trop lent.
J'ai aussi vu que TMS proposait un chart Intraweb mais pas disponible pour Alexandria.
Existe-t-il une solution répondant à mon souhait ?
Sinon comment transformer des données de Delphi (données d'Interbase) en JavaScript (par ex : https://www.highcharts.com) ?
Merci,
-
Si tu as la possibilité d'avoir l'affichage côté client avec une Lib JS qui s'ajoute en dépendance supplémentaire au sein de ton projet Intraweb et donc tu peux écrire tout le code nécessaire en JS qui fait le pont entre ta page IW courante et le JS Tiers
Et puis, le standard JSON reste l'idéal pour échanger des données
Mais comme ton serveur génère le HTML, rien n'est plus facile de générer aussi un fragment de code JS qui contiendra les données en langage JS
-
Et dans IntraWeb il existe plusieurs solutions pour servir des API plutôt que des pages.
Voici quelques liens vers la doc :
Async callbacks in IntraWeb 15.1 :
http://docs.atozed.com/docs.dll/deve...eb%2015.1.html
Creating Custom Content Handlers :
http://docs.atozed.com/docs.dll/deve...0Handlers.html
Working with JavaScript :
http://docs.atozed.com/docs.dll/deve...avaScript.html
-
Merci beaucoup pour vos réponses.
Cependant, j'ai bien compris comment inclure et appliqué du JS dans mon projet Delphi mais je n'ai pas bien compris comment utiliser des données (par exemple un array de float) Delphi dans un code JS.
-
Il suffit de transformer le tableau en une chaine soit en code JS soit en JSON que l'on assimilera à un fichier envoyé par le serveur au client, cela fichier sera utilisé par le JS qui pilote la création du Graph
Il ne faut pas oublier que Delphi permet de créer le serveur Web complet donc de générer toutes les données sous forme de fichier envoyé au client, suffit juste que dans la page HTML que toutes les dépendances soit présentes pour que le navigateur aille chercher le fichier.
Vous avez plusieurs possibilités :
- Une seule passe, le JS de données est inclu dans le HTML initial et soumis directement au JS qui pilote la création du Graph comme dépendance
- En deux passes, les données sont identifiées par un Token dans le HTML initial et ce Token permet d'aller récupérer les données dans un second temps, par exemple sous forme d'un JSON qui sera utilisé par le JS qui pilote la création du Graph
Il y a surement plus d'autres solutions