Avatar billede mikoalngelo Nybegynder
27. oktober 2002 - 21:10 Der er 25 kommentarer og
1 løsning

"Lomme"regner -- Hvorfor virker dette script ikke?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD>
<META NAME="Generator" CONTENT="Stone's WebWriter 4 BETA 4a">
    <TITLE>Super-regneren</TITLE>
</HEAD>
<BODY>
<FORM NAME="Formen">
<TABLE BORDER="1">
 
  <TR>
    <TD><Q ENG="Functions createt:">Funktioner oprettet:</Q><BR>
      <DIV></DIV></TD>
    <TD ROWSPAN="2"><Q ENG="History:">Historie:</Q><BR><TEXTAREA name=History rows=16 readOnly wrap=off cols=42></TEXTAREA></TD></TR>
  <TR>
    <TD>
      <Q ENG="Variables createt:">Variabler oprettet:</Q><BR>
      <input type="button" value="Opret variabel" onclick='if(ENGDAN == 0){var VaRiAbLe = prompt("Variabel-navn:","");}else{var VaRiAbLe = prompt("Variable-name:","");}if(ENGDAN == 0){var VAluE = prompt("Variabel-værdi:","");}else{var VAluE = prompt("Variable-value:","");}eval("var " + VaRiAbLe + "=" + VAluE);document.getElementById("Vari").innerHTML += "<br>" + VaRiAbLe + " = " + VAluE;alert(VaRiAbLe + " = " + eval(VaRiAbLe));'><br>
      <div id="Vari"></DIV></TD></TR>
  <TR>
    <TD></TD>
    <TD><Q ENG="Calculate:">Udregn:</Q> <INPUT SIZE="40" NAME="Input">
    <input type="button" value="OK" onclick='var Superman=this.form.elements["Input"].value;this.form.elements["History"].value += Superman + "\n      " + eval(Superman) + "\n\n";this.form.elements["Input"].value = "";this.form.elements["Input"].focus();'></TD></TR></TABLE>

</FORM>
</BODY>
</HTML>



Virker ikke... HVORFOR IKKE???
Avatar billede mikoalngelo Nybegynder
27. oktober 2002 - 21:13 #1
Fejlen kommer, når man opretter en variabel, og så skriver f.eks t+1 i Input-feltet...

PS: kbd betyder ikke noget...
Avatar billede Slettet bruger
28. oktober 2002 - 18:09 #2
ENGDAN er ikke defineret.
Avatar billede mikoalngelo Nybegynder
17. november 2002 - 16:38 #3
Her er hele scriptet:

ENGDAN og andre variabler er til en "skift sprog-funktion"
Avatar billede Slettet bruger
17. november 2002 - 21:05 #4
Men den er ikke defineret, og det skaber jo unægteligt en fejl.
Avatar billede mikoalngelo Nybegynder
19. november 2002 - 15:48 #5
Koden kom vist ikke med. Her kommer den...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD>
<SCRIPT TYPE="text/javascript">
<!--
var ENGDAN = 0
function Trans(){
    var a = document.getElementsByTagName("q");
    var b=0
    if(ENGDAN == 0){
        while(b<a.length){
            a[b].DAN=a[b].innerHTML
            b++
        }
        b = 0
        while(b<a.length){
            a[b].innerHTML=a[b].ENG
            b++
        }
        ENGDAN = 1
    }
    else if(ENGDAN == 1){
        while(b<a.length){
            a[b].innerHTML=a[b].DAN
            b++
        }
        ENGDAN = 0
    }
}
document.write('<a href="java script: Trans();"><q ENG="Oversæt">Translate</q></a><p>');
// -->
</SCRIPT>
<META NAME="Generator" CONTENT="Stone's WebWriter 4 BETA 4a">
    <TITLE>Super-regneren</TITLE>
</HEAD>
<BODY>
<FORM NAME="Formen">
<TABLE BORDER="1">
 
  <TR>
    <TD><Q ENG="Functions createt:">Funktioner oprettet:</Q><BR>
      <DIV></DIV></TD>
    <TD ROWSPAN="2"><Q ENG="History:">Historie:</Q><BR><TEXTAREA name=History rows=16 readOnly wrap=off cols=42></TEXTAREA></TD></TR>
  <TR>
    <TD>
      <Q ENG="Variables createt:">Variabler oprettet:</Q><BR>
      <input type="button" value="Opret variabel" onclick='if(ENGDAN == 0){var VaRiAbLe = prompt("Variabel-navn:","");}else{var VaRiAbLe = prompt("Variable-name:","");}if(ENGDAN == 0){var VAluE = prompt("Variabel-værdi:","");}else{var VAluE = prompt("Variable-value:","");}eval("var " + VaRiAbLe + "=" + VAluE);document.getElementById("Vari").innerHTML += "<br>" + VaRiAbLe + " = " + VAluE;alert(VaRiAbLe + " = " + eval(VaRiAbLe));'><br>
      <div id="Vari"></div></TD></TR>
  <TR>
    <TD></TD>
    <TD><Q ENG="Calculate:">Udregn:</Q> <INPUT SIZE="40" NAME="Input">
    <input type="button" value="OK" onclick='var Superman=this.form.elements["Input"].value;this.form.elements["History"].value += Superman + "\n      " + eval(Superman) + "\n\n";this.form.elements["Input"].value = "";this.form.elements["Input"].focus();'></TD></TR></TABLE>

</FORM>
</BODY>
</HTML>
Avatar billede Slettet bruger
19. november 2002 - 17:22 #6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD>
<SCRIPT TYPE="text/javascript">
<!--
vars = new Array();
vals = new Array();

var ENGDAN = 0
function Trans(){
    var a = document.getElementsByTagName("q");
    var b=0
    if(ENGDAN == 0){
        while(b<a.length){
            a[b].DAN=a[b].innerHTML
            b++
        }
        b = 0
        while(b<a.length){
            a[b].innerHTML=a[b].ENG
            b++
        }
        ENGDAN = 1
    }
    else if(ENGDAN == 1){
        while(b<a.length){
            a[b].innerHTML=a[b].DAN
            b++
        }
        ENGDAN = 0
    }
}

function udregn(frm) {
var Superman = frm.elements["Input"].value;
for (i = 0; i < vars.length; i++)
eval("Superman = Superman.replace(/" + vars[i] + "/g, " + vals[i] + ")");
frm.elements["History"].value += Superman + "\n      " + eval(Superman) + "\n\n";
frm.elements["Input"].value = "";
frm.elements["Input"].focus();
}

document.write('<a href="java script: Trans();"><q ENG="Oversæt">Translate</q></a><p>');
// -->
</SCRIPT>
<META NAME="Generator" CONTENT="Stone's WebWriter 4 BETA 4a">
    <TITLE>Super-regneren</TITLE>
</HEAD>
<BODY>
<FORM NAME="Formen">
<TABLE BORDER="1">
 
  <TR>
    <TD><Q ENG="Functions createt:">Funktioner oprettet:</Q><BR>
      <DIV></DIV></TD>
    <TD ROWSPAN="2"><Q ENG="History:">Historie:</Q><BR><TEXTAREA name=History rows=16 readOnly wrap=off cols=42></TEXTAREA></TD></TR>
  <TR>
    <TD>
      <Q ENG="Variables createt:">Variabler oprettet:</Q><BR>
      <input type="button" value="Opret variabel" onclick='if(ENGDAN == 0){var VaRiAbLe = prompt("Variabel-navn:","");}else{var VaRiAbLe = prompt("Variable-name:","");}if(ENGDAN == 0){var VAluE = prompt("Variabel-værdi:","");}else{var VAluE = prompt("Variable-value:","");}vars[vars.length] = VaRiAbLe; vals[vals.length] = VAluE;document.getElementById("Vari").innerHTML += "<br>" + VaRiAbLe + " = " + VAluE;alert(VaRiAbLe + " = " + vals[vals.length - 1]);'><br>
      <div id="Vari"></div></TD></TR>
  <TR>
    <TD></TD>
    <TD><Q ENG="Calculate:">Udregn:</Q> <INPUT SIZE="40" NAME="Input">
    <input type="button" value="OK" onclick="udregn(this.form);"></TD></TR></TABLE>

</FORM>
</BODY>
</HTML>
Avatar billede mikoalngelo Nybegynder
19. november 2002 - 20:18 #7
DET FUNGER JO!!!!!!
........hhhhhhhhhHHHHHHHHAAAAAAAAAAAALLLLLLLLLLLLEEEEEEEEEEELLLLLLLLLLLLLUUUUUUUUUUUJJJJJJJJJJJJJJAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaa...............
TAKKER!!!!!
Har du ICQ??? (eller lignende)
Avatar billede mikoalngelo Nybegynder
22. november 2002 - 08:42 #8
Kan du også lave det så der kommer en knap under teksten "funktioner oprettet:" der kommer med en lignende guide som med variabel-oprettelse?
Avatar billede Slettet bruger
22. november 2002 - 14:16 #9
Hmm... Det bliver sværere at skulle oprette funktioner. Hvordan kunne du forestille dig, det skulle foregå (skær venligst ud i pap)?

Og nej, jeg har ikke ICQ, Messenger eller sådan noget.
Avatar billede mikoalngelo Nybegynder
23. november 2002 - 16:18 #10
Bare to dialog-bokse (prompt):

1:
  Skrift: Funktions-navn:
  I indskrivnings-feltet: navn([parametre])

2:
  Skrift: Funktions-kode:
  I indskrivnings-feltet: Kode 1;Kode 2;

Jeg laver selv en hjælp-del der forklarer hvordan man koder funktioner i detaljer.´

Og når man så har indtastet informationer i de to prmpte, så laves der en funktion med de pågældende parametre og kode, og så kommer der et link neden under knappen til at lave funktioner med, der giver en alert med koden for funktionen i, lidt på samme måde som med variablerne.

Hvis du vil have flere point, så bare sig til...
Avatar billede Slettet bruger
24. november 2002 - 16:51 #11
Ja, ok, nu kan jeg se det... Jeg synes det virker lidt omstændeligt, men jeg kan jo prøve ad.

Skal en funktion vise resultatet i input-feltet?
Avatar billede mikoalngelo Nybegynder
24. november 2002 - 21:08 #12
Jeg forstår ikke helt.
Mener du at når man har oprettet en funktion, så skal den skrive koden i "Udsagn"-feltet eller hvad?
Avatar billede Slettet bruger
25. november 2002 - 13:41 #13
Ehm, nej. Jeg er temmelig usikker på, hvad du mener. Skal det bare være en helt normal funktion som i JavaScript, eller skal det være en form for matematisk funktion, der giver et output, fx:

function stoerst(tal1, tal2) {
if (tal1 > tal2)
return tal1;
else if (tal2 > tal1)
return tal2;
else
return "Lige store";
}

... hvor det funktionen returnerer bliver vist i resultat-feltet?
Avatar billede mikoalngelo Nybegynder
26. november 2002 - 17:50 #14
Det skal være en normal JS-funktion, den skal kodes af brugeren, og resultatet skal først vises når man kalder funktionen.
Jeg skal selv gøre så brugeren kan programmere den påkrævede kode.
Men ellers ja, en matematisk funktion, programmeret i JS!
Avatar billede Slettet bruger
27. november 2002 - 14:12 #15
Det tror jeg desværre ikke kan lade sig gøre. Du må henvise brugeren til de normale matematiske javascript-funktioner, der hører til Math-objektet.

Og forøvrigt: Hvis brugeren skal bruge så avanceret en funktion, hvorfor i al verden kan han så ikke bare programmere et javascript selv? Det behøver han vel ikke din lommeregner til?
Avatar billede mikoalngelo Nybegynder
28. november 2002 - 21:24 #16
Jeg vil kun lige forklare det mest grunlæggende med matematiske udregninger med JS. Han/hun vil overhovedet ikke være i standt til at programmere i JS bare fordi han har kigget ind på min lommeregner...

Men så prøv at lave en som du tænker den, så kan jeg altid videreudvikle den selv... :)
Avatar billede Slettet bruger
30. november 2002 - 12:40 #17
Hvorfor ikke bare bruge Math-objektets udmærkede funktioner? Det skal jo alligevel ikke være så avanceret.
Avatar billede mikoalngelo Nybegynder
01. december 2002 - 19:14 #18
DEt skal bare være sådan at man klikker på funktion-knappen, så kommer der to bokse op, en hvor man skriver (og dette er et eksempel):

Hojeste(a,b)

I den næste skriver man (stadig et eksempel :):

var c = Math.max(a,b); return c;

så når man skriver Hojeste(5,9) i Udsagn-feltet, så skriver den "Hojeste(5,9) \n    9" i historie-tekstareaet.
Er det så besværligt, eller har jeg bare ikke forklaret det godt nok? :-?
Avatar billede Slettet bruger
01. december 2002 - 19:18 #19
Ja, det er besværligt, for som vi jo lige har set, virker eval ikke efter hensigten.

Og her bruger du jo altså også en Math-funktion, der allerede fungerer fint.
Avatar billede mikoalngelo Nybegynder
03. december 2002 - 20:35 #20
Det må gerne tage lang tid.
Det må også godt koste lidt p.
Bare det virker.
Prøv at lave det du mener, så skal jeg nok se på det...
Avatar billede Slettet bruger
04. december 2002 - 14:17 #21
Jeg tror knap nok, det er muligt. Det bliver simpelthen så ufatteligt besværligt, at det ikke endnu mindre mening, end det i forvejen ser ud til at gøre. Hvorfor i al verden skal lommeregneren være så avanceret?
Avatar billede Slettet bruger
04. december 2002 - 14:18 #22
ikke endnu = giver endnu
Avatar billede mikoalngelo Nybegynder
05. december 2002 - 20:09 #23
Fordi jeg har et program, ved navn Powertoy calculator, og den er endnu mere avanceret end den her, men den virker på XP, og den PC på skolen er 98, og jeg skal bruge en så avanceret maskine...
Avatar billede Slettet bruger
05. december 2002 - 20:35 #24
Hvad med denne her:
http://www.sicyon.com/
Avatar billede mikoalngelo Nybegynder
06. december 2002 - 09:22 #25
Jeg prøver den...
Avatar billede Slettet bruger
06. december 2002 - 16:14 #26
Det ville være godt, hvis den kunne passe til dit behov.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester