| Author | 
		Message | 
	
		 
		Bege
 
 
 
    
		 | 
		
		
			
				  Posted: Wed Apr 23, 2003 5:06 pm    Post subject: Reading a file: checking to see if a file exists.  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				Does anyone know what the code is to check if a file exists?
 
 
Ex: If the user was asked to enter the name of a file to load, then the program could check if the file exists. Then the program wouldn't crash when the user enters a file name which does not exist, but rather just tell the user that that file does not exist. | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
		 
		Sponsor Sponsor 
		 
  
		 | 
		
 | 
	
	 
		  | 
	
				 
		Mazer
 
  
 
    
		 | 
		
		
			
				  Posted: Wed Apr 23, 2003 5:11 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				File.Exists (pathName : string) : boolean
 
 
it's a function that takes a path name for a file and returns true or false depending on whether or not the file exists.
 
 
eg
 
	  | code: | 	 		  
 
var filename : string
 
 
get filename
 
 
if File.Exists (filename) then
 
    put "So, there you go."
 
end if
 
  | 	  
 
 
well, that should do it. | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		Tony
 
  
 
    
		 | 
		
		
			
				  Posted: Wed Apr 23, 2003 5:12 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				well you could use assert, but I think that will terminate the program.
 
 
when you open the file, the pointer to it is assigned a possitive integer. If that variable is 0 or a negative, it means file was not opened so you should display an appropriate message.
 
 
	  | code: | 	 		  
 
var file:int
 
 
open : file, "test.txt", get
 
 
if file <=0 then
 
put "file not found"
 
end if
 
  | 	 
  | 
			 
			
				 
Tony's programming blog. DWITE - a programming contest. | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		Bege
 
 
 
    
		 | 
		
		
			
				  Posted: Wed Apr 23, 2003 5:15 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				| Thanks, apreciate it very much. | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		Mazer
 
  
 
    
		 | 
		
		
			
				  Posted: Wed Apr 23, 2003 6:13 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				| yeah, assert is pretty stinking useless, i don't know why people ever used it in programs. | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		junkpro11
 
 
 
    
		 | 
		
		
			
				  Posted: Mon May 24, 2004 10:20 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				i used File.Exist cuz i found it in the turing reference but when i use it in my program it doesnt detect the file exist
 
 
this is my code for file.exists
 
 
	  | code: | 	 		  
 
 
var sname:string
 
loop
 
get sname
 
if File.Exists (sname) then
 
Music.Play ("a")
 
end if
 
exit when File.Exists (sname)=true
 
end loop
 
 
  | 	 
  | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		s_climax
 
 
 
    
		 | 
		
		
			
				  Posted: Tue May 25, 2004 3:59 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				| It works for me, but only if my filename has one word only in the title. | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		junkpro11
 
 
 
    
		 | 
		
		
			
				  Posted: Wed May 26, 2004 4:15 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				i put the checking of file exists in a loop
 
and even when the file exist it doesnt exit......so weird
 
 
is my code correct though? | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
		 
		Sponsor Sponsor 
		 
  
		 | 
		
 | 
	
	 
		  | 
	
				 
		guruguru
 
  
 
    
		 | 
		
		
			
				  Posted: Wed May 26, 2004 4:24 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				Yours worked for me... so did mine  8) . Remember to add the extension (eg. unamed.txt). And make sure its in the same folder me thinks.
 
 
	  | code: | 	 		  
 
var sname : string
 
 
loop
 
    get sname
 
    if File.Exists (sname) then
 
        Music.Play ("a")
 
        exit
 
    end if
 
end loop
 
 
put "Got it!"
 
  | 	 
  | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		beard0
 
  
 
    
		 | 
		
		
			
				  Posted: Thu May 27, 2004 10:18 am    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				s_climax wrote: It works for me, but only if my filename has one word only in the title. 
 
 
To allow for sname with spaces, must use:
 
 
get sname : *
 
 
this gets everything up to enter as opposed to everything up to white space. | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		junkpro11
 
 
 
    
		 | 
		
		
			
				  Posted: Fri May 28, 2004 8:36 am    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				Quote:  Yours worked for me... so did mine  8) . Remember to add the extension (eg. unamed.txt). And make sure its in the same folder me thinks.  
 
 
where do i add the .t extensions? i tried adding in bracket it didnt work...and when i tried (sname)+".t" it doesnt allow me to do that
 
 
so if i want to see if (sname) .t file exist wat do i do??? | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		beard0
 
  
 
    
		 | 
		
		
			
				  Posted: Fri May 28, 2004 11:38 am    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				This should work for you junkpro11:
 
	  | code: | 	 		  var sname:string 
 
loop 
 
    get sname 
 
    if File.Exists (sname) or File.Exists(sname+".t") then 
 
        Music.Play ("a") 
 
        exit
 
    end if 
 
end loop 
 
  | 	  
 
 
Note:
 
the =true on your exit statement is uneccesary.  Whenever you hav a condition, it's checking to see if it's true.  You don't need to tell it that.  Also, your exit condition is the same as your if condition - just put "exit" in your if condition. | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		junkpro11
 
 
 
    
		 | 
		
		
			
				  Posted: Sat May 29, 2004 5:53 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				| my teacher wants onli "exit when" 's in loop, no double exits and no just "exit" | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		SuperGenius
 
 
 
    
		 | 
		
		
			
				  Posted: Sat May 29, 2004 6:04 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				junkpro11 wrote: my teacher wants onli "exit when" 's in loop, no double exits and no just "exit" 
 
 
that is stupid, as sometimes you don't need a condition. Some teachers should get bent. | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		guruguru
 
  
 
    
		 | 
		
		
			
				  Posted: Sat May 29, 2004 7:25 pm    Post subject: (No subject)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				Well there is always condition. The exit is always in an if statment. But I agree its stupid    .
 
 
	  | code: | 	 		  
 
var sname:string 
 
loop 
 
    get sname 
 
    exit when File.Exists (sname) or File.Exists(sname+".t") 
 
end loop 
 
  | 	  
 
 
Or if you want the sound... it gets worse...
 
 
	  | code: | 	 		  
 
var sname:string 
 
loop 
 
    get sname 
 
    if File.Exists (sname) or File.Exists(sname+".t") then 
 
        Music.Play ("a") 
 
    end if 
 
    exit when File.Exists (sname) or File.Exists(sname+".t") 
 
end loop 
 
  | 	 
  | 
			 
			
				 | 
			 
		  | 
	
	 
		 | 
		
		 | 
	
	
 
		  | 
	
				 
		 |