Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Endelig version

3 views
Skip to first unread message

Bertel Lund Hansen

unread,
Jul 24, 2018, 5:06:19 AM7/24/18
to
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

unread,
Jul 24, 2018, 6:44:51 AM7/24/18
to
Den Tue, 24 Jul 2018 11:06:19 +0200 skrev Bertel Lund Hansen <gade...@lundhansen.dk>:

> 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
> 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.

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.

> 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å.

> 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

unread,
Jul 24, 2018, 10:18:52 AM7/24/18
to
Jan Hansen skrev:

> Skal der ikke noget begrænsning på de knapper til at stille urene, hvis
> klik giver en negativ værdi?

Rettet.

> 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.

> 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

unread,
Jul 24, 2018, 11:08:48 AM7/24/18
to
Bertel Lund Hansen skrev:

> 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

unread,
Jul 24, 2018, 2:11:52 PM7/24/18
to
24 Jul 2018 17:08:49 +0200 skrev Bertel Lund Hansen <gade...@lundhansen.dk>:


> 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.


> 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.

Bertel Lund Hansen

unread,
Jul 25, 2018, 4:15:25 AM7/25/18
to
Jan Hansen skrev:

> 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

unread,
Jul 25, 2018, 5:08:18 AM7/25/18
to
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

Jan Hansen

unread,
Jul 25, 2018, 5:53:38 AM7/25/18
to
Den Wed, 25 Jul 2018 10:15:25 +0200 skrev Bertel Lund Hansen <gade...@lundhansen.dk>:

> > 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">

Bertel Lund Hansen

unread,
Jul 25, 2018, 7:06:32 AM7/25/18
to
Dennis Munding skrev:

> Det kommer vel an på, hvor brugervenlig du vil gøre siden??

Meget!

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

Ups. Dem havde jeg slet ikke tænkt på.

> Derudover ville jeg ændre cursorens tilstand, når den holdes over
> "knapperne".

God idé.

> Og så en anden ting, som jeg mener, du bør rette:
> 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

unread,
Jul 25, 2018, 7:42:16 AM7/25/18
to
Bertel Lund Hansen skrev:

>> 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

unread,
Jul 25, 2018, 8:25:12 AM7/25/18
to
Bertel Lund Hansen wrote:

> Dennis Munding skrev:
>
> > Det kommer vel an på, hvor brugervenlig du vil gøre siden??
>
> Meget!

Så er der plads til forbedringer endnu... :-)


> > 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"... ;-)


> > Derudover ville jeg ændre cursorens tilstand, når den holdes over
> > "knapperne".
>
> God idé.


Dem er jeg fyldt med til tider... ;-P


> > Og så en anden ting, som jeg mener, du bør rette:
> > 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... ;-)


> 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).


Merde!

Bertel Lund Hansen

unread,
Jul 25, 2018, 11:03:50 AM7/25/18
to
Dennis Munding skrev:

> 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

unread,
Jul 25, 2018, 12:15:44 PM7/25/18
to
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. :-)

Kim Ludvigsen

unread,
Jul 25, 2018, 1:25:56 PM7/25/18
to
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

unread,
Jul 26, 2018, 3:20:05 AM7/26/18
to
Kim Ludvigsen skrev:

> 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.

> Generelt er bridgespillere vel også lidt ældre end gennemsnittet,

Ja.

--
/Bertel

Bertel Lund Hansen

unread,
Jul 26, 2018, 3:31:23 AM7/26/18
to
Kim Ludvigsen skrev:

> 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

unread,
Jul 26, 2018, 3:37:00 AM7/26/18
to
Bertel Lund Hansen skrev:

> 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

unread,
Jul 26, 2018, 7:31:40 AM7/26/18
to
Den 26-07-2018 kl. 09:37 skrev 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
0 new messages