Avatar billede angelenglen Nybegynder
08. december 2002 - 00:16 Der er 8 kommentarer og
1 løsning

random bogstaver i skema

jeg skal have lavet et skema noget i den her stil:

http://www.psycotics.dk/skema.jpg

-alle de grå felter er statiske - det er kun de blå felter der hver skal indeholde 2 komplet random bogstaver fra A-Z (ikke æøå)

dvs at alle felterne indeholder 2 stk tilfældige bogstver.

det hele skal være sat op i et table, og der skal være mulighed for at kunne definere hvor mange felter bred, og hver mange felter høj  tablet skal være

-fx 8 felter bred og 10 felter højt, og så en knap der refresher siden, og lavet et sådan feldt fyldt med random bogstaver.

udseende er ligemeget, det kan jeg selv få til at være pænt.
Avatar billede eldaria Nybegynder
08. december 2002 - 01:32 #1
Jeg kender desværre ikke JavaScript, men det kan være at du kan modificere den her til Java script, så vidt jeg har hørt er der ikke den helt store forskel.
Det er lavet med vbscript og laver det du skal bruge.

<html>
<body>

<script type="text/vbscript">
document.write("<table border='1'>")
document.write("<tr>")
document.write("<td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td>")
document.write("</tr>")
Dim a
Dim b
Dim ia
Dim ib

For ia = 1 To 5
    document.write("<tr><td>" & ia & "</td>")
    For ib = 2 To 6
        a = Chr(Int((90 - 65 + 1) * Rnd + 65))
        b = Chr(Int((90 - 65 + 1) * Rnd + 65))
        document.write("<td>" & a & b & "</td>")
    Next
    document.write("</tr>")
Next
document.write("</table>")
</script>

</body>
</html>
Avatar billede jespernaur Nybegynder
08. december 2002 - 02:22 #2
Prøv detteher:

<html>
<head>

<script language="JavaScript">
function dw( txt )
{
  document.write( txt );
}

var rows = 10;
var cols = 15;
letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

</script>

</head>
<body>

<script language="JavaScript">
dw('<table border=1>\n');
for (r = 0; r < rows; r++) {
  dw('  <tr>\n')
  for (c = 0; c < cols; c++) {
      randval = Math.random() * 26 * 26;
      firstlet = Math.floor(randval/26);
      secondlet = Math.floor(randval) % 26;

      dw( '<td>' + letters.substr(firstlet,1) +
                  letters.substr(secondlet,1) +'</td>' );
  }
  dw('  </tr>\n')
}
dw('</table><br>\n');

dw('<input type=button value="Gentegn" onclick="location.reload(true);">');
</script>
</body>
</html>

Mvh
Jesper Naur
Avatar billede angelenglen Nybegynder
08. december 2002 - 10:41 #3
Jesper Naur:
det er lige præcis det jeg skal bruge, det eneste der mangler er mulighed for selv på siden at definere hvor mange felter bred/høj den skal være.
er der mulighed for at få ordnet det?
Hvis 200 points ikke er nok, kan mere arrengeres..
Avatar billede angelenglen Nybegynder
08. december 2002 - 10:42 #4
-og er der mulighed for at vælge hvor mange bogstaver der skal være i hvert felt?
-så man i teorien kunne få 10-20 forskellige bogstaver i hvert felt, alt efter hvad man indstiller den til?
Avatar billede angelenglen Nybegynder
08. december 2002 - 11:01 #5
hmm jeg har lavet det så den viser både 1 og 2 bogstaver i felterne - det er fint nok.

nu mangler det bare at man kan definere antal felter i højde og bredte på tabls'ne.

<html>
<head>
<style type="text/css">
<!--
BODY        {     font-family: Tahoma, Verdana, Helvetica, sans-serif;    font-size:10pt;            font-weight:normal;        color: #000000;
            padding: 2px;
            topmargin: 2px;
            bottommargin: 2px;
            leftmargin: 2px;
            rightmargin: 2px;
SCROLLBAR-FACE-COLOR: #A19292;
SCROLLBAR-HIGHLIGHT-COLOR: #DDDDDD;
SCROLLBAR-TRACK-COLOR: #FFFFFF;
;SCROLLBAR-SHADOW-COLOR: #C6C6C6;
SCROLLBAR-3DLIGHT-COLOR: #EEEEEE;
SCROLLBAR-ARROW-COLOR: #FFFFFF;
SCROLLBAR-DARKSHADOW-COLOR: #BBBBBB;
SCROLLBAR-BASE-COLOR: #A19292;
}
-->
</style>


<script language="JavaScript">
function dw( txt )
{
  document.write( txt );
}

var rows = 12;
var cols = 15;
letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

</script>

</head>
<body>

<script language="JavaScript">
dw('<table border=0 cellpadding=20><tr><td valign=top>\n')
dw('<table border=1>\n');
for (r = 0; r < rows; r++) {
  dw('  <tr>\n')
  for (c = 0; c < cols; c++) {
      randval = Math.random() * 26 * 26;
      firstlet = Math.floor(randval/26);
      secondlet = Math.floor(randval) % 26;

      dw( '<td>' + letters.substr(firstlet,1) +'</td>' );
  }
  dw('  </tr>\n')
}
dw('</table><br>\n');

dw('<br><br>')
dw('</td><td valign=top>')
</script>



<script language="JavaScript">
dw('<table border=1>\n');
for (k = 0; k < rows; k++) {
  dw('  <tr>\n')
  for (l = 0; l < cols; l++) {
      randvals = Math.random() * 26 * 26;
      firstlet1 = Math.floor(randvals/26);
      secondlet1 = Math.floor(randvals) % 26;

      dw( '<td>' + letters.substr(firstlet1,1) +
                  letters.substr(secondlet1,1) +'</td>' );
  }
  dw('  </tr>\n')
}
dw('</table><br>\n');
dw('</td></tr><br>\n');
dw('<tr><td colspan=2 valign=top>\n');
dw('<center><input type=button value="Gentegn" onclick="location.reload(true);" style="color: green; font-weight: bold;"></center>');
dw('</td></tr></table>\n')
</script>
</body>
</html>
Avatar billede jespernaur Nybegynder
08. december 2002 - 13:44 #6
Nu tror jeg det skulle være helt som du ønsker det:

<html>
<head>
<style type="text/css">
<!--
BODY        {    font-family: Tahoma, Verdana, Helvetica, sans-serif;    font-size:10pt;            font-weight:normal;        color: #000000;
            padding: 2px;
            topmargin: 2px;
            bottommargin: 2px;
            leftmargin: 2px;
            rightmargin: 2px;
SCROLLBAR-FACE-COLOR: #A19292;
SCROLLBAR-HIGHLIGHT-COLOR: #DDDDDD;
SCROLLBAR-TRACK-COLOR: #FFFFFF;
;SCROLLBAR-SHADOW-COLOR: #C6C6C6;
SCROLLBAR-3DLIGHT-COLOR: #EEEEEE;
SCROLLBAR-ARROW-COLOR: #FFFFFF;
SCROLLBAR-DARKSHADOW-COLOR: #BBBBBB;
SCROLLBAR-BASE-COLOR: #A19292;
}
-->
</style>


<script language="JavaScript">
/*
* This function parses comma-separated name=value argument pairs from
* the query string of the URL. It stores the name=value pairs in
* properties of an object and returns that object.
*/
function getArgs() {
    var args = new Object();
    var query = location.search.substring(1);  // Get query string.
    var pairs = query.split(",");              // Break at comma.
    for(var i = 0; i < pairs.length; i++) {
    var pos = pairs[i].indexOf('=');      // Look for "name=value".
    if (pos == -1) continue;              // If not found, skip.
    var argname = pairs[i].substring(0,pos);  // Extract the name.
    var value = pairs[i].substring(pos+1); // Extract the value.
    args[argname] = unescape(value);          // Store as a property.
    }
    return args;                              // Return the object.
}




function dw( txt )
{
  document.write( txt );
}

function redraw()
{
  var nextsearch = '?rows='+ document.f.rows.value +
                    ',cols='+ document.f.cols.value +
                    ',letnum='+ document.f.letnum.value;
  location.search = nextsearch;
}

var rows  = 8;
var cols  = 15;
var letnum = 2;
var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

</script>

</head>
<body>

<script language="JavaScript">
var args = getArgs();
if (args.rows) rows = parseInt(args.rows);
if (args.cols) cols = parseInt(args.cols);
if (args.letnum) letnum = parseInt(args.letnum);

dw('<table border=0 cellpadding=20><tr><td valign=top>\n')
dw('<table border=1>\n');
for (r = 0; r < rows; r++) {
  dw('  <tr>\n')
  for (c = 0; c < cols; c++) {
      randval = Math.random() * 26 * 26;
      firstlet = Math.floor(randval/26);
      secondlet = Math.floor(randval) % 26;

      dw('<td>');
      for (l = 0; l < letnum; l++) {
        randval = Math.floor(Math.random() * 26);

        dw(letters.substr(randval,1));
      }
      dw('</td>');
  }
  dw('  </tr>\n')
}
dw('</table><br>\n');

dw('<br><br>')
dw('</td><td valign=top>')

dw('</td></tr><br>\n');
dw('<tr><td colspan=2 valign=top>\n');
dw('<center><input type=button value="Gentegn" onclick="redraw();" style="color: green; font-weight: bold;"></center>');
dw('</td></tr></table>\n')
dw('<form name=f>\n');
dw('Rækker: <input type=text name=rows value='+rows+'><br>');
dw('Søjler: <input type=text name=cols value='+cols+'><br>');
dw('Bogstaver: <input type=text name=letnum value='+letnum+'><br>');
dw('</form>\n')

</script>
</body>
</html>

Må jeg være nysgerrig og spørge, hvad du skal bruge det til?

Mvh
Jesper Naur
Avatar billede jespernaur Nybegynder
08. december 2002 - 15:03 #7
Ups jeg har lige set, at jeg har efterladt 3 nu overflødige linier:

  for (c = 0; c < cols; c++) {
      randval = Math.random() * 26 * 26;      OVERFLØDIG
      firstlet = Math.floor(randval/26);      OVERFLØDIG
      secondlet = Math.floor(randval) % 26;  OVERFLØDIG

De gør i og for sig ingen skade, men du bør alligevel slette dem.
Avatar billede angelenglen Nybegynder
08. december 2002 - 23:11 #8
det virker perfekt!
Mange tak!
Avatar billede angelenglen Nybegynder
08. december 2002 - 23:18 #9
-der er forresten muligvis 150 points mere at hente, hvis du har lyst til endnu en udfordring:

http://www.eksperten.dk/spm/292583
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger it-supporter til Lokal IT Servicecenter i Karup

Netcompany A/S

IT Consultant

Banedanmark

ERTMS Test Manager

Capgemini Danmark A/S

Strategy & Transformation Consultant

Fælles AI

AI Lead