Type,For/next/each problem.
Blitz3D Forums/Blitz3D Beginners Area/Type,For/next/each problem.| 
 | ||
| Hello once again. I am having a problem understanding Types with For next and each. I am trying to gather some information both integer and string and want to save it to a file for printing at a later date. The code below is what I do not understand so I know i am doing it wrong just do not know how to fix it. 
cd# = .075
Type stud
	Field v ;Student number
	Field w$ ;Student Name
	Field x$ ;Student Home Room
	Field y ;Days in DI
	Field z ;Credits
End Type
stu%=Input("How many students enrolled in you class during credit check " + cc + "? ")
For stutemp = 1 To stu
	cur.stud = New stud
	cur\v = stutemp
	cur\w = Input("Students name: ")
	cur\x = Input("Students home room: ")
	cur\y = Input("Days of Directed Instruction: ")
; z is not used yet but will be  cur\y * cd
;	cur\z = cur\y *cd 
Next
For cur.stud = Each stud 
	cur\v = cur\v + 1 
Next 
; To check and see what if anything is going on.
Print cur\v + " " + cur\w + " " + cur\x + " " +cur\y + " " ;+cur\z + " "
Once I get to the print section my debug all sets back to null and I get an "Object does not exist" error and it is all over. If anyone can shed a little light on how this really works it would be great. The over all goal is to get this information do the math and save it to a comma separated file. I think I can use maybe the Print Str$() command if i can figure out the types and for / each command and I can figure out how to put the Print Str$() command into use. Thank you all again. You have been great help. | 
| 
 | ||
| It's the same basic idea as this: For n = 1 To 7 Step 2 Print " n = " + n Next Print " After loop, n = " + n WaitKey Notice the "end" value would never be reached, so checking for n=7 would fail. The loop actually checks to see if n has gone past the end, and doesn't loop back to the start in that case. That would be unusual with a Type list, but could happen if you were doing something tricky. In any case For-Each works like For-Next. It continues until the loop variable runs off the end. If you want to examine the last element then use the Last command. | 
| 
 | ||
| Here pdf. Types. https://dl.dropboxusercontent.com/u/39767349/AOBPwB3D.pdf | 
| 
 | ||
| In your code "cur" is only defined local inside the FOR/NEXT loop. To print it you have to move the PRINT command also inside a loop: For cur.stud = Each stud cur\v = cur\v + 1 Print cur\v + " " + cur\w + "... " Next For cur.stud = Each stud cur\v = cur\v + 1 Next For cur.stud = Each stud Print cur\v + " " + cur\w + "... " Next or like Floyd sayd: For cur.stud = Each stud cur\v = cur\v + 1 Next cur.stud = Last stud Print cur\v + " " + cur\w + "... " |