Click here to Skip to main content
15,914,165 members
Home / Discussions / C#
   

C#

 
GeneralRe: Expressions(calculations) Pin
Dave Kreskowiak26-May-04 0:46
mveDave Kreskowiak26-May-04 0:46 
GeneralRe: Expressions(calculations) [EDITED} Pin
Dave Kreskowiak26-May-04 3:35
mveDave Kreskowiak26-May-04 3:35 
GeneralRe: Expressions(calculations) Pin
Stefan Troschuetz25-May-04 21:25
Stefan Troschuetz25-May-04 21:25 
GeneralExpressions Pin
Anonymous24-May-04 18:37
Anonymous24-May-04 18:37 
GeneralRe: Expressions Pin
sreejith ss nair24-May-04 20:03
sreejith ss nair24-May-04 20:03 
GeneralRe: Expressions Pin
sreejith ss nair24-May-04 20:03
sreejith ss nair24-May-04 20:03 
GeneralRe: Expressions Pin
Dave Kreskowiak25-May-04 0:35
mveDave Kreskowiak25-May-04 0:35 
Generalhelp! Pin
agu989924-May-04 18:14
agu989924-May-04 18:14 
hi ,i come from china,as a beginner.i met with some diffculties in my new project ,that is how to improve the speed of reading data from CD-ROM ?i built two FileStreams,one is Read data from CD-ROM,another is write data to harddisk,there is a buffer between two operation, can you give me some effesional advice to complete this new project,thank you !if you have some advice or good method please sent email to agu9899@163.com .The following is my source code :

using System;
using System.IO;
using System.Collections;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Runtime.Remoting.Messaging;

namespace EditDVDFile
{
///
/// ClsCompex 的摘要说明。
///


public class ClsCompex
{
public static int m_progressVal;
public static bool m_bWork=false;//是否在进行读写操作
class CFileReadBuf
{
public int m_nBufLen=1048576;//1048576;
public byte[] m_Buf= new byte[1048576];//[1048576];
public int m_nReadLen;
public bool m_bWrite=false;//是否在进行写操作

public IAsyncResult m_AsyncResult;
}
bool m_bOneWork;

long t1,t0;
CFileReadBuf m_FileBuf1=new CFileReadBuf();
CFileReadBuf m_FileBuf2=new CFileReadBuf();

public FileStream m_FileStreamRead;
FileStream m_FileStreamWrite;
AsyncCallback CallBackMethodRead;
AsyncCallback CallBackMethodWriteEnd;

public ArrayList m_arFileName=new ArrayList();
public ClsCompex()
{

}

public void DVDCompex(ArrayList arTemFileName,string DesPath)
{
m_bWork=true;
//使用文件名来构造FileStream流
m_arFileName=arTemFileName;
string strFileName=arTemFileName[0].ToString();
m_FileStreamRead =new FileStream(strFileName,FileMode.Open,FileAccess.Read, FileShare.ReadWrite,1048576,true);
m_FileStreamWrite=new FileStream(DesPath,FileMode.Append, FileAccess.Write, FileShare.ReadWrite, 1048576, true);

//构造回调方法

CallBackMethodRead =new AsyncCallback(ReportReadingProgress);
CallBackMethodWriteEnd =new AsyncCallback(ReportWriteEndProgress);
//启动异步读取操作
m_bOneWork=true;
t0 = Environment.TickCount;

//System.Diagnostics.Debug.WriteLine("Start Reading Progress......");

m_FileStreamRead.BeginRead(m_FileBuf1.m_Buf,0,m_FileBuf1.m_nBufLen,CallBackMethodRead,m_FileBuf1);

}

public void ReportWriteEndProgress(IAsyncResult asyncResult)
{

}

public void ReportReadingProgress(IAsyncResult asyncResult)
{
try
{

//System.Diagnostics.Debug.WriteLine("..........ReportReadingProgress..........");

CFileReadBuf m_FileBufRead;
CFileReadBuf m_FileBufWrite;
if(m_bOneWork)
{
m_FileBufRead=m_FileBuf1;
m_FileBufWrite=m_FileBuf2;
m_bOneWork=false;
}
else
{
m_FileBufRead=m_FileBuf2;
m_FileBufWrite=m_FileBuf1;
m_bOneWork=true;
}

m_FileBufRead.m_nReadLen=m_FileStreamRead.EndRead(asyncResult);
//System.Diagnostics.Debug.WriteLine("Current stream position is : "+m_FileStreamRead.Position.ToString()+" byte");
if(m_FileBufWrite.m_bWrite)
{
m_FileStreamWrite.EndWrite(m_FileBufWrite.m_AsyncResult);
m_FileBufWrite.m_bWrite=false;
}

if(m_FileBufRead.m_nReadLen==0)
{
t1 = Environment.TickCount;
//System.Diagnostics.Debug.WriteLine(m_arFileName[0].ToString()+"ReportWritrEndProgress "+((t1-t0)/1000)+"s");
m_FileStreamRead.Close();
m_arFileName.RemoveAt(0);
if (m_arFileName.Count>0)
{
string strTemName=m_arFileName[0].ToString();
m_FileStreamRead=new FileStream(strTemName,FileMode.Open,FileAccess.Read, FileShare.ReadWrite,1048576,true);
m_FileStreamRead.BeginRead(m_FileBufWrite.m_Buf,0,m_FileBufWrite.m_nBufLen,CallBackMethodRead,m_FileBufWrite);
}
else
{
m_FileStreamWrite.Close();
}
m_bWork=false;
return;
}
m_FileBufRead.m_bWrite=true;
m_FileBufRead.m_AsyncResult=m_FileStreamWrite.BeginWrite(m_FileBufRead.m_Buf,0,m_FileBufRead.m_nReadLen,null,null);

//文件读取结束
m_FileStreamRead.BeginRead(m_FileBufWrite.m_Buf,0,m_FileBufWrite.m_nBufLen,CallBackMethodRead,m_FileBufWrite);
}
catch(Exception e)
{
MessageBox.Show(e.Message,"文件读写错误提示");
m_FileStreamRead.Close();
m_FileStreamWrite.Close();
GC.Collect();
}
}
}
}
GeneralRe: help! Pin
Heath Stewart25-May-04 2:44
protectorHeath Stewart25-May-04 2:44 
GeneralEnable/Disable of texbox Pin
HappyKim24-May-04 15:56
HappyKim24-May-04 15:56 
GeneralRe: Enable/Disable of texbox Pin
Dave Kreskowiak24-May-04 16:58
mveDave Kreskowiak24-May-04 16:58 
GeneralRe: Enable/Disable of texbox Pin
sreejith ss nair24-May-04 20:02
sreejith ss nair24-May-04 20:02 
GeneralRe: Enable/Disable of texbox Pin
HappyKim25-May-04 15:41
HappyKim25-May-04 15:41 
GeneralRe: Enable/Disable of texbox Pin
sreejith ss nair26-May-04 20:51
sreejith ss nair26-May-04 20:51 
GeneralRe: Enable/Disable of texbox Pin
HappyKim27-May-04 14:01
HappyKim27-May-04 14:01 
GeneralRe: Enable/Disable of texbox Pin
sreejith ss nair27-May-04 17:51
sreejith ss nair27-May-04 17:51 
GeneralRe: Enable/Disable of texbox Pin
sreejith ss nair27-May-04 18:14
sreejith ss nair27-May-04 18:14 
GeneralAccessing objects Pin
John L. DeVito24-May-04 10:29
professionalJohn L. DeVito24-May-04 10:29 
GeneralRe: Accessing objects Pin
frank2124-May-04 10:58
frank2124-May-04 10:58 
GeneralRe: Accessing objects Pin
Heath Stewart24-May-04 11:24
protectorHeath Stewart24-May-04 11:24 
GeneralRe: Accessing objects Pin
Heath Stewart24-May-04 11:33
protectorHeath Stewart24-May-04 11:33 
GeneralFitting Buttons to Bitmaps Pin
Guinness4Strength24-May-04 10:28
Guinness4Strength24-May-04 10:28 
GeneralRe: Fitting Buttons to Bitmaps Pin
Heath Stewart24-May-04 11:35
protectorHeath Stewart24-May-04 11:35 
GeneralRe: Fitting Buttons to Bitmaps Pin
Guinness4Strength24-May-04 15:15
Guinness4Strength24-May-04 15:15 
GeneralRe: Fitting Buttons to Bitmaps Pin
Heath Stewart25-May-04 2:36
protectorHeath Stewart25-May-04 2:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.