Vis HTML-side - Lav Rettelser på HTML-side og vis side (med rettelser).... mm.
HEJ Eksperter,Fra et Delphi program oprettes en HTML-side, som skal vises i en TWebbrowser. Siden skal KUN vises lokalt på en PC (ikke på nettet eller på nogen måde i Cyberspace).
Websiden består af N varesider hver med 4 faneblade. De enkelte Faneblades visning styres af en CCS kode kom ændres ved klik på det enkelte faneblad. Den viste (aktuelle vare) side vil vise 1 af N varer (eller Salgsemner, eller fakturaer, eller sælgere, eller købere (da jeg har tænkt mig at anvende denne metode til flere sider)).
F.eks for varer:
Faneblad 1:
Varer: (Navn, varenummer, producent, billede, vare-beskrivelse, hvad det skal bruges til etc..)
Fameblad 2:
Lager: (Placering, antal på lager, restordre, minimum antal,...)
Fanebald 3:
ØKONOMI: (Indkøbspris, salgspris, moms, ind - eller ud-moms, valuta ... )
Faneblad 4:
PRODUCENT: (Navn, Adresse, Postnummer + sted, Land, CVR-nummer,
telefon og fax, kontakt .... )
Der er pt. 4 varer. Derfor opretter jeg fra Delphi data-basen 4 JavaScripts Array (eks. inidata[0] .. inidata[3]).
I hver af disse inidata[N] lægger jeg så som perler på en snor de relevante data :
inidata[0] = "Navn", "varenummer1", "producent", "billede", "vare-beskrivelse" ......"ProdNavn", "Adresse", "Postnummer", "Poststed", "Land", "CVR-nummer", "telefon", "fax", "kontakt", ...... );
PÅ selve siden har jeg fire manøvre knapper som bestemmer positionen (om jeg vælger inidata[N] pos = 0 eller inidata[3] pos=3. Jeg har en intern kontrol (JavaScript) som styrer positionen af fanebladene.
Selve data vises i en TABLE og hver data presenteres via javascript-funktionen:
function vis (0) // for vare nummer 0
{
document.getElementById("navn").innerHTML = inidata[0][0];
document.getElementById("varenum1").innerHTML = inidata[0][1];
document.getElementById("producent").innerHTML = inidata[0][2];
......
)
function vis (1) // for vare nummer 1
{
document.getElementById("navn").innerHTML = inidata[1][0];
document.getElementById("varenum1").innerHTML = inidata[1][1];
document.getElementById("producent").innerHTML = inidata[1][2];
......
)
ALt dette fungerer som det får penge for det, men da disse Data ikke er statiske, trænger jeg måde hvor jeg kan opdatere, rette disse JS-data.
Når bruger klikker på EDIT (for den enkelte vare) sender et JavaScript en besked til Delphi programmet om at denne side skal ændres (editeres). Delphi henter varens nummer fra HTML-siden, kalder nogle andre Delphi forms, indlæser aktuelle vares data og
herfra er det muligt at rette data. Delphi Databasen opdateres. Nye inidata (inidata[0] .. [4]) oprettes, sletter HTML-siden og vise den nye opdaterere side. Det kører, men er lidt tungt.
Så fik jeg tanken:
Det er muligt at nogle parametre i TWebbrowseren, så den tillader online-editering, men for ikke at kunne ændre på den forkerte vare skal jeg have websiden (med websiden mener jeg her den relevante Vareside "låst", dvs. jeg må ikke kunne scrolle, manøvrere eller flytte mig fra varens side (husk faneblade skal også være aktive!) . Jeg kan låse manøvreknapperne (style='visibility: none;'); styret fra Delphi prgm'et via et delphi kontrolleret JaVascript, men hvordan forhindrer jeg siden i at scrolle ??
Findes der i JavaScript en kommando så man kan enable / disable BUTTONS som i Delphi (Button1.Enabled = true // Button1.Enabled = False ) ????
KRistian
HUSK:
Det er en LOKAL HTML-side, genereret i et DELPHI_program, som skal køre i en LOKAL Twebbrowser, så Alt HVAD DER HEDDER <PHP og eller SQL-baser er udelukket. Det er 100 PCT. ren visning.
Kristian