|
whats the fastest Way to open a Large (7.83 Meg) Text File into a RichTextBox the current method i have is
<br />
FileStream fs = File.OpenRead(LoadFileOnStart);<br />
byte[] b;<br />
if(LoadFileOnStart.ToLower().EndsWith("rtf")|LoadFileOnStart.ToLower().EndsWith("doc")){<br />
fs = File.OpenRead(LoadFileOnStart);<br />
b = new byte[fs.Length];<br />
ASCIIEncoding temp = new ASCIIEncoding();<br />
while (fs.Read(b,0,b.Length) >= 0) <br />
{<br />
MainTextArea.Rtf = temp.GetString(b);<br />
}<br />
what do you recommend ? (this takes ruffly 3 to 4 seconds to open the 7.83 meg file on my comp)
Jesse M
|
|
|
|
|
Try this, instead:
using (StreamReader r = new StreamReader(LoadFileOnStart, System.Text.Encoding.Default))
MainTextArea.Rtf = r.ReadToEnd();
This will give you almost optimum I/O time, without doubling the memory size (you're doing it), but there will still be some overhead for the RTF loading and parsing.
I see dumb people
|
|
|
|
|
thanks alot =)...i got that sample from the .Net library...i new it was doubling.. cause i would alt+ctl+del in winxp too see my memory.. lol 220 megs of ram.. thats almost half my memory =).... anyways im gonna go try that....thanks alot
JTM..
i see dumb people too...
|
|
|
|
|
May I ask why you did
using (StreamReader r = new StreamReader(LoadFileOnStart, System.Text.Encoding.Default))
and not
StreamReader r = new StreamReader(LoadFileOnStart, System.Text.Encoding.Default)
Thanks.
Mark Sanders
sanderssolutions.com
|
|
|
|
|
to Mark Sanders :
You create an instance in a using statement to ensure that Dispose is called on the object when the using statement is exited. A using statement can be exited either when the end of the using statement is reached or if, for example, an exception is thrown and control leaves the statement block before the end of the statement.
The object you instantiate must implement the System.IDisposable interface.
<br />
Example<br />
using System.Drawing;<br />
class a<br />
{<br />
public static void Main()<br />
{<br />
using (Font MyFont = new Font("Arial", 10.0f), MyFont2 = new Font("Arial", 10.0f))<br />
{<br />
}
<br />
<br />
<br />
<br />
|
|
|
|
|
|
From MSDN:
RichTextBox.LoadFile Method (String)
Loads a Rich Text Format (RTF) or standard ASCII text file into the RichTextBox control.
public void LoadFile(
string path
);
Parameters
path
The name and location of the file to load into the control.
Why not use this method? I'm pretty sure MS would have implemented the "best" way for this. Have you tried it maybe? What speed are you getting?
Cheers
Who is this miscrosoft, and what devilish plans have they for us?
|
|
|
|
|
well im more concerned with memory then speed actually.. my program standsat about 14mb of memory when all its embeded images are loaded (.exe size is 600kb) but when i open this 7.83mb file of just text... all of a sudden the program is taking 50mb of memory... i know that before i close the stream reader i use the StreamReader.Flush() too clear its buffer.....anyways thats my concern... any ideas? there are no other codes be excuted when it opens... if you want the full source too look at ill send it k leppie ? (1150 lines)
Jesse M
|
|
|
|
|
jtmtv18 wrote:
i know that before i close the stream reader i use the StreamReader.Flush() too clear its buffer.....anyways thats my concern... any ideas?
There are some overloads to that function that can take a stream as a parameter. That mite help.
Who is this miscrosoft, and what devilish plans have they for us?
|
|
|
|
|
how can i apply that to this leppie ?
(LoadFileOnStart Comes from command line args via drag and drop (like notepad does when you click on a .Txt file)
<br />
if(LoadFileOnStart.ToLower().EndsWith("rtf")|LoadFileOnStart.ToLower().EndsWith("doc")){<br />
using (StreamReader r = new StreamReader(LoadFileOnStart,System.Text.Encoding.Default)){<br />
MainTextArea.Rtf = r.ReadToEnd();<br />
r.Close();<br />
}<br />
}<br />
i have been reading about memory optimization on msdn and i think i can rewrite this program agian and get better performance....i just wrote it so i could figure out command line args (i can now replace this program with notepad and it loads the file on startup through command args) i also wrote it too use reflection...which i figured out...anyways the point is it has no clear direction allthough the save function is actually really cool anyways.....
Jesse M
|
|
|
|
|
jtmtv18 wrote:
if(LoadFileOnStart.ToLower().EndsWith("rtf")|LoadFileOnStart.ToLower().EndsWith("doc")){
using (StreamReader r = new StreamReader(LoadFileOnStart,System.Text.Encoding.Default)){
MainTextArea.Rtf = r.ReadToEnd();
r.Close();
}
}
if(LoadFileOnStart.ToLower().EndsWith("rtf")|LoadFileOnStart.ToLower().EndsWith("doc"))
{
using (Stream r = File.OpenRead(LoadFileOnStart)){
MainTextArea.LoadFile(r, RichTextBoxStreamType.RichText);
r.Close();
}
}
?
Who is this miscrosoft, and what devilish plans have they for us?
|
|
|
|
|
Can anyone recommend a fast way to send large files to a webservice?
To my knowledge DIME does support chunking, but proxy service and SOAP do
not automatically. I think the solution here is to chunk files into
DIME records and then modify each SOAP message to append the record as an
attachment. I couldnt find any sample code, but the article below
discusses the modifying the soap envelope to add the dime record.
Is there other ways for the WSDK or SOAP3.0 make multiple HTTP calls for each record within a single DIME message?
Id be interested in any other comments on this ..
-- Ingram
http://www.microsoft.com/indonesia/msdn/insidewsepipe.asp#insidewsepipe_topi
c6[^]
Ingram Leedy
You can't depend on your eyes when your imagination is out of focus.
--Mark Twain
|
|
|
|
|
I've just started playing with c# and created a simple control which inherits the textbox control.
I can hide all properties relating to multilines as the control will never do this, by overriding the property and setting [Browsable(false)].
My question is, is there a way to also stop intellisense picking up these hidden properties, eg
usrTextBox.AcceptsTab cannot be seen on the properties page but can be pickup up within the body of the code using usrTextBox.?????
Thanks
Steve Graham
|
|
|
|
|
Is it possible to tell if a control is being designed by the windows form designer? As i will need to render it differently in that situation.
1001111111011101111100111100101011110011110100101110010011010010 Sonork | 100.21142 | TheEclypse
|
|
|
|
|
|
looks like a case of deja vu...the matrix must have changed something
1001111111011101111100111100101011110011110100101110010011010010 Sonork | 100.21142 | TheEclypse
|
|
|
|
|
Hello,
I'm new to C#.NET programming and I have little knowledge on C++. I'm trying to write a project which will convert a decimal number to hex and hex to decimal. I tried "Convert.ToInt" but couldn't get the result.
If anyone would help me about this problem, I would be appreciate it very much.
Thanks!
|
|
|
|
|
This should work:
string ToHex(int number)
{
return number.ToString("X");
}
int FromHex(string number)
{
return int.Parse(number,
System.Globalization.NumberStyles.HexNumber);
}
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
|
|
|
|
|
Anyone know of one?
cheers,
Chris Maunder
|
|
|
|
|
|
I've got one that I wrote a while ago using straight C++ so I was thinking of porting either it or Tidy - but was hoping someone else had done the legwork before me.
cheers,
Chris Maunder
|
|
|
|
|
Chris Lovett posted a C# SGML reader to GotDotNet a while back:
http://www.gotdotnet.com/userarea/keywordsrch.aspx?keyword=SgmlReader[^]
"SgmlReader is an XmlReader API over any SGML document. A command line utility is also provided which outputs the well formed XML result. HTML is an SGML grammar, so you can use this tool to convert HTML into well-formed XML."
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
|
|
|
|
|
Nope, but have considered writting one.
Fear not my insanity, fear the mind it protects.
|
|
|
|
|
Hi All,
I am working on a C# based Windows application.Using the following code
to
create an Excel object.
Excel.Application ExcelObj = new Excel.Application();
Its workin fine for me, the problem is that i want to destroy this
object
when i exit form my method.
I am not able to delete this object.
Calling GC.Collect() Or MArshal.ReleaseComObject() waz not of any help.
Pls help.
Regards
Vitesh
|
|
|
|
|
Here is a code snippet from a class I'm using to export some data from an excel sheet. I think it answers your question.
private Excel.ApplicationClass m_objExcel = null;
private Excel.Workbooks m_objBooks = null;
private Excel._Workbook m_objBook = null;
private Excel._Worksheet m_objSheet = null;
private Excel.Range m_objRange = null;
private object oMissing = System.Reflection.Missing.Value;
try
{
FileInfo inf = new FileInfo(excelFileName);
m_objExcel = new Excel.ApplicationClass();
m_objExcel.Visible = false;
m_objBooks = m_objExcel.Workbooks;
m_objBook = m_objBooks.Open(inf.FullName, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
m_objSheet = (Excel._Worksheet)m_objBook.Sheets[2];
string transformFileName = string.Format(@"{0}\{1}.cvt",inf.DirectoryName,inf.Name);
m_objSheet.SaveAs(transformFileName,Excel.XlFileFormat.xlTextWindows,oMissing,oMissing,oMissing,false,false,oMissing,oMissing,oMissing);
activeFile = new FileInfo(transformFileName);
}
catch(Exception ex)
{
throw ex;
}
finally
{
if( m_objBook != null)
{
m_objBook.Close(false, oMissing, oMissing);
System.Runtime.InteropServices.Marshal.ReleaseComObject (m_objBook);
m_objBook = null;
System.Runtime.InteropServices.Marshal.ReleaseComObject (m_objBooks);
m_objBooks = null;
m_objExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject (m_objExcel);
m_objExcel = null;
}
}
ed
Regulation is the substitution of error for chance.
|
|
|
|