|
hey yeah its working
thanks dude
Becoming Programmer...
|
|
|
|
|
You are wellcome!
All the best,
Martin
|
|
|
|
|
Hi, I have the following problem:
I have a string of 11 digits.
In my textbox I want to display it like this
###.##.###.###
I tried to set the string.Format("{0:###.##.###.###}", 12345678901)
as result I'd like to see 123.45.678.901, but naturally it doesn't work (probably I've been a little naïve )
Can somebody help me?
|
|
|
|
|
try this
long abc = 12345678901;
textbox1.text = abc.ToString(@"000\.00\.000\.000");
hope it will work
Becoming Programmer...
|
|
|
|
|
You need to use an escape sequence for the '.' characters in the format string so they are treated as literal characters. Otherwise only the first '.' character will be included in the output.
Paul
|
|
|
|
|
yep, i forgot to do that as i wrote codes in codeproject
but i modified it
Becoming Programmer...
|
|
|
|
|
Try this:
long num = 12345678901;
string s = num.ToString(@"###\.##\.###\.###");
Paul
|
|
|
|
|
Another way to do this is with a custom formatter. Try this one:
using System;
using System.Collections.Generic;
using System.Text;
namespace Tester
{
class Program
{
static void Main(string[] args)
{
string item = "012345678901";
Console.WriteLine(string.Format(new CustomStringFormat(), "{0:XD##.####.###.##}", item));
Console.ReadLine();
}
public sealed class CustomStringFormat : IFormatProvider, ICustomFormatter
{
#region IFormatProvider Members
public object GetFormat(Type formatType)
{
if (typeof(ICustomFormatter).Equals(formatType))
return this;
return null;
}
#endregion
#region ICustomFormatter Members
public string Format(string format, object arg, IFormatProvider formatProvider)
{
if (arg == null) throw new ArgumentNullException("arg");
if (format != null && arg is string)
{
string formatSpecifier = format.Trim().ToLower();
if (formatSpecifier.StartsWith("xd"))
{
return FormatWithDot((string)arg, format.Substring(2));
}
}
if (arg is IFormattable)
return ((IFormattable)arg).ToString(format, formatProvider);
return arg.ToString();
}
private string FormatWithDot(string arg, string format)
{
StringBuilder sb = new StringBuilder();
string[] text = format.Split('.');
int lastPos = 0;
foreach (string item in text)
{
string itemtext = arg.Substring(lastPos, item.Length);
if (sb.Length > 0)
sb.Append(".");
sb.AppendFormat("{0}", itemtext);
lastPos += item.Length;
}
return sb.ToString();
}
#endregion
}
}
}
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Why don't you use "MaskedTextBox" standard control?
Thanks and Regards,
Michael Sync ( Blog: http://michaelsync.net)
If you want to thank me for my help, please vote my message by clicking one of numbers beside "Rate this message". Why vote? Plz Read it here. Thank you.
|
|
|
|
|
Thank you Michael... This was exactly what I was looking for!
Life is not short... the problem is only how you organize yourself
|
|
|
|
|
Your welcome! Joz.
Dont forget to vote if it's useful for you. thanks.
Thanks and Regards,
Michael Sync ( Blog: http://michaelsync.net)
If you want to thank me for my help, please vote my message by clicking one of numbers beside "Rate this message". Why vote? Plz Read it here. Thank you.
|
|
|
|
|
Hi,
I have a form frmA interpreting temp values collected by a second form frmB. Form frmB starts as a thread from frmA. frmB uses a System.Windows.Forms.Timer to collect the data.
If I debug frmA, the timer (and I suppose the whole thread frmB) stops, until frmA continues.
Question: Is there a way to exclude thread frmB from debugging? i.e. if frmA stops due to debugging, frmB collects still data.
Thanks!
Ariadne
|
|
|
|
|
No way to do this, AFAIK.
|
|
|
|
|
Hi,
I would like to use the TreeView control but I would like to modify certain behaviours customized to my app. How do I do it? It would be nice if I can show it up in the "My User Controls" so that I can drag it and dock it appropriately at design time.
TIA!
I am a SysAdmin, I battle my own daemons.
|
|
|
|
|
Basically you need to create a control derived from TreeView .
-- If this is a post that has been helpful to you, please vote for it. Thank you!
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
--Rich Cook
|
|
|
|
|
You can inherit from Treeview control and customize it to make it meet your needs. There are several articles here on codeproject so if you search you'll be able to find them
|
|
|
|
|
Hello!
I want to make a little program that check if a certain port is opened. For example when i run a server that opens the port 234 i want to see if that port is opened. If it is opened then the server is running.
I tryed with some System.net.socket but didn't work...
Thanks in advance
|
|
|
|
|
One way to do it, and I'm not sure if this is the best/most-efficient way, is to try and register a .NET remoting channel on that port. It will throw an exception if the port is in use.
This will work for the local machine.
If you want to see if a port is opened on a remote machine, you'll need to attempt a socket connection to that address and port, or if you're using remoting, attempt connection to a remote object published on that address and port.
|
|
|
|
|
Lets say I have a old executable that was not created in the .NET world that contains a bunch of dll and stuff like that. This old executable takes in command line arguments to generate a specific result. I was thinking about creating a .NET assembly class to wrap this executable. The programmer using this wrapper would be able to specify certain properties and then generate a result.
My question is simple. When deploying this wrapper assembly do I........
1. Store the old executable and dlls into the assemblies Resources.resx and when the user wishes to generate a result make a directory and copy the files into the directory (if they do not already exist) and then generate the result.
2. Attach the old executable and dlls into a folder within the assembly project itself and change the build action to content and when the project is deployed make sure the content files are also deployed with the project.
3. Use another method?
Thanks Chris
|
|
|
|
|
chris175 wrote: 2. Attach the old executable and dlls into a folder within the assembly project itself and change the build action to content and when the project is deployed make sure the content files are also deployed with the project.
That is the option I'd go for. It keeps the app with its DLLs in a known place relative to your application.
Upcoming events:
* Glasgow: Mock Objects, SQL Server CLR Integration, Reporting Services, db4o, Dependency Injection with Spring ...
"I wouldn't say boo to a goose. I'm not a coward, I just realise that it would be largely pointless."
My website
|
|
|
|
|
|
Hello!
I want to know how .NET managed threads in STA model application. When I create new thread should I init COM library in some way (like CoInitialize() in C++) or .NET did it for me?
Best regards,
M.
|
|
|
|
|
.NET does it all for you; you don't need to call CoInitialize. Note that if you're using a COM object on a background thread, ensure that the thread is STA. You can do this by calling thread.SetApartmentState before the thread has started executing.
Note that the UI thread for Windows Forms (and WPF, I believe) applications are STA by default, so if you created a COM object on that thread, you'll be fine.
|
|
|
|
|
I get the following error when calling the ReadMultiple method.
The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))
I don't suppose anyone has a working example of reading the summary information from a file? The annoying thing is that I can write to the summary fields but not read them
<br />
[StructLayout(LayoutKind.Explicit, Size = 8, CharSet = CharSet.Unicode)]<br />
public struct PropSpec<br />
{<br />
[FieldOffset(0)]<br />
public int ulKind;<br />
[FieldOffset(4)]<br />
public IntPtr Name_Or_ID;<br />
}<br />
<br />
[StructLayout(LayoutKind.Explicit, Size = 16)]<br />
public struct PropVariant<br />
{<br />
[FieldOffset(0)]<br />
public short variantType;<br />
[FieldOffset(8)]<br />
public IntPtr pointerValue;<br />
[FieldOffset(8)]<br />
public byte byteValue;<br />
[FieldOffset(8)]<br />
public long longValue;<br />
<br />
public void FromObject(object obj)<br />
{<br />
if (obj.GetType() == typeof(string))<br />
{<br />
this.variantType = (short)VarEnum.VT_LPWSTR;<br />
this.pointerValue = Marshal.StringToHGlobalUni((string)obj);<br />
}<br />
}<br />
}<br />
<br />
[ComVisible(true), ComImport(),<br />
Guid("00000138-0000-0000-C000-000000000046"),<br />
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]<br />
public interface IPropertyStorage<br />
{<br />
uint ReadMultiple(<br />
uint numProperties,<br />
PropSpec[] propertySpecifications,<br />
out PropVariant[] propertyValues);<br />
<br />
uint WriteMultiple(<br />
uint numProperties,<br />
[MarshalAs(UnmanagedType.Struct)] ref PropSpec propertySpecification,<br />
ref PropVariant propertyValues,<br />
int propIDNameFirst);<br />
<br />
uint Commit(<br />
int commitFlags);<br />
}<br />
<br />
PropSpec[] propSpecs = new PropSpec[1];<br />
propSpecs[0].ulKind = 1;<br />
propSpecs[0].Name_Or_ID = new IntPtr((int)summaryType);<br />
PropVariant[] propertyValues = new PropVariant[1];<br />
<br />
hresult = propStorage.ReadMultiple(1, propSpecs, out propertyValues); <br />
Thanks
|
|
|
|
|
Does this Q & A[^] help? A quick google search revealed it.
|
|
|
|