7 svar
265 visningar
delz är nöjd med hjälpen
delz 56
Postad: 25 feb 2018

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>

IGIL 69
Postad: 26 feb 2018 Redigerad: 26 feb 2018

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!

delz 56
Postad: 27 feb 2018

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>

IGIL 69
Postad: 27 feb 2018

Det borde vara något fel med din inmatning i så fall. Koden fungerar ifall man sätter svar till något.

PeterÅ 1053 – Avstängd
Postad: 27 feb 2018 Redigerad: 27 feb 2018

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

IGIL 69
Postad: 27 feb 2018 Redigerad: 27 feb 2018
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.

PeterÅ 1053 – Avstängd
Postad: 28 feb 2018

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.

delz 56
Postad: 1 mar 2018

Tack för era svar. Uppskattar tiden ni lägger ner!

Svara Avbryt
Close