Skifte et Javascript Array i en TWebbrowser !
HEJ,Indledningsvis: Jeg er lidt usikker på, om dette spm. mere hører til under JavaScript-"afdelingen", men her er det:
Projectet er et GANTT-kort, opdelt i mandag --> søndag fra klokken 08:00 --> 24:00 (tidsstep 15 minutter) = en 7 * 65 matrix fra uge 1 --> uge 52 /53 for årene 2014 - 2020. Jeg viser en uge ad gangen. (der er en kalender, hvor der er mulighed for uge / måned/ års- skift.)
Jeg bruger Delphi som "database" og styring og en Twebbrower som "display". Dvs, at al I/O foregår via JavaScript kontrollerede input-(output)-rutiner til/fra predefinerede felter på en Webside (som vel egentlig burde hedde en HTML-side) styret af Delphi.
Det betyder også , at databaser styres af delphi, med JS-support på web/HTML-siden. (Php, AJAX, mySQL og lignende er her 100% ukendte begreber og er aldeles uanvendelige!)
Databaser (hvis jeg må kalde det sådan) må oprettes og LÅSES som Javascript Arrays i de respektive web/HTML-sider. Delphi kan oprette dem (og gør det på visse sider) og via et sindigt Delphi-kontrolleret Webside-script lægger jeg data ind i det respektive Array med JS-SPLICE-funktionen. Det fungerer udmærket og giver kun korte skærm-blink (selv ved større Arrays).
De web/HTML-Sider som har disse Array er tomme når siden indlæses.
Eksempelvis:
var inidata = new Array();
inidata[0] = new Array ('', ...... ''); // Mandag
....
inidata[n] = new Array ('', ...... ''); // SØndag
hvor splicefunktionen så lægger de rigtige data ind på pos (0,1 2 ... osv) og i det rigtige array.
Men jeg funderede på om der findes en rutine, hvor det er muligt at udskifte HELE (del-) Arrayet (evt. som hel linie) på EEN gang:
noget i stil med REPLACE(Webside, TOm-inidata[x], Fuld-inidata[N] ); (* webside , gamle (tomme) Array , nye (fyldte) Array *)
At skifte tekst i selve HTML-teksten (<BODY>-delen) er ikke noget problem, men disse arrays er jo i <HEAD>-sektionen (javascript'et ) og der har jeg ikke umiddelbart adgang med de metoder og midler jeg har adgang til.
Jeg har prøvet at overføre vi side-kaldet (http://minside.html?v1;v2;v3...v65; (og så parse dem)) men det holder ikke . Med 7*65 dataværdier er max-længde forlængst overskredet.
KRistian