|
Thanks for the info, I didn't realize ducktyping is used to determine GetEnumerator is present. Doesn't sound logical to me, since this would almost certainly mean reflection is involved, which smells like a performance penalty to me...
Standards are great! Everybody should have one!
|
|
|
|
|
Reflection? Nah. I've copied code from that blog and compiled it, and looked on result in Reflector:
.method private hidebysig static void Main(string[] args) cil managed
{
.entrypoint
.maxstack 1
.locals init (
[0] class ForeachTest.Foo f,
[1] object o,
[2] valuetype ForeachTest.Foo/Bar CS$5$0000,
[3] bool CS$4$0001)
L_0000: nop
L_0001: newobj instance void ForeachTest.Foo::.ctor()
L_0006: stloc.0
L_0007: nop
L_0008: ldloc.0
L_0009: callvirt instance valuetype ForeachTest.Foo/Bar ForeachTest.Foo::GetEnumerator()
L_000e: stloc.2
L_000f: br.s L_0026
L_0011: ldloca.s CS$5$0000
L_0013: call instance object ForeachTest.Foo/Bar::get_Current()
L_0018: stloc.1
L_0019: nop
L_001a: ldstr "Hi!"
L_001f: call void [mscorlib]System.Console::WriteLine(string)
L_0024: nop
L_0025: nop
L_0026: ldloca.s CS$5$0000
L_0028: call instance bool ForeachTest.Foo/Bar::MoveNext()
L_002d: stloc.3
L_002e: ldloc.3
L_002f: brtrue.s L_0011
L_0031: ret
}
There is no reflection, all compile time. Lets say I comment out MoveNext or Current property, and compiler will complain:
"Error 2 foreach requires that the return type 'ForeachTest.Foo.Bar' of 'ForeachTest.Foo.GetEnumerator()' must have a suitable public MoveNext method and public Current property"
[ My Blog] "Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn "Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe
|
|
|
|
|
thanx for the help guys...
i came up with this in the end
public void checkPollingTimesFromHash()
{
foreach (DictionaryEntry de in pollTimesHash)
{
int terminalID = Int32.Parse(de.Key.ToString());
txtLog.AppendText("****** " + terminalID.ToString() + "\r\n");
foreach (TimeSpan ts in (ArrayList)de.Value)
{
txtLog.AppendText(ts.ToString() + "\r\n");
}
}
}
Harvey Saayman - South Africa
Junior Developer
.Net, C#, SQL
think BIG and kick ASS
you.suck = (you.passion != Programming)
|
|
|
|
|
Or you can use generics to reduce the boxing and it's type safe
Dictionary<int, List<TimeSpan>> pollTimesHash = new Dictionary<int, List<TimeSpan>>();
Random rand = new Random();
int hashCount = rand.Next(10, 20);
for (int i = 0; i < hashCount; i++)
{
List<TimeSpan> al = new List<TimeSpan>();
int alCount = rand.Next(10,20);
for(int j = 0; j<alCount; j++)
{
al.Add(new TimeSpan(rand.Next()));
}
pollTimesHash.Add(i, al);
}
StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<int, List<TimeSpan>> item in pollTimesHash)
{
sb.AppendLine(string.Format("{0} ({1} count)", item.Key.ToString(), item.Value.Count.ToString()));
foreach (TimeSpan pollTime in item.Value)
{
sb.AppendLine(pollTime.ToString());
}
}
Console.Write(sb.ToString());
|
|
|
|
|
HarveySaayman wrote: i came up with this in the end
you came up with this? Great, you won't need my help in future then!
|
|
|
|
|
lol, why so hostile?
i thanked everyone who contributed, i didnt mean i did it on my own, cuz i didnt. You gave me the puzzel piece foreach (DictionaryEntry de in pollTimesHash) That i based the solution on
and thanx again
Harvey Saayman - South Africa
Junior Developer
.Net, C#, SQL
think BIG and kick ASS
you.suck = (you.passion != Programming)
|
|
|
|
|
I have developed a TAPI application using voice modem (UNIMODEM TSP). The application is working fine except that when the person on other side (receiver) disconnects the call, TAPI application is unable to prompt the disconnection.
After some research, it came in to my knowledge, that is a limitation of UNIMODEM TSP, which does not forwards the message to TAPI.
Later, after having a conversation with my modem vendor, he told me that the only way to know when the receiver disconnected the call is to activate the modem's Inactivity Timer. Which will automatically disconnect the call if there is no conversation for a given time. To activate this timer, i have to pass this AT command to my device.
AT+VIT=60
The question is, how can i pass this command to modem, when i am using TAPI, or can i open comm connection in parallel to tapi.
*************************
SetNewGoal:
while (GoalNotAchieved){}
goto SetNewGoal;
*************************
|
|
|
|
|
I need to pass 2 int values to a function and call it on load of a div. How can i create these int variables and call this javascript function with C# coding?
I thank you infront
|
|
|
|
|
Set your DIV tag to run server-side. In your Page_Load event, do something like:
myDiv.Attributes.Add("onload", String.Format("myfunc({0}, {1});", value1, value2));
This will attach a function call to the onload event for your DIV.
Replace value1 and value2 with your own variable names.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
Thanks for your suggestion. I think that the function is not being accessed. how can i access the breakpoint that i made on the jscriptfile so that to check if the code is being executed?
|
|
|
|
|
jonhbt wrote: how can i access the breakpoint that i made on the jscriptfile so that to check if the code is being executed?
No need to. I can tell you right away that the function is not called.
There is no onload event for the div element.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
this try only
i`m sorry
we are comming!
|
|
|
|
|
Hello jonhbt,
You have not indicated why you want an onload for a DIV, but here is an explanation of how to do it:
http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget-addEventListener
and you can try like this
set two variables for script from ur page and access them in function.
as you can not directly access onload of div but if you write script tag in div and name of your function it will call up on load of it.
aspx page like
--------------
function getValues()
{
alert(a);
alert(b);
}
getValues();
<asp:label text="this is div" runat="server">
and in on Page_Load .cs file
-----------------------------
protected void Page_Load(object sender, EventArgs e)
{
int a= 3;
int b=4;
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
"onLoad", "var a =" + a + ";
b=" + b + ";", false);
}
|
|
|
|
|
Creating Spalsh Screen from an Image in C#
Hi I need to create a Splash Screen from an Image file. The Splash Screen form should be of the same dimensions as the image file. The program should hide the Splash Screen when my MainForm is displayed.
Here is what I'm doing
class SplashScreen : Form
{
Image splashImage;
public SplashScreen()
{
this.TopMost = true;
this.ShowInTaskbar = false;
this.FormBorderStyle = FormBorderStyle.None;
this.StartPosition = FormStartPosition.CenterScreen;
this.BackColor = this.TransparencyKey = Color.White;
Image img = Bitmap.FromFile("splash.png");
Bitmap b = new Bitmap(img);
b.MakeTransparent(b.GetPixel(1,1));
this.BackgroundImage = splashImage = (Image) b;
this.Size = this.splashImage.Size;
}
}
class MainForm : Form
{
public static void main(String[] args)
{
SplashScreen splash = new SplashScreen();
splash.Show();
MainForm mainForm = new MainForm();
mainForm.Shown += delegate(object o, EventArgs ev)
{
splash.Hide();
splash.Dispose();
mainForm.GetFocus();
};
}
}
The Splash File to be used is available here.
With the above code I do get the splash screen and the behaviour as expected but before the splash screen is drawn I see a Black Rectangle flashing, with same dimensions as the splash image.
Please suggest. If you have a different approach please go ahead. All I want is to see a nice Splash Screen
Thanks
Sukhjinder
http://sukhjinder.cn/
|
|
|
|
|
Sukhjinder_K wrote: this.BackColor = this.TransparencyKey = Color.White;
Image img = Bitmap.FromFile("splash.png");
Bitmap b = new Bitmap(img);
b.MakeTransparent(b.GetPixel(1,1));
this.BackgroundImage = splashImage = (Image) b;
I don't really get what you're trying to achieve here. Why not just use
this.BackColor = Color.Transparent;
this.BackgroundImage = Bitmap.FromFile"splash.png");
If you include the tranparency in your image you should be pretty much done. If that doesn't work, you can always fill up the form with a PictureBox control.
Oh, as for the flicer problem, try using this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true); on your form.
Standards are great! Everybody should have one!
|
|
|
|
|
[DllImport("user32.dll")]<br />
public static extern bool LockWindowUpdate(IntPtr hWndLock);<br />
<br />
<br />
public SplashScreen()<br />
{<br />
<br />
this.TopMost = true;<br />
this.ShowInTaskbar = false;<br />
this.FormBorderStyle = FormBorderStyle.None;<br />
this.StartPosition = FormStartPosition.CenterScreen;<br />
<br />
Image img = Bitmap.FromFile(LetsYoConfig.SplashFileName);<br />
this.Size = img.Size;<br />
<br />
LockWindowUpdate(this.Handle);<br />
<br />
try<br />
{<br />
this.BackColor = this.TransparencyKey = Color.White;<br />
<br />
Bitmap b = new Bitmap(img);<br />
this.BackgroundImage = splashImage = (Image) b;<br />
}<br />
finally<br />
{<br />
LockWindowUpdate(IntPtr.Zero);<br />
}<br />
}<br />
|
|
|
|
|
Hellow
would you please help me to erase a line in C#.Here I used Drawline(x1,y1,x2,y2) method to draw a line in a panel.I need to create a tool just like in MS paint to erase it.Is there any way to do like that.I tried to erase with by drawing a rectangle with back ground color same to the panel...but its not working fine.would you pls also post code for that...it will be very helpful
Here is my e-mail ID --subinraju007@gmail.com
modified on Friday, March 28, 2008 6:22 AM
|
|
|
|
|
create a rectangle with these color
Color.Empty
or
Color.Transparent
i havent check these code
hope it will help
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
|
Subin Raju wrote: hello no reply ?
Are you paying anyone on this forum for their help? No? Then don't be so impatient. Be prepared to wait for an answer.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
|
Subin Raju wrote: ha ha Paul Marfleet...
I dont want be polite infront of you people....I will be polite infront of beggers but not infront of you..I never asked you question. I just posted my question in this forum..okeee huh..so dont try to be over smart he he
Is this usually how you ask for help? By insulting the people that you want to help you?
If so, good luck because you'll get no further help from me.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
you'll also get no help from me.
|
|
|
|
|
Subin Raju wrote: I also expect code for that...it will be very helpful
You can expect what you want. Seeing as you're not paying anyone for their help though, I suggest you try and be a bit more polite when posting questions.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
sorry brother...it may because of my lack of knowledge in english
|
|
|
|