ta emot en text, sedan slumpmässigt generera nya ord som innehåller samma bokstäver
Använder både Jscript och VBScript och sparar filen som en .wsf-fil
<?xml version = '1.0' encoding = 'ISO-8859-1' ?>
<job id = 'textsträngsexempel'>
<script language = 'VBScript'>
<![CDATA[
' VBScript:
Function inmatning (meddelande, titel, ifyllt)
inmatning = InputBox(meddelande,titel,ifyllt)
End Function
]]>
</script>
<script language = 'JScript'>
<![CDATA[
//Jscript:
var titel2 = 'Du ska få ett nytt ord';
var meddelande2 = 'Skriv ett ord. Därefter kommer jag slänga tillbaka dig ett ord med samma bokstäver';
var ifyllt2 = 'Ordet';
var svar = inmatning(meddelande2, titel2, ifyllt2);
/*
Nu vet jag inte hur jag ska kunna koda något som slänger tillbak ett annat nytt slumpmässigt ord med samma bokstäver
*/
]]>
</script>
</job>
Ifall jag skriver in "Hej". Ska programmet bara skapa ett nytt ord med ett "H" ett "e" och ett "j"?
Ifall att det är fallet så kan du skapa en for loop som kör igenom ordet och byter plats på två stycken bokstäver för varje gång den körs. Tänk på att varje plats i ett ordet har ett index värde. Du vill alltså slumpa fram två index värden från din text och sedan byta plats på dem!
Fråga igen ifall du vill ha mer hjälp med koden!
Jag tänkte ut en annan lösning, man börjar med att mata in textsträngen, därefter ska det ordet skrivas baklänges, då får man med alla bokstäver och det blir ett nytt ord,fast baklänges. men slut resultatet blir detta:
<?xml version = '1.0' encoding = 'ISO-8859-1' ?>
<job id = 'inmatning'>
<script language = 'VBScript'>
<![CDATA[
' VBScript:
Function inmatning (meddelande, titel, ifyllt)
inmatning = InputBox(meddelande,titel,ifyllt)
End Function
]]>
</script>
<script language = 'JScript'>
<![CDATA[
//Jscript:
var ordBak = "";
var i;
var titel2 = 'Du ska få ett nytt ord';
var meddelande2 = 'Skriv ett ord. Därefter kommer jag slänga tillbaka dig ett ord med samma bokstäver';
var ifyllt2 = 'Ordet';
var svar = inmatning(meddelande2, titel2, ifyllt2);
//ifall jag skriver ut här WScript.Echo(svar[0]) så visar den en tom ruta.
for (i = svar.length - 1; i >= 0; i-- )
{
ordBak += svar[i];
}
Wscript.Echo(ordBak);
]]>
</script>
</job>
Det borde vara något fel med din inmatning i så fall. Koden fungerar ifall man sätter svar till något.
Om du vill skriva / felsöka ett script är det bättre att "hårdkoda" värden till att börja med för att kunna verifiera att koden / logiken fungerar. Först därefter ska du lägga till inmatning.
OBS: Du måste använda metoden charAt() för att läsa enskilda tecken från en sträng. Se nedan.
OBS: JScript (Javascript, C, C++, C#, Java mfl.) skiljer på gemener och VERSALER. Skriv därför WScript.Echo(ordBak);
var i;
var ordBak = "";
var svar = "ni talar bra latin";
for (i = svar.length - 1; i >= 0; i-- )
{
ordBak += svar.charAt(i);
}
WScript.Echo(ordBak);
PeterÅ skrev :Om du vill skriva / felsöka ett script är det bättre att "hårdkoda" värden till att börja med för att kunna verifiera att koden / logiken fungerar. Först därefter ska du lägga till inmatning.
OBS: Du måste använda metoden charAt() för att läsa enskilda tecken från en sträng. Se nedan.
OBS: JScript (Javascript, C, C++, C#, Java mfl.) skiljer på gemener och VERSALER. Skriv därför WScript.Echo(ordBak);var i;
var ordBak = "";
var svar = "ni talar bra latin";for (i = svar.length - 1; i >= 0; i-- )
{
ordBak += svar.charAt(i);
}
WScript.Echo(ordBak);
Man ska kunna använda text[index] för att hämta en bokstav från en sträng i JavaScript/JScript.
JScript är inte samma sak som Javascript. I min version av JScript går det inte att använda index direkt. Det blir undefinedundefinedundefined.... precis som delz fick.
Jag har inte lagt ner något arbeta på att ta reda på varför.
Tack för era svar. Uppskattar tiden ni lägger ner!