public string[,] GetCsv(ref Cm3d2Dll.FSDATA fsdata, string filename) { var csvParser = DLL_CSV_CreateCsvParser(); var filedata = new Cm3d2Dll.FILEDATA(); DLL_FileSystem_GetFile(ref fsdata, filename, ref filedata); DLL_CSV_Open(csvParser, filedata.object_pointer); var w = DLL_CSV_GetMaxCellX(csvParser); var h = DLL_CSV_GetMaxCellY(csvParser); var a = new string[w, h]; for (int y = 0; y < h; y++) { for (int x = 0; x < w; x++) { var buf = new byte[DLL_CSV_GetDataSizeBinary(csvParser, x, y)]; DLL_CSV_GetCellAsBinary(csvParser, x, y, ref buf, buf.Length); a[x, y] = Encoding.GetEncoding(932).GetString(buf); } } DLL_File_CloseFile(ref filedata); DLL_CSV_DeleteCsvParser(csvParser); return(a); }
public string[] GetFiles(ref Cm3d2Dll.FSDATA fsdata) { var listdata = new LISTDATA(); DLL_FileSystem_CreateList(ref fsdata, "", 3, ref listdata); var filenames = new string[listdata.size]; for (int i = 0; i < listdata.size; i++) { string str = ""; DLL_FileSystem_AtList(ref listdata, i, ref str); filenames[i] = str; } DLL_FileSystem_DeleteList(ref listdata); return(filenames); }
public byte[] GetFile(ref Cm3d2Dll.FSDATA fsdata, string filename) { var filedata = new Cm3d2Dll.FILEDATA(); DLL_FileSystem_GetFile(ref fsdata, filename, ref filedata); var b0 = DLL_File_IsValid(ref filedata); var size = DLL_File_GetSize(ref filedata); var a = new byte[size]; GCHandle pinnedArray = GCHandle.Alloc(a, GCHandleType.Pinned); IntPtr pointer = pinnedArray.AddrOfPinnedObject(); var b1 = DLL_File_Read(ref filedata, pointer, size); pinnedArray.Free(); DLL_File_CloseFile(ref filedata); return(a); }