[NEED HELP]cant find the error??

i cant find out why it comes with the errors. anyone can help me?

and yes i know that some of the variables are not in use.

the code:

import System.IO;
private var ranNum : int;
var buttonWidth : int = 200;
var buttonHeight : int = 50;
var buttonSpacing : int = 200;
private var output : String[];
private var line : String;
private var FilePath : String;
private var FileName : String;
private var FileLines : String;
var question : String;
var answer1 : String;
var answer3 : String;
var answer4 : String;
var ranswer : String ;
var ranswer3 : String;
var ranswer2 : boolean = false;
private var line : String;
private var counter : int;
private var spliter : String;
private var Builder : String;
var starter : boolean = true;

function Start () {
		//FilePath  = 
		fileName = new StreamReader("/database.txt");
	}

function OnGUI () {
	
	
	
}

function ReadFile (FileName) {
		while (true){
		line = fileName.split("/n");//to skip a line
		if (line == null) { break; }
		counter = counter + 1;
	}// countes how many lines there is
		
	sr = new File.OpenText(FileName);
	
	ranNum = Math.floor(Math.random()*(counter + 1));// finds a random nr
	
	while (starter) {
		output = sr.ReadLine.split(", ");
		if (output.Contains("opg" + (ranNum)))
		{
			foreach(Builder in output){
			
				if (Builder == "question ")
				{
					question = Builder.Substring(9);
				}
				if (Builder == "answer1 ")
				{
					answer1 = Builder.Substring(8);
				}
				if (Builder == "answer2 ")
				{
					answer2 = Builder.Substring(8);
				}
				if (Builder == "answer3 ")
				{
					answer3 = Builder.Substring(8);
				}
				if (Builder == "ranswer ")
				{
					ranswer = Builder.Substring(8);
					starter = false;
				}
				
			}
		
		}
		
	}
	sr.Close();
	

}

the database.txt:

opg1, question what is 1+1,answer1 1,answer2 2,answer3 3,ranswer 2
opg2, question what is 1+2,answer1 1,answer2 2,answer3 3,ranswer 3
opg3, question what is 1+3,answer1 1,answer2 2,answer3 3,ranswer 4
opg4, question what is 2+1,answer1 3,answer2 4,answer3 5,ranswer 3
opg5, question what is 2+2,answer1 3,answer2 4,answer3 5,ranswer 4
opg6, question what is 2+3,answer1 3,answer2 4,answer3 5,ranswer 5
opg7, question what is 3+1,answer1 4,answer2 5,answer3 6,ranswer 4
opg8, question what is 3+2,answer1 4,answer2 5,answer3 6,ranswer 5
opg9, question what is 3+3,answer1 4,answer2 5,answer3 6,ranswer 6

At least tell us what you know. What are the errors?

Two errors… if you double click on the first error line, it will take you to this:

foreach(Builder in output){

foreach doesnt work in Unity, use:

for(Builder in output){

save it, and it then gives you one more error:

Assets/NewBehaviourScript.js(18,13): BCE0089: Type ‘NewBehaviourScript’ already has a definition for ‘line’.

This is because you have defined line twice in the header. :wink:

okay the new editet code and errors

import System.IO;
private var ranNum : int;
var buttonWidth : int = 200;
var buttonHeight : int = 50;
var buttonSpacing : int = 200;
private var output : String[];
private var line : String;
private var FilePath : String;
private var fileName : StreamReader;
private var FileLines : String;
var question : String;
var answer1 : String;
var answer3 : String;
var answer4 : String;
var ranswer : String ;
var ranswer3 : String;
var ranswer2 : boolean = false;
private var line2 : String;
private var counter : int;
private var spliter : String;
private var Builder : String;
var starter : boolean = true;

function Start () {
		//FilePath  = 
		fileName = new StreamReader("/database.txt");
	}

function OnGUI () {
	
	
	
}

function ReadFile (FileName) {
		while (true){
		line2 = fileName.split("/n");//to skip a line
		if (line == null) { break; }
		counter = counter + 1;
	}// countes how many lines there is
		
	sr = new File.OpenText(FileName);
	
	ranNum = Math.floor(Math.random()*(counter + 1));// finds a random nr
	
	while (starter) {
		output = sr.ReadLine.split(", ");
		if (output.Contains("opg" + (ranNum)))
		{
			for(Builder in output){
			
				if (Builder == "question ")
				{
					question = Builder.Substring(9);
				}
				if (Builder == "answer1 ")
				{
					answer1 = Builder.Substring(8);
				}
				if (Builder == "answer2 ")
				{
					answer2 = Builder.Substring(8);
				}
				if (Builder == "answer3 ")
				{
					answer3 = Builder.Substring(8);
				}
				if (Builder == "ranswer ")
				{
					ranswer = Builder.Substring(8);
					starter = false;
				}
				
			}
		
		}
		
	}
	sr.Close();
	

}

/*function ReadFile(filepathIncludingFileName : String) {
	sr = new File.OpenText(filepathIncludingFileName);

	input = "";
	while (true) {
		input = sr.ReadLine();
		if (input == null) { break; }
		Debug.Log("line="+input);
	}
	sr.Close();
}*/

:confused:

You want to use Mathf and not Math (if you want to use Math you need to use the System namespace).
Split needs to be written as Split and not as split.

Also Contains is an extension Method provided through the Linq namespace and not part of the default Array/Enumerable.
Maybe you want to use contains which is something different than Contains.

okay we try again

import System.IO;
private var ranNum : int;
var buttonWidth : int = 200;
var buttonHeight : int = 50;
var buttonSpacing : int = 200;
private var output : String[];
private var line : String;
private var FilePath : StreamReader;
private var fileName : String;
private var FileLines : String;
var question : String;
var answer1 : String;
var answer3 : String;
var answer4 : String;
var ranswer : String ;
var ranswer3 : String;
var ranswer2 : boolean = false;
private var line2 : String;
private var counter : int;
private var spliter : String;
private var Builder : String;
var starter : boolean = true;

function Start () {
		FilePath  =  new StreamReader("database.txt");
		fileName = ("" + FilePath);
	}

function OnGUI () {
	
	
	
}

function ReadFile (FilePath) {
		while (true){
		line2 = fileName.Split("/n");//to skip a line
		if (line == null) { break; }
		counter = counter + 1;
	}// countes how many lines there is
		
	sr = new File.OpenText(FilePath);
	
	ranNum = (Random.Range(1, counter));// finds a random nr
	
	while (starter) {
		output = sr.ReadLine.Split(", ");
		if (output.contains("opg" + (ranNum)))
		{
			for(Builder in output){
			
				if (Builder == "question ")
				{
					question = Builder.Substring(9);
				}
				if (Builder == "answer1 ")
				{
					answer1 = Builder.Substring(8);
				}
				if (Builder == "answer2 ")
				{
					answer2 = Builder.Substring(8);
				}
				if (Builder == "answer3 ")
				{
					answer3 = Builder.Substring(8);
				}
				if (Builder == "ranswer ")
				{
					ranswer = Builder.Substring(8);
					starter = false;
				}
				
			}
		
		}
		
	}
	sr.Close();
	

}

/*function ReadFile(filepathIncludingFileName : String) {
	sr = new File.OpenText(filepathIncludingFileName);

	input = "";
	while (true) {
		input = sr.ReadLine();
		if (input == null) { break; }
		Debug.Log("line="+input);
	}
	sr.Close();
}*/

No idea how it is in JS (Why even use it? …) but String.Split has no overload for a single string parameter, at lest in C# you will need an array of strings (one element) and StringSplitOptions:

yourString.Split(new string[] { ", " }, StringSplitOptions.None)

For all other errors, try it yourself.

okay ill soon give up…:confused:

import System.IO;
private var ranNum : int;
var buttonWidth : int = 200;
var buttonHeight : int = 50;
var buttonSpacing : int = 200;
private var output : String[];
private var line : String;
private var FilePath : StreamReader;
private var fileName : String;
private var FileLines : String;
var question : String;
var answer1 : String;
var answer3 : String;
var answer4 : String;
var ranswer : String ;
var ranswer3 : String;
var ranswer2 : boolean = false;
private var line2 : String;
private var counter : int;
private var spliter : String;
private var Builder : String;
var starter : boolean = true;

function Start () {
		FilePath  =  new StreamReader("database.txt");
		fileName = ("" + FilePath);
	}

function OnGUI () {
	
	
	
}

function ReadFile (FilePath) {
		while (true){
		line2 = fileName.Split("/n", []);//to skip a line
		if (line == null) { break; }
		counter = counter + 1;
	}// countes how many lines there is
		
	sr = new File.OpenText(FilePath);
	
	ranNum = (Random.Range(1, counter));// finds a random nr
	
	
	

	while (starter) {
		output = (sr.ReadLine.Split(", ", [0]));
		if (output == ("opg" + (ranNum)))
		{
			for(Builder in output){
			
				if (Builder == "question ")
				{
					question = Builder.Substring(9);
				}
				if (Builder == "answer1 ")
				{
					answer1 = Builder.Substring(8);
				}
				if (Builder == "answer2 ")
				{
					answer2 = Builder.Substring(8);
				}
				if (Builder == "answer3 ")
				{
					answer3 = Builder.Substring(8);
				}
				if (Builder == "ranswer ")
				{
					ranswer = Builder.Substring(8);
					starter = false;
				}
				
			}
		
		}
		
	}
	sr.Close();
	

}

and sorry guys but im not that good a programmer… :confused: