TestMax.dk Paster
  • Forside
  • Print
  • Bookmark
  • Kontakt
  • SiteMap


infobox infobox
 

Læsning af tekstfil til tekstbokse

22-03-2008 04:45:08
 
 
Muligheder (Anmeld)
Skrevet af Panda
Kliks 299
Kategori C#
Hej.

Jeg er igang med at udvikle noget software hvor jeg har nogle textboxe og en frem og tilbage knap

Jeg har så også en tekst fil. Jeg vil gerne læse fra min tekst fil og der efter skrive til min textbox

Min tekst fil ser således ud:
19       1       "Yeti"                     30       900       0       105       110       37       0       150       37       2       17       4       6       400       2000       10       2       180       14       6       0       0       3       0       0
20       1       "Elite Yeti"              36       1200       0       120       125       50       0       180       43       3       0       1       6       400       1400       10       2       180       14       6       0       1       4       1       1
21       1       "Assassin"              26       800       0       95       100       33       0       130       33       2       0       1       7       400       2000       10       2       180       14       6       0       0       0       0       0
22       1       "Ice Monster"              22       650       0       80       85       27       0       110       27       2       7       1       5       400       2000       10       2       170       14       6       0       0       3       0       0
23       1       "Hommerd"              24       700       0       85       90       29       0       120       29       3       0       1       5       400       1600       10       2       170       14       6       0       0       3       0       0
24       1       "Worm"                     20       600       0       75       80       25       0       100       25       3       0       1       4       400       1600       10       2       160       14       6       0       0       2       0       0
25       1       "Ice Queen"              52       4000       0       155       165       90       0       260       76       3       11       4       7       400       1400       50       2       180       14       3       0       4       5       4       4


Den skal så læse den ene linje og sætte for eksmpelvis Yeti og 19 ind i en tekstbox

Når man så trykker frem læser den så elti yeti og 20

Men jeg ved ikke helt hvordan jeg skal gøre

Går ud fra jeg skal lave bruge mellemrum til seperator og så bruge noget var[3] hvor den vælger den tredje ord
Lidt ligesom $gettok i mirc hvor du kan skrive
$gettok(dette er et ord, 32, 3) hvor den så vælger det tredje ord med seperatoren mellemrum (32)

Men når det kommer til selve koden og ikke ideen og frem og tilbage tingen går jeg blank

Nogen der kan give et par hints?
Portfolio: http://dumpen.dk

Panda's signatur billede
 
infobox infobox


infobox infobox
 
#1Panda(Anmeld) 23-03-2008 01:24:46
 
 
Smider den på engelsk da jeg har postet på 4-5 andre engelske forummer

I have been ripping my hair out because I cant find a solution.

I got it all working, but now I must format more text

I got a new text that has sections like this:

1
0       33       10       85       162       95       168       -1       5       //Bull Fighter
1       29       30       40       113       45       116       -1       3       //Hound
2       41       5       126       160       125       161       -1       2       //Budge Dragon
3       38       5       106       161       111       160       -1       2       //Spider
4       38       5       106       161       111       160       -1       2       //Elite Bull Fighter
6       38       5       106       161       111       160       -1       2       //Lich
7       38       5       106       161       111       160       -1       2       //Giant
14       38       5       106       161       111       160       -1       2       //Skeleton Warrior
end
0
275       33       10       85       162       95       168       -1       5       //Test 1 Section 2
275       29       30       40       113       45       116       -1       3       //Test 2 Section 2
275       41       5       126       160       125       161       -1       2       //Test 3 Section 2
275       38       5       106       161       111       160       -1       2       //Test 4 Section 2
end


Now I changed my script so it reads the values from this script, and I changed the forward button so it jumps into new sections

But I just cant seem to figure out how to jump back to a section

This is the code that I use to go foward into a section:
if (pieces[0] == "end")
{
curRec += 2;
displayLine(curRec);
}
else
{


Here is all my code:

// Displays the line in the arraylist
public void displayLine(int linenumber)
{
// If the line number is in the range of total values
if ((linenumber >= 0) && (linenumber < lines.Count))
{

// Get the string out of the arraylist
String line = (String)lines[linenumber];

// Split it into various pieces on the space
String[] pieces = line.Split('\t');

if (pieces[0] == "end")
{
curRec += 2;
displayLine(curRec);
}
else
{
txtID.Text = pieces[0];
txtMap.Text = pieces[1];
txtMoving.Text = pieces[2];
txtXStart.Text = pieces[3];
txtYStart.Text = pieces[4];
txtXEnd.Text = pieces[5];
txtYEnd.Text = pieces[6];
txtDirection.Text = pieces[7];
txtCount.Text = pieces[8];
txtComment.Text = pieces[9];
mobImage.ImageLocation = "D:/images/" + pieces[0] + ".jpg";
}
}

}

// Arraylist to hold all lines of the file.
ArrayList lines = new ArrayList(100);

// Pointer variable to point to active record
int curRec = 0;

// Loading data and reading txt file
public void Form1_Load(object sender, EventArgs e)
{
// Open the data file
StreamReader f = new StreamReader(new FileStream(@"D:\monstersetbase.txt", FileMode.Open));

String curLine;

// Read in the data line by line and add it to our ArrayList
while ((curLine = f.ReadLine()) != null)
{
lines.Add(curLine);
}

// Close
f.Close();

// Add one so it will not crash
curRec += 1;

// Display first line
displayLine(curRec);
}

private void nxtButton_Click_1(object sender, EventArgs e)
{
if (curRec < lines.Count - 1)
{
curRec += 1;
displayLine(curRec);
prvButton.Enabled = true;
}
}

private void prvButton_Click_1(object sender, EventArgs e)
{
if (curRec == 2)
{
prvButton.Enabled = false;
}
if (curRec > 0)
{
curRec -= 1;
displayLine(curRec);
}
}
Portfolio: http://dumpen.dk

Panda's signatur billede
 
infobox infobox

Påmindelse ved nyt svar

Ved at tilmelde dig automatisk påmindelse, modtager du en email så snart denne tråd bliver besvaret, dog sender vi kun en mail til dig, også selvom der er kommet flere svar, simpelthen for at spare dig for spam i din indbakke.


infobox infobox
  Svar på tråden  
   
 
 
infobox infobox

infobox infobox
  Læs dette før du sender dit indlæg!  
 
Ved tryk på send knappen accepterer du vores regelsæt som kan læses her
Praktiske informationer
Type Eksempel Resultat
Fed [b]din tekst[/b] din tekst
Kursiv [k]din tekst[/k] din tekst
Understreg [u]din tekst[/u] din tekst
Kode felt [code]din tekst[/code]
din tekst
infobox infobox