|
Thanks m@u.
I can try what you said, But i think its much easier to get it done.
I think i can do it the following way. Files are getting created in the executable path of windows application project. I want to give out my own path. how do i do that?
private void button1_Click(object sender, EventArgs e)
{
StreamWriter outStream = null;
string message = null;
for (int i = 0; i < (10000); i++)
{
string filename = "output";
filename += i.ToString();
if (i % 3 == 0)
{//multiple of three
filename += ".txt";
}
else if (i % 5 == 0)
{//multiple of 5
filename += ".log";
}
else
{
filename += ".dat";
}
try
{
outStream = new StreamWriter(filename);
outStream.WriteLine("Hello World");
Thread.Sleep(60000);
outStream.Close();
}
catch (IOException e1)
{
message = "Unable to create " + filename + "\r\n";
message += String.Format("Reason: {0}", e1.Message);
MessageBox.Show(message);
}
}
|
|
|
|
|
two comments:
1. that is NOT random at all
2. always show the entire exception, not just it's message part; you may miss essential info.
|
|
|
|
|
Yeah, you might want to use a RNG to generate random numbers, which could be used directly or indirectly as the filename. I recommend a Mersenne Twister, the classes for which are on the web.
I agree with No. 2 as well. Exceptions aren't always what they seem to be, so it's good to have any information you can get.
|
|
|
|
|
Why don't you add a "move to archive" option? That would make your program more useful, and also make you less nervous
|
|
|
|
|
you are re-inventing the wheel - check this CP article:
http://www.codeproject.com/KB/files/deleteold.aspx[^]
works briliantly
Do you know why it's important to make fast decisions? Because you give yourself more time to correct your mistakes, when you find out that you made the wrong one. Chris Meech on deciding whether to go to his daughters graduation or a Neil Young concert
|
|
|
|
|
Hi,
Very nice Comments on that topic so far. Heres some program that does what you need:
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
CreateRandomFile(@"C:\");
}
static void CreateRandomFile(string folder)
{
Random rand = new Random();
string[] ext = new string[] { ".dat", ".txt", ".log" };
string filename = Path.Combine(folder,
String.Format("RandFile_{1}.{2}", folder, DateTime.Now.Ticks, ext[rand.Next(0, 3)]));
try
{
File.WriteAllText(filename, "This is a test file");
FileInfo info = new FileInfo(filename);
info.CreationTime = new DateTime(1999, 1, 1, 1, 1, 1);
info.Refresh();
}
catch(IOException) { /* Put Exception-Handling here */ }
}
}
|
|
|
|
|
I would suggest a much simpler approach, using .NET Framework built-in classes...
using System;
using System.IO;
namespace RandomFileNames
{
class Program
{
static void Main(string[] args)
{
//choose any folder you like, I used MyDocuments
string folder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
CreateRandomFiles(folder, 10);
}
static void CreateRandomFiles(string folderName, int numberOfFiles)
{
string[] extensions = { ".txt", ".exe", ".pdf", ".log", ".xls", ".doc" };
int count = extensions.Length;
string fileName;
Random random = new Random();
for (int i = 0; i < numberOfFiles; i++)
{
//this uses the static method GetRandomFileName()
//of the Path class
try
{
fileName = Path.GetRandomFileName();
//change the extension to one of your choice
fileName = Path.ChangeExtension(fileName, extensions[random.Next(count)]);
//create the final file name
fileName = Path.Combine(folderName, fileName);
//create the file itself
File.Create(fileName);
}
catch (Exception ex)
{
//handle exceptions here
}
}
}
}
}
|
|
|
|
|
I have user control.
I wish to add some reference to user's project when the user put my control on his form.
I use VS 2005 C#.
Thank you.
|
|
|
|
|
Razizao wrote: I wish to add some reference to user's project when the user put my control on his form.
If you have compiled up your component into a DLL, then the reference is added for you automatically.
|
|
|
|
|
its not what i ment.
I want to add another references, besides the control dll.
for example,
when the developer adding my control to his form,
i want to add 3 more references to my other dlls.
do u know how to do that ?
|
|
|
|
|
What is/are the cell events that are fired After _cellformatting?
Thanks
|
|
|
|
|
i have a tiff image with multipule pages in it.its size is 2650 x 3300 and i want to reduse it to 1728 x 2200. is there any way that i can reduse its size. please help me.
|
|
|
|
|
One way to do this could be:
public Bitmap ResizeBitmap(Bitmap b, int width, int height )
{
Bitmap result = new Bitmap( width, height );
using( Graphics g = Graphics.FromImage((Image) result ))
{
g.DrawImage( b, 0, 0, width, height );
}
return result;
}
|
|
|
|
|
This code is working but there is no change in the file size. so how it will effect the file size and where it will be save the file with new size?
|
|
|
|
|
You would have to save the new version to change the file size.
|
|
|
|
|
yes. it changes the size and in result file there is only one image while in original file there is a lot of images. so all the others are discard. what should i do to save them? how i can resize the file with all images?
|
|
|
|
|
Load current tiff.
Iterate over every frame of your loaded tiff image and resize each frame.
private Image ScaleImage(Size desiredSize, Image originalImage)
{
if (desiredSize.Height != originalImage.Height || desiredSize.Width != originalImage.Width) {
Bitmap bm = new Bitmap(desiredSize.Width, desiredSize.Height);
bm.SetResolution(originalImage.HorizontalResolution, originalImage.VerticalResolution);
Image scaledImage = bm;
using (Graphics g = Graphics.FromImage(scaledImage)) {
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
try {
g.DrawImage(originalImage, 0, 0, desiredSize.Width, desiredSize.Height);
}
catch (OverflowException oe)
{
WriteLogMessage(LogLevel.Information, "OverflowException on Graphics.DrawImage - trying InterpolationMode with less quality.");
g.InterpolationMode = InterpolationMode.Bicubic;
g.DrawImage(originalImage, 0, 0, desiredSize.Width, desiredSize.Height);
}
g.Flush();
}
return scaledImage;
}
return originalImage;
}
Save this frame.
Now create a multipage tiff from all saved resized images. Depending on your needs (mixed color/bw frames) you might need different code. You could use a function like this one:
public static void CreateMultiPage (string[] inputFiles, string targetFileName, bool useCCITT4Compression)
{
ImageCodecInfo codec = Helpers.GetEncoder (ImageFormat.Tiff);
EncoderParameters encoderParams = useCCITT4Compression ? new EncoderParameters(2) : new EncoderParameters(1);
encoderParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.MultiFrame);
if (useCCITT4Compression)
encoderParams.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)EncoderValue.CompressionCCITT4);
EncoderParameters encoderParamsAddFrame = useCCITT4Compression ? new EncoderParameters(3) : new EncoderParameters(2);
encoderParamsAddFrame.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.MultiFrame);
encoderParamsAddFrame.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.FrameDimensionPage);
if (useCCITT4Compression)
encoderParamsAddFrame.Param[2] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)EncoderValue.CompressionCCITT4);
using (Image multipageTIFF = Image.FromFile(inputFiles[0]))
{
multipageTIFF.Save(targetFileName, codec, encoderParams);
for (int i = 1; i < inputFiles.Length; i++)
{
using (Image img = Image.FromFile(inputFiles[i]))
{
multipageTIFF.SaveAdd(img, encoderParamsAddFrame);
}
}
EncoderParameters ep = new EncoderParameters(1);
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.Flush);
multipageTIFF.SaveAdd(ep);
}
}
|
|
|
|
|
I've been trying to implement the IDocHostShowUI interface in order to intercept requests to show dialogs and pop-ups etc.
However, my implementation is not working. The ShowMessage method does not get called. I'm navigating the browser to a page that causes pop-ups to be displayed. Here's the code i've used:
public class ExtendedWebBrowser : System.Windows.Forms.WebBrowser, IDocHostShowUI
{
#region IDocHostShowUI Members
int IDocHostShowUI.ShowMessage(IntPtr hwnd, string lpstrText,
string lpstrCaption, uint dwType,
string lpstrHelpFile, uint dwHelpContext, ref int lpResult)
{
return 1;
}
public int ShowHelp(IntPtr hwnd, string pszHelpFile, uint uCommand, uint dwData, tagPOINT ptMouse, object pDispatchObjectHit)
{
throw new Exception("The method or operation is not implemented.");
}
#endregion
}
[ComImport, ComVisible(true)]
[Guid("C4D244B0-D43E-11CF-893B-00AA00BDCE1A")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IDocHostShowUI
{
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int ShowMessage(
IntPtr hwnd,
[MarshalAs(UnmanagedType.LPWStr)] string lpstrText,
[MarshalAs(UnmanagedType.LPWStr)] string lpstrCaption,
[MarshalAs(UnmanagedType.U4)] uint dwType,
[MarshalAs(UnmanagedType.LPWStr)] string lpstrHelpFile,
[MarshalAs(UnmanagedType.U4)] uint dwHelpContext,
[In, Out] ref int lpResult);
[return: MarshalAs(UnmanagedType.I4)]
[PreserveSig]
int ShowHelp(
IntPtr hwnd,
[MarshalAs(UnmanagedType.LPWStr)] string pszHelpFile,
[MarshalAs(UnmanagedType.U4)] uint uCommand,
[MarshalAs(UnmanagedType.U4)] uint dwData,
[In, MarshalAs(UnmanagedType.Struct)] tagPOINT ptMouse,
[Out, MarshalAs(UnmanagedType.IDispatch)] object pDispatchObjectHit);
}
I put a breakpoint on the ShowMessage method but it doesn't get called. Can anyone see what i've done wrong?
Thanks
|
|
|
|
|
I want to keep the entered text in text box .Entered Text is as password format.
but wrong password entry(after button event) or after postback event the entered text is automatically erased from that field .How can I stop such erasing from that text field.I am using version 2003 edition and 1.1 frame work.
|
|
|
|
|
|
I think it is a web application !!!
u can use ViewState To retain the value for onClick event or Postback
|
|
|
|
|
Hi,
How is it possible to disable the check option of a checkbox inside a datagridview control.
It seems the cellclick event of the datagridview control has no affect.
Please let me know if you would like more information.
Thanks
|
|
|
|
|
Hi,
My aim is to get the mac address of my machine thru C# code .....my code is given below ....my problem is i am getting some other things with the mac address.....plz tell me why...n one more thing can i get all the mac address of the systems which r connected in a particular network.....if any one knows how to do this .. then please do let me know
R E G A R D S
S I N D H U T I W A R I
ManagementObjectSearcher query = null;
ManagementObjectCollection queryCollection = null;
query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
queryCollection = query.Get();
// the below code returns the mac address of the computer
foreach (ManagementObject mo in queryCollection)
{
if (mo["MacAddress"] != null)
{
richTextBox1.Text = richTextBox1.Text + mo["MacADDress"].ToString() + "\n";
}
}
its me sid
|
|
|
|
|
|
Thats the same code which i have mentioned ...sir plz do read once before sending any message ..my aim is to know all the mac address of the pc's connected in lan ....the code which i have given ..gives me the correct output but wid two other address ..my question is why these are coming ...... REGARDS
SINDHU TIWARI
its me sid
|
|
|
|
|