public bool open(string fullFileName, eFileMode mode, bool createFile) { return(open(fullFileName, mode, true, true, eFileAccess.eShared, false, false)); }
public bool open(string fullFileName, eFileMode mode) { return open(fullFileName, mode, false, true, eFileAccess.eShared, false, false); }
public bool open(string fullFileName, eFileMode mode, bool createFile, bool silens, eFileAccess access, bool withDialog, bool canOpenOther) { bool exists = false; close(); if (fullFileName.Length > 0) { FileInfo fi = new FileInfo(fullFileName); exists = (fi.Exists); } else { fullFileName = " "; exists = false; } if ((!exists && !createFile) || withDialog) { exists = fileExists(m_curPath + Path.DirectorySeparatorChar + getFileName(fullFileName)); if (exists && !withDialog) { fullFileName = m_curPath + Path.DirectorySeparatorChar + getFileName(fullFileName); } else if (silens) { return(false); } else if (!userSearchFile(ref fullFileName, false, "Open file", false, canOpenOther)) { return(false); } } if (createFile) { FileInfo fi = new FileInfo(fullFileName); if (fi.Exists) { try { fi.Delete(); } catch (Exception ex) { cError.mngError(ex, "open", c_module, ""); return(false); } } } try { switch (mode) { case eFileMode.eAppend: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.Append, FileAccess.Write, FileShare.ReadWrite); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.Append, FileAccess.Write, FileShare.Read); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.Append, FileAccess.Write, FileShare.None); break; default: return(false); } break; // text mode case eFileMode.eWrite: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); break; default: return(false); } break; case eFileMode.eRead: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.None); break; default: return(false); } break; // binary mode case eFileMode.eBinaryWrite: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite); m_bw = new BinaryWriter(m_file); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read); m_bw = new BinaryWriter(m_file); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); m_bw = new BinaryWriter(m_file); break; default: return(false); } break; case eFileMode.eBinaryRead: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite); m_br = new BinaryReader(m_file); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read); m_br = new BinaryReader(m_file); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.None); m_br = new BinaryReader(m_file); break; default: return(false); } break; default: return(false); } m_open = true; return(true); } catch (Exception ex) { cError.mngError(ex, "open", c_module, ""); return(false); } }
public bool open(string fullFileName, eFileMode mode, bool createFile, bool silens, eFileAccess access, bool withDialog, bool canOpenOther) { bool exists = false; close(); if (fullFileName.Length > 0) { FileInfo fi = new FileInfo(fullFileName); exists = (fi.Exists); } else { fullFileName = " "; exists = false; } if ((!exists && !createFile) || withDialog) { exists = fileExists(m_curPath + Path.DirectorySeparatorChar + getFileName(fullFileName)); if (exists && !withDialog) { fullFileName = m_curPath + Path.DirectorySeparatorChar + getFileName(fullFileName); } else if (silens) { return false; } else if (!userSearchFile(ref fullFileName, false, "Open file", false, canOpenOther)) { return false; } } if (createFile) { FileInfo fi = new FileInfo(fullFileName); if (fi.Exists) { try { fi.Delete(); } catch (Exception ex) { cError.mngError(ex, "open", c_module, ""); return false; } } } try { switch (mode) { case eFileMode.eAppend: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.Append, FileAccess.Write, FileShare.ReadWrite); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.Append, FileAccess.Write, FileShare.Read); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.Append, FileAccess.Write, FileShare.None); break; default: return false; } break; // text mode case eFileMode.eWrite: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); break; default: return false; } break; case eFileMode.eRead: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.None); break; default: return false; } break; // binary mode case eFileMode.eBinaryWrite: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite); m_bw = new BinaryWriter(m_file); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read); m_bw = new BinaryWriter(m_file); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); m_bw = new BinaryWriter(m_file); break; default: return false; } break; case eFileMode.eBinaryRead: switch (access) { case eFileAccess.eShared: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite); m_br = new BinaryReader(m_file); break; case eFileAccess.eLockWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read); m_br = new BinaryReader(m_file); break; case eFileAccess.eLockReadWrite: m_file = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.None); m_br = new BinaryReader(m_file); break; default: return false; } break; default: return false; } m_open = true; return true; } catch (Exception ex) { cError.mngError(ex, "open", c_module, ""); return false; } }