git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			121 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| % automatically generated by HelpGen from tempfile.tex at 10/Jan/99 19:24:44
 | |
| \section{\class{wxTempFile}}\label{wxtempfile}
 | |
| 
 | |
| wxTempFile provides a relatively safe way to replace the contents of the
 | |
| existing file. The name is explained by the fact that it may be also used as
 | |
| just a temporary file if you don't replace the old file contents.
 | |
| 
 | |
| Usually, when a program replaces the contents of some file it first opens it for
 | |
| writing, thus losing all of the old data and then starts recreating it. This
 | |
| approach is not very safe because during the regeneration of the file bad things
 | |
| may happen: the program may find that there is an internal error preventing it
 | |
| from completing file generation, the user may interrupt it (especially if file
 | |
| generation takes long time) and, finally, any other external interrupts (power
 | |
| supply failure or a disk error) will leave you without either the original file
 | |
| or the new one.
 | |
| 
 | |
| wxTempFile addresses this problem by creating a temporary file which is meant to
 | |
| replace the original file - but only after it is fully written. So, if the user
 | |
| interrupts the program during the file generation, the old file won't be lost.
 | |
| Also, if the program discovers itself that it doesn't want to replace the old
 | |
| file there is no problem - in fact, wxTempFile will {\bf not} replace the old
 | |
| file by default, you should explicitly call \helpref{Commit}{wxtempfilecommit} 
 | |
| to do it. Calling \helpref{Discard}{wxtempfilediscard} explicitly discards any
 | |
| modifications: it closes and deletes the temporary file and leaves the original
 | |
| file unchanged. If you don't call neither of Commit() and Discard(), the
 | |
| destructor will call Discard() automatically.
 | |
| 
 | |
| To summarize: if you want to replace another file, create an instance of
 | |
| wxTempFile passing the name of the file to be replaced to the constructor (you
 | |
| may also use default constructor and pass the file name to 
 | |
| \helpref{Open}{wxtempfileopen}). Then you can \helpref{write}{wxtempfilewrite} 
 | |
| to wxTempFile using \helpref{wxFile}{wxfile}-like functions and later call
 | |
| Commit() to replace the old file (and close this one) or call Discard() to cancel
 | |
| the modifications.
 | |
| 
 | |
| \wxheading{Derived from}
 | |
| 
 | |
| No base class
 | |
| 
 | |
| \wxheading{Include files}
 | |
| 
 | |
| <wx/file.h>
 | |
| 
 | |
| \wxheading{See also:}
 | |
| 
 | |
| \helpref{wxFile}{wxfile}
 | |
| 
 | |
| \latexignore{\rtfignore{\wxheading{Members}}}
 | |
| 
 | |
| \membersection{wxTempFile::wxTempFile}\label{wxtempfilewxtempfilector}
 | |
| 
 | |
| \func{}{wxTempFile}{\void}
 | |
| 
 | |
| Default constructor - \helpref{Open}{wxtempfileopen} must be used to open the
 | |
| file.
 | |
| 
 | |
| \membersection{wxTempFile::wxTempFile}\label{wxtempfilewxtempfile}
 | |
| 
 | |
| \func{}{wxTempFile}{\param{const wxString\& }{strName}}
 | |
| 
 | |
| Associates wxTempFile with the file to be replaced and opens it. You should use 
 | |
| \helpref{IsOpened}{wxtempfileisopened} to verify if the constructor succeeded.
 | |
| 
 | |
| \membersection{wxTempFile::Open}\label{wxtempfileopen}
 | |
| 
 | |
| \func{bool}{Open}{\param{const wxString\& }{strName}}
 | |
| 
 | |
| Open the temporary file, returns {\tt TRUE} on success, {\tt FALSE} if an error
 | |
| occurred.
 | |
| 
 | |
| {\it strName} is the name of file to be replaced. The temporary file is always
 | |
| created in the directory where {\it strName} is. In particular, if 
 | |
| {\it strName} doesn't include the path, it is created in the current directory
 | |
| and the program should have write access to it for the function to succeed.
 | |
| 
 | |
| \membersection{wxTempFile::IsOpened}\label{wxtempfileisopened}
 | |
| 
 | |
| \constfunc{bool}{IsOpened}{\void}
 | |
| 
 | |
| Returns {\tt TRUE} if the file was successfully opened.
 | |
| 
 | |
| \membersection{wxTempFile::Write}\label{wxtempfilewrite}
 | |
| 
 | |
| \func{bool}{Write}{\param{const void }{*p}, \param{size\_t }{n}}
 | |
| 
 | |
| Write to the file, return {\tt TRUE} on success, {\tt FALSE} on failure.
 | |
| 
 | |
| \membersection{wxTempFile::Write}\label{wxtempfilewrites}
 | |
| 
 | |
| \func{bool}{Write}{\param{const wxString\& }{str}, \param{wxMBConv\&}{ conv = wxConvLibc}}
 | |
| 
 | |
| Write to the file, return {\tt TRUE} on success, {\tt FALSE} on failure.
 | |
| 
 | |
| The second argument is only meaningful in Unicode build of wxWindows when
 | |
| {\it conv} is used to convert {\it str} to multibyte representation.
 | |
| 
 | |
| \membersection{wxTempFile::Commit}\label{wxtempfilecommit}
 | |
| 
 | |
| \func{bool}{Commit}{\void}
 | |
| 
 | |
| Validate changes: deletes the old file of name m\_strName and renames the new
 | |
| file to the old name. Returns {\tt TRUE} if both actions succeeded. If {\tt FALSE} is
 | |
| returned it may unfortunately mean two quite different things: either that
 | |
| either the old file couldn't be deleted or that the new file couldn't be renamed
 | |
| to the old name.
 | |
| 
 | |
| \membersection{wxTempFile::Discard}\label{wxtempfilediscard}
 | |
| 
 | |
| \func{void}{Discard}{\void}
 | |
| 
 | |
| Discard changes: the old file contents is not changed, temporary file is
 | |
| deleted.
 | |
| 
 | |
| \membersection{wxTempFile::\destruct{wxTempFile}}\label{wxtempfiledtor}
 | |
| 
 | |
| \func{}{\destruct{wxTempFile}}{\void}
 | |
| 
 | |
| Destructor calls \helpref{Discard()}{wxtempfilediscard} if temporary file
 | |
| is still opened.
 | |
| 
 |