Subj : Door Game Help???? To : All From : Becky Mcmillen Date : Thu Jan 17 2008 09:42 pm Hello, I am having a bit of trouble with a door game I am making. I cannot for the life of me get the user data to read/write from a user.dat file. Here is a snippet of code and maybe someone can tell me where I am going wrong to search the record for a user (Using DDPLUS) for a user name, and if found pull it out. If not, create a new? Thank You In Advance! {$M 19456,0,655360} program game; uses crt, ddplus; type UserRecord = Record Name1 : string[30]; {first name} Name2 : string[30]; {last name} Hps : longint; {hitpoints} Exp : longint; {experiece} Score : longint; {score} Level : longint; {level} end; UserArray = Array [1..500] of UserRecord; var Name1, Name2: String[30]; Hps, Exp, Score, Level: longint; I, X : Integer; CH : char; FOUND: BOOLEAN; SysOp: UserArray; Users: UserRecord; UserFile: file of UserRecord; {***************************************************************} Procedure NewPlayer; begin Assign(UserFile, 'SYSUSERS.DAT'); {$I-} reset (UserFile); {$I+} X:=filesize(UserFile); I:=1; For I:=1 to X do begin read (UserFile, Users); Users.Name1 := User_First_Name; Users.Name2 := User_Last_Name; Users.Hps := 25; Users.Exp := 0; Users.Score := 0; Users.Level := 1; end; end; {***************************************************************} Procedure Show; begin swrite('User Name '+Users.Name1 +' '+ Users.Name2); end; {***************************************************************} Procedure AssignData (VAR OutData : UserRecord); begin with OutData do begin Users.Name1 := User_First_Name; Users.Name2 := User_Last_Name; Users.Hps := 25; Users.Exp := 0; Users.Score := 0; Users.Level := 1; end; end; {**************************************************************} Procedure Data; var UserFile : File Of UserArray; Begin assign(UserFile, 'SYSUSERS.DAT'); { rewrite(UserFile);} reset(UserFile); read(UserFile, SysOp); I:=1; Found:= FALSE; While (I <=750) and (Not Found) do Begin write(I); with SysOp[I] do Found := (Users.Name1 = User_First_Name) and (Users.Name2 = User_Last_Name); inc(I); end; If Found = TRUE then begin { sclrscr; } swriteln('Welcome Back!'); I:=I-1; writeln ('User #'); writeln (I); readln; assigndata(SysOp[I]); reset(UserFile); write(UserFile, SysOp); Close(UserFile); end else begin { sclrscr;} swriteln('YOU ARE NEW!!!!!!!!!!!!!!!'); I:=1; while (SysOp[I].Name1 <> '') and (I <=750) do inc(I); assigndata(SysOp[I]); reset(UserFile); write(UserFile, SysOp); Close(UserFile); end; end; {***************************************************************} Begin InitDoorDriver('GAME.CTL'); NewPlayer; Data; AssignData(SysOp[I]); Show; readln; end. --- Renegade v12-07.7/Alpha * Origin: The Titantic BBS Telnet - ttb.slyip.com (1:129/305) .