Discussion:
Endelig version
(for gammel til at besvare)
Bertel Lund Hansen
2018-07-24 09:06:19 UTC
Permalink
Nu er jeg færdig med at arbejde med selve uret.
Opsætningsprogrammet har flere ulogiske ting, men det kommer
senere.

Jeg opdagede et fif som I måske godt kender. I ur-scriptet
tjekker jeg et par steder om et ur (uf af tre) er sat til at
vises. Det udløser jo en fejl hvis jeg bruger getElementById()
og feltet ikke findes. Det er fint nok.

Men en anden løsning er at give de tre felter samme klasse og så bruge

getElementsByClassName()

som returnerer et array. Så er man sikker på at arrayets
elementer er til stede. Her er en funktion der udnytter det
forhold (15 linjer):

function hideAllButtons () {
var status=document.getElementsByClassName('toggdiv');
var prompt, newstatus;
if (status[0].style.display==='none') {
newstatus='block';
prompt='Hide almost all buttons';
}
else {
newstatus='none';
prompt='Show all buttons';
}
for (n=0; n<status.length; ++n)
status[n].style.display=newstatus;
document.getElementById('hideButtons').innerHTML=prompt;
}

Den tilsvarende funktion med id bruger 20 linjer.

PS: Jeg har ikke taget højde for at man kan slå alle tre ure fra.
Det vil give en fejl (status[0] er udefineret).
--
/Bertel
Jan Hansen
2018-07-24 10:44:50 UTC
Permalink
Post by Bertel Lund Hansen
Nu er jeg færdig med at arbejde med selve uret.
Jeg opdagede et fif som I måske godt kender. I ur-scriptet
tjekker jeg et par steder om et ur (uf af tre) er sat til at
vises. Det udløser jo en fejl hvis jeg bruger getElementById()
og feltet ikke findes. Det er fint nok.
Men en anden løsning er at give de tre felter samme klasse og så bruge
getElementsByClassName()
som returnerer et array. Så er man sikker på at arrayets
elementer er til stede. Her er en funktion der udnytter det
function hideAllButtons () {
var status=document.getElementsByClassName('toggdiv');
var prompt, newstatus;
if (status[0].style.display==='none') {
newstatus='block';
prompt='Hide almost all buttons';
}
else {
newstatus='none';
prompt='Show all buttons';
}
for (n=0; n<status.length; ++n)
status[n].style.display=newstatus;
document.getElementById('hideButtons').innerHTML=prompt;
}
Den tilsvarende funktion med id bruger 20 linjer.
Det er meget smart, når bare de forskellige elementer har en class.

Skal der ikke noget begrænsning på de knapper til at stille urene, hvis
klik giver en negativ værdi?
Enten så de bliver nul, eller klikket bliver ignoreret, hvis resultatet
bliver negativt.
Post by Bertel Lund Hansen
Opsætningsprogrammet har flere ulogiske ting, men det kommer
senere.
Jeg mener nu stadig, at de input felter til farverne skal være
skjult. Skal farverne stå der, er det til at indsætte i en <span>.
Ellers bliver det noget af en opgave at lave det modtagende PHP,
når man både kan skrive Postkasserød, Dunkelgrün, rgba(240,0,30,.8)
og hvad de ellers kan finde på.
Post by Bertel Lund Hansen
PS: Jeg har ikke taget højde for at man kan slå alle tre ure fra.
Det vil give en fejl (status[0] er udefineret).
Siden giver heller ikke så meget mening, hvis alle tre er slået fra.
Det må være til at lave en test i opsætningen, så man ikke kan gemme,
med mindre mindst et ur er slået til.
--
mvh Jan.
Help Microsoft stamp out piracy. Give
Linux to a friend today!
Bertel Lund Hansen
2018-07-24 14:18:52 UTC
Permalink
Post by Jan Hansen
Skal der ikke noget begrænsning på de knapper til at stille urene, hvis
klik giver en negativ værdi?
Rettet.
Post by Jan Hansen
Jeg mener nu stadig, at de input felter til farverne skal være
skjult. Skal farverne stå der, er det til at indsætte i en <span>.
Ellers bliver det noget af en opgave at lave det modtagende PHP,
når man både kan skrive Postkasserød, Dunkelgrün, rgba(240,0,30,.8)
og hvad de ellers kan finde på.
Så langt var jeg ikke lige kommet. Du har nok ret i at det er
smart at skjule farveordene. Men der er noget andet der er
vigtigere, nemlig at det er ugennemskueligt hvordan man får
ændret data. Hvis man gemmer filen, vises de gamle værdier selv
om de nye er gemt.
Post by Jan Hansen
Siden giver heller ikke så meget mening, hvis alle tre er slået fra.
Det må være til at lave en test i opsætningen, så man ikke kan gemme,
med mindre mindst et ur er slået til.
Også rettet.
--
/Bertel
Bertel Lund Hansen
2018-07-24 15:08:49 UTC
Permalink
Post by Bertel Lund Hansen
Så langt var jeg ikke lige kommet. Du har nok ret i at det er
smart at skjule farveordene. Men der er noget andet der er
vigtigere, nemlig at det er ugennemskueligt hvordan man får
ændret data. Hvis man gemmer filen, vises de gamle værdier selv
om de nye er gemt.
Og løsningen var ekstremt simpel.

'Problemet' var at jeg havde lavet en class:

class Constants {
const
timerDisplay = [1,1,1],
titles = ['Bronze','Sølv','Guld'],
timerSeconds = ['900','1320','1770'],
bgrcolors = ['Orange','Silver','Yellow'],
fgrcolors = ['Black','Black','Black'];
}

Og de værdier - kom jeg pludselig i tanker om - kunne jeg jo
ikke ændre. Løsningen bestod i at flytte require til efter
filskriverutinen:

if (isset($_POST['writefile'])) {
write_datafile();
}
// ---------------- Main ----------------
require_once $datafile;

Hokus pokus, og så er det de opdaterede værdier der automatisk
indlæses.

Jeg har også usynliggjort farve-inputfelterne. Nu spekulerer jeg
bare på om det er muligt for en tilfældig bruger at hitte ud af
hvordan siden fungerer? Det drejer sig mest om at kunne finde ud
af hvad man påvirker når man vælger farver.
--
/Bertel
Jan Hansen
2018-07-24 18:11:51 UTC
Permalink
Post by Bertel Lund Hansen
Jeg har også usynliggjort farve-inputfelterne.
Farvernes navne kan jo sagtens stå der alligevel, bare der ikke er
mulighed for selv at skrive andet end det, man kan vælge med knapperne.

Hvis du udskifter

<tr style='visibility:hidden'><td>Set background colour</td>
<td><input type='text' name='bgrcolor1' id='bgr1' size=15 value='Silver'></td></tr>

med

<tr><td>Set background colour</td>
<td><span id='bgrtxt1'>Silver</span>
<input type='hidden' name='bgrcolor1' id='bgr1' value='Silver'></td></tr>

og så tilføjer de span i example

function example (fgr,color){
if (fgr) {
document.getElementById('example'+number).style.color=color;
document.getElementById('fgr'+number).value=color;
document.getElementById('fgrtxt'+number).innerHTML=color;
}
else {
document.getElementById('example'+number).style.background=color;
document.getElementById('bgr'+number).value=color;
document.getElementById('bgrtxt'+number).innerHTML=color;
}
}

Så er det stadig til at se navnene på de valgte farver.
Post by Bertel Lund Hansen
Nu spekulerer jeg
bare på om det er muligt for en tilfældig bruger at hitte ud af
hvordan siden fungerer? Det drejer sig mest om at kunne finde ud
af hvad man påvirker når man vælger farver.
Mon ikke det er til at finde ud af? Om ikke andet, så hvis du skriver
"klik for at vælge:" ved Backgr og Text.
--
mvh Jan.
Help Microsoft stamp out piracy. Give
Linux to a friend today!
Bertel Lund Hansen
2018-07-25 08:15:25 UTC
Permalink
Post by Jan Hansen
Farvernes navne kan jo sagtens stå der alligevel, bare der ikke er
mulighed for selv at skrive andet end det, man kan vælge med knapperne.
Ja, men hvor vigtigt er det når man kan se de valgte farver på
eksemplerne?
--
/Bertel
Dennis Munding
2018-07-25 09:06:58 UTC
Permalink
Post by Bertel Lund Hansen
Post by Jan Hansen
Farvernes navne kan jo sagtens stå der alligevel, bare der ikke er
mulighed for selv at skrive andet end det, man kan vælge med knapperne.
Ja, men hvor vigtigt er det når man kan se de valgte farver på
eksemplerne?
Det kommer vel an på, hvor brugervenlig du vil gøre siden??

Personligt vil jeg mene, at det er informativt overfor farveblinde.

Derudover ville jeg ændre cursorens tilstand, når den holdes over
"knapperne". P.t. er det en standard pil - jeg ville vælge "cursor:
pointer", så brugeren ikke er i tvivl om, at han/hun kan klikke på den
pågældende "knap".


Og så en anden ting, som jeg mener, du bør rette:
På "setup-siden" er sproget engelsk, men dansk/engelsk på
"hovedprogram-siden"...
--
Med venlig hilsen

Dennis Munding
Bertel Lund Hansen
2018-07-25 11:06:31 UTC
Permalink
Post by Dennis Munding
Det kommer vel an på, hvor brugervenlig du vil gøre siden??
Meget!
Post by Dennis Munding
Personligt vil jeg mene, at det er informativt overfor farveblinde.
Ups. Dem havde jeg slet ikke tænkt på.
Post by Dennis Munding
Derudover ville jeg ændre cursorens tilstand, når den holdes over
"knapperne".
God idé.
Post by Dennis Munding
På "setup-siden" er sproget engelsk, men dansk/engelsk på
"hovedprogram-siden"...
Det er ikke helt rigtigt. begge programmer er rent engelske, men
når uret sættes op til en dansk turnering, vælger brugeren
naturligvis en dansk titel.

Forresten har jeg fjernet "Silkeborg" fra filnavnene, så linkene
er nu:

http://bridge.lundhansen.dk/bridgeclock/bridgeclock_setup.php
http://bridge.lundhansen.dk/bridgeclock/bridgeclock.php

Nu er titlerne franske (hvis ingen ændrer det).

PS. Silkeborgfilerne ligger der stadigvæk, men de opdateres ikke
med de sidste ændringer.
--
/Bertel
Bertel Lund Hansen
2018-07-25 11:42:15 UTC
Permalink
Post by Bertel Lund Hansen
Post by Dennis Munding
Det kommer vel an på, hvor brugervenlig du vil gøre siden??
Meget!
Nu har jeg lavet de sidste ændringer. Nu er det den endelige
version - igen igen.
--
/Bertel
Dennis Munding
2018-07-25 12:23:53 UTC
Permalink
Post by Bertel Lund Hansen
Post by Dennis Munding
Det kommer vel an på, hvor brugervenlig du vil gøre siden??
Meget!
Så er der plads til forbedringer endnu... :-)
Post by Bertel Lund Hansen
Post by Dennis Munding
Personligt vil jeg mene, at det er informativt overfor farveblinde.
Ups. Dem havde jeg slet ikke tænkt på.
Blinde og svagtseende kommer næppe til at bruge "programmet", så der
slipper du for videre "tiltale"... ;-)
Post by Bertel Lund Hansen
Post by Dennis Munding
Derudover ville jeg ændre cursorens tilstand, når den holdes over
"knapperne".
God idé.
Dem er jeg fyldt med til tider... ;-P
Post by Bertel Lund Hansen
Post by Dennis Munding
På "setup-siden" er sproget engelsk, men dansk/engelsk på
"hovedprogram-siden"...
Det er ikke helt rigtigt. begge programmer er rent engelske, men
når uret sættes op til en dansk turnering, vælger brugeren
naturligvis en dansk titel.
Og en engelsk opsætningsmenu...?
Jeg ville nok foretrække, at det hele var på mit valgte sprog... ;-)
Post by Bertel Lund Hansen
Forresten har jeg fjernet "Silkeborg" fra filnavnene, så linkene
http://bridge.lundhansen.dk/bridgeclock/bridgeclock_setup.php
http://bridge.lundhansen.dk/bridgeclock/bridgeclock.php
Nu er titlerne franske (hvis ingen ændrer det).
Merde!
--
Med venlig hilsen

Dennis Munding
Bertel Lund Hansen
2018-07-25 15:03:50 UTC
Permalink
Post by Dennis Munding
Og en engelsk opsætningsmenu...?
Jeg ville nok foretrække, at det hele var på mit valgte sprog... ;-)
Engelsk er ikke noget problem for bridgespillere i Danmark.
--
/Bertel
Dennis Munding
2018-07-25 16:14:24 UTC
Permalink
Post by Bertel Lund Hansen
Post by Dennis Munding
Og en engelsk opsætningsmenu...?
Jeg ville nok foretrække, at det hele var på mit valgte sprog... ;-)
Engelsk er ikke noget problem for bridgespillere i Danmark.
Om det er et problem eller ej er ikke pointen... :-)
Så en side signalerer til mig (og måske andre) at man har været
ubeslutsom i processen, da man lavede den.

Og eftersom du allerede benytter både javascript og php, ville det være
nærliggende at enten oprette en sprogfil eller smide det i en database.

Men det er helt op til dig, naturligvis. :-)
--
Med venlig hilsen

Dennis Munding
Kim Ludvigsen
2018-07-25 17:25:54 UTC
Permalink
Post by Bertel Lund Hansen
Post by Dennis Munding
Og en engelsk opsætningsmenu...?
Jeg ville nok foretrække, at det hele var på mit valgte sprog... ;-)
Engelsk er ikke noget problem for bridgespillere i Danmark.
Jeg ved ikke, om I er mere fremme i skoene, derovre på den anden side af
Bæltet, men min bridgespillende mor ville ikke have en jordisk chance.
Generelt er bridgespillere vel også lidt ældre end gennemsnittet,
hvilket nok ikke hjælper på engelskkundskaberne.
--
Mvh. Kim Ludvigsen
Bertel Lund Hansen
2018-07-26 07:20:05 UTC
Permalink
Post by Kim Ludvigsen
Jeg ved ikke, om I er mere fremme i skoene, derovre på den anden side af
Bæltet, men min bridgespillende mor ville ikke have en jordisk chance.
Jerg snakker ikke regionalt. På Bridgefestivalen i Svendborg
samles mange tusind bridgespillere, og der er altid tilknyttet
turneringsledere fra andre lande, så mange af spillerne bliver
vejledt på engelsk når en turneringsleder bliver tilkaldt. Selv
bruger jeg også engelsk hvis der ved et bord sidder en
bridgespiller fra udlandet.
Post by Kim Ludvigsen
Generelt er bridgespillere vel også lidt ældre end gennemsnittet,
Ja.
--
/Bertel
Bertel Lund Hansen
2018-07-26 07:31:23 UTC
Permalink
Post by Kim Ludvigsen
Jeg ved ikke, om I er mere fremme i skoene, derovre på den anden side af
Bæltet,
Desuden drejer det sig kun om signalord af den type som f.eks.
børn på 2 år lærer sig selv når de spiller computerspil.
--
/Bertel
Bertel Lund Hansen
2018-07-26 07:37:00 UTC
Permalink
Post by Bertel Lund Hansen
Desuden drejer det sig kun om signalord
Og uret skal slet ikke betjens af din mor. Det eneste engelsk hun
vil se, er "Round 1". Det er turneringslederen der skal sætte
uret op.
--
/Bertel
Kim Ludvigsen
2018-07-26 11:31:36 UTC
Permalink
Post by Bertel Lund Hansen
Og uret skal slet ikke betjens af din mor. Det eneste engelsk hun
vil se, er "Round 1". Det er turneringslederen der skal sætte
uret op.
Det hjælper unægteligt en del på det.
--
Mvh. Kim Ludvigsen
Jan Hansen
2018-07-25 09:53:37 UTC
Permalink
Post by Bertel Lund Hansen
Post by Jan Hansen
Farvernes navne kan jo sagtens stå der alligevel, bare der ikke er
mulighed for selv at skrive andet end det, man kan vælge med knapperne.
Ja, men hvor vigtigt er det når man kan se de valgte farver på
eksemplerne?
Jeg har prøvet at sætte de <span> ind i eksemplet, og lavet
et alternativ med <input type="color">
--
mvh Jan.
Help Microsoft stamp out piracy. Give
Linux to a friend today!
Loading...