Exemplo n.º 1
0
//==============================================================
void *_MmFileLoadB(const char *file, int area)
//--------------------------------------------------------------
// malloc して読み込む
// ※ブロックタイプ
//--------------------------------------------------------------
// in:	file = ファイル名
//		area = 読み込みエリア
//--------------------------------------------------------------
// out:	読み込みアドレス
//==============================================================
{
	sFILE *fp;
	size_t len;
	void *p;

	fp = FsOpen(file);
	ASSERT(fp);
	len = FsGetSizeOrig(fp);
	p = MemMalloc(area, len, GetFileBaseName(file));
	ASSERT(p);
	FsRead(fp, p, len);
	FsClose(fp);

	mn_read_size = len;							// FIXME:実ファイルサイズを返すべきか?

//	PRINTF("File '%s' Loaded.(%d bytes)\n", file, len);

	return p;
}
Exemplo n.º 2
0
//==============================================================
void MakeBackupFile(const char *fname)
//--------------------------------------------------------------
// PATH_BACKUP にバックアップをとる
//--------------------------------------------------------------
// in:	file = バックアップを取るファイル名
//--------------------------------------------------------------
// out:	なし
//==============================================================
{
	char d_name[FNAME_MAXLEN];
	void *tmp_buf;
	sFILE *fd_src, *fd_dst;
	size_t len, size;

	// オリジナルのファイルを開く
	//----------------------------
	fd_src = FsOpen(fname);
	if(!fd_src)
	{
		return;
	}

	// バックアップファイルの作成
	//----------------------------
	sprintf(d_name, PATH_BACKUP"/%s.%s", GetFileBaseName(fname), StrMakeUniqueName());
	fd_dst = FsCreate(d_name);
	if (!fd_dst)
	{
		FsClose(fd_src);
		return;
	}

	// 作業バッファを確保
	//--------------------
	tmp_buf = devMalloc(TMPBUF_LEN, "MakeBackupFile");

	len = FsGetSizeOrig(fd_src);
	while(len)
	{
		size = (len >= TMPBUF_LEN) ? TMPBUF_LEN : len;
		FsRead(fd_src, tmp_buf, size);
		FsWrite(fd_dst, tmp_buf, size);

		len -= size;
	}

	FsClose(fd_src);
	FsClose(fd_dst);

	Free(tmp_buf);

//	SYSINFODSP("Make Backup file");
//	SYSINFODSP("%s", MSG_FILE(d_name));
//	SYSINFO("Make Backup file");
//	SYSINFO("%s", MSG_FILE(d_name));
//	SYSINFOCNS("Make Backup file");
//	SYSINFOCNS("%s", MSG_FILE(d_name));
}
Exemplo n.º 3
0
/// ファイル名の拡張子の取得. ※ 結果の文字列には'.'は含まれない
CString GetFileExt(const CString& file)
{
	CString strBase = GetFileBaseName(file);
	int n = strBase.ReverseFind(_T('.'));
	if (n  == -1)
		return strBase;

	return strBase.Mid(n + 1);
}
//
// Call the superclass method and then install a default file name
// based on the name of the network associated with our editor.
//
void PrintProgramDialog::manage()
{
   this->Dialog::manage();

   Network *n = this->editor->getNetwork();

   const char *file = n->getFileName();

   if (file) {
        char *fileA = GetFileBaseName(file,".net"); 
	char *fileB = new char[STRLEN(fileA) + 4];
	sprintf(fileB, "%s.ps",fileA);
	delete fileA;
	this->setFileName(fileB);
	delete fileB;
   }

   this->setSensitivity();
}
Exemplo n.º 5
0
string CFileCode::GetUserFileBaseName(void) const
{
    return GetFileBaseName();
}
Exemplo n.º 6
0
string CFileCode::GetBaseFileBaseName(void) const
{
    _ASSERT(BaseName(GetFileBaseName()).size() + 5 <= MAX_FILE_NAME_LENGTH);
    return GetFileBaseName() + "_";
}
Exemplo n.º 7
0
const string& CFileCode::ChangeFileBaseName(void)
{
    m_BaseName += "x";
    return GetFileBaseName();
}