|
I would do this (2) things
either
public IEnumerator MyObjects
{
get
return myList.GetEnumerator();
}
}
or implement the class and only make public the functions you want and make the rest internal or private
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
Good idea, but what about loosing access to Count property?
Don't forget, that's Persian Gulf not Arabian gulf!
|
|
|
|
|
There isnt a Count property in that interface.
if your inheriting just make it internal or private
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
Yes this is what I said! there is no Count property in IEnumerator interface, so we don't have access to Count property when we return IEnumerator .(But we need it!)
Is it possible to cast the return type to more than one interface?(I am almost sure it's not!)
Don't forget, that's Persian Gulf not Arabian gulf!
|
|
|
|
|
Taking the first idea:
public IEnumerator MyObjects
{
get
return myList.GetEnumerator();
}
}
now lets expand on this
public class MyEnumerator : IEnumerable
{
private ArrayList myList;
public MyEnumerator( ArrayList newList )
{
myList = newList;
}
public System.Collections.IEnumerator GetEnumerator ( )
{
return myList.GetEnumerator();
}
public int Count
{
get
{
return myList.Count;
}
}
}
so that includes a count its not part of the object
if you want it to be a self supporting one I would exchange IEnumerable for IEnumerator and implement the 3 methods and properties instead.
nick
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
hey I misunderstood you
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
Now that you understand my question , have you got any solution?
Hugely Thanx
Don't forget, that's Persian Gulf not Arabian gulf!
|
|
|
|
|
I answered it 2 replies ago, or is there still something you need
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
Hi, just wondering, how do you get the current assembly name or file name?
This line retrieved public key token, version and other stuff associated with current assembly:
assem_name = System.AppDomain.CurrentDomain.GetAssemblies().GetValue(0).ToString();
But file name AND assembly name of the assembly would be good.
norm
|
|
|
|
|
This will get you what you want
<br />
System.Reflection.Assembly asd = (System.Reflection.Assembly)System.AppDomain.CurrentDomain.GetAssemblies().GetValue(0);<br />
although it prints out the full name, use a split method to grab the data. the first characters is the name.
codebase property is the file name
although using System.zZReflection.Assembly namespace you can play around
paste that code in your program and put a breakpoint on it. Then run
when it stops click debug->Windows->Local
click the plus sign on asd and EUREKA you can see the whole objerct in action and perform discovery
nick
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
My admin set up terminal services for me but it says Remot desktop connection. Whats the difference between TS and RDS?
I dont trust admins because thier all Citrix happy.
nick
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
I think they are the same thing, just named differently for WinXP. I use RDC to control my Win2K server from my XP Pro laptop.
James
"My words but a whisper -- your deafness a SHOUT.
I may make you feel but I can't make you think." - Thick as a Brick, Jethro Tull 1972
|
|
|
|
|
Remote Desktop Connection is the name of the client program on Windows XP that enables you to connect to either Terminal Services on Windows 2000/2003 Server, or to another Windows XP desktop (where it's known as Remote Desktop).
The difference is that if you connect to a Windows XP desktop, you're the only user on that desktop. (In other words, a local user, if there was one, is logged out so you can log in.) For Terminal Services on a Windows 2000/2003 Server, you are just another user logged into the system, and you share the server with all the other users who are also logged in.
Cheers, Julian
Program Manager, C#
This posting is provided "AS IS" with no warranties, and confers no rights.
|
|
|
|
|
Am I correct in the conclusion that it's impossible to do:
CDaoDatabase* db=new CDaoDatabase();
db->Create("aNewDatabase");
in C#/.NET???
So I have to write a C++ function that I call from C# to do this???
What idiot decided to remove the ability to programmatically create a database??? Or is there some better way? (Oh, god, don't tell me--COM).
Marc
STL, a liability factory - Anonymously A doable project is one that is small enough to be done quickly and big enough to be interesting - Ken Orr
Latest AAL Article
My blog
|
|
|
|
|
Never mind. Found this in a CACHED(!!!) website (thank goodness for Google's caching--the original link is gone).
In Visual Studio Design Environment
Click on the Project Menu
Click on Add Reference
Click on the COM Tab
Select Microsoft DAO 3.6 Object Library
A reference to DAO will be added to your project
The Data Access Objects Library DAO will be accessible in your project using COM Interop
The namespace DAO will be come visible in your project.
To create a database called database.mdb using Access 2000 DAO and C# use the following line of code :
DAO.DBEngineClass Db = new DAO.DBEngineClass();
Db.CreateDatabase("C:\\bin\\dao\\database.mdb",DAO.LanguageConstants.dbLangGeneral,DAO.DatabaseTypeEnum.dbDecrypt);
All happy now.
Marc
STL, a liability factory - Anonymously A doable project is one that is small enough to be done quickly and big enough to be interesting - Ken Orr
Latest AAL Article
My blog
|
|
|
|
|
Marc Clifton wrote:
Select Microsoft DAO 3.6 Object Library
Eww, DAO, that so old school.
-Nick Parker
|
|
|
|
|
By the way, you may wanna use the @ for literal strings that contain backslashes. Then you don't have to escape them:
Db.CreateDatabase(@"C:\bin\dao\database.mdb", ...);
Regards,
Alvaro
Hey! It compiles! Ship it.
|
|
|
|
|
i have 3 forms and a toolbar with 3 buttons.
Form1, Form2, Form3, tbbForm1, tbbForm2, tbbForm3
i want the toolbar buttons to switch between these 3 forms.
the problem i'm having is that each time i press a button, it opens the form in a new window.
private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if(e.Button == this.tbbForm1)
{
Form1 frm1 = new Form1();
this.frm1.Show();
}
else if(e.Button == this.tbbForm2)
{
Form2 frm2 = new Form2();
this.frm2.Show();
}
else if(e.Button == this.tbbform3)
{
Form3 frm3 = new Form3();
this.frm3.Show();
}
} [/code]
i know my code calls on a new object each time the button is pressed. i have tried instantiating each of the forms in the constructor so i could just use the Show() method, but this does not work.
please help! =)
|
|
|
|
|
Erm, what happens if you instantiate all three forms, the for each button do something like this:
frm1.Show();
frm2.Hide();
frm3.Hide();
On the other hand, if you're toolbar is doing this, why not instead use a tab control and tab pages?
Marc
STL, a liability factory - Anonymously A doable project is one that is small enough to be done quickly and big enough to be interesting - Ken Orr
Latest AAL Article
My blog
|
|
|
|
|
mikemilano wrote:
i know my code calls on a new object each time the button is pressed. i have tried instantiating each of the forms in the constructor so i could just use the Show() method, but this does not work.
The reason why is you must first define it like so
<br />
public class Form1<br />
{<br />
<br />
private Form2 fm;<br />
<br />
public Form1()<br />
{<br />
fm = new Form2();<br />
}<br />
<br />
public void Button1_Click( object sender, EventArgs e )<br />
{<br />
fm.Show();<br />
}<br />
}<br />
<br />
thats all there is to it
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
Pardon my stupidity on this one:
I need to iterate through a dataset that contains one table w/ one row. Essentially I have 5 fields within the table, and each field has to be output to a label or text box. How do I go about doing this?
Ken
|
|
|
|
|
//get the first table in the dataset, first row (if you only have 1 row), get
//the data by fieldName
textBox1.Text = dataSet.Tables[0].Rows[0]["fieldName"].ToString();
textBox2.Text = dataSet.Tables[0].Rows[0]["otherField"].ToString();
I find it easier to use a DataRow...
DataRow row = dataSet.Tables[0].Rows[0];
textBox1.Text = row["fieldName"].ToString();
textBox2.Text = row["otherField"].ToString();
You can also use numerics in the field if the field names are not constant...
textBox1.Text = row[0].ToString();
textBox2.Text = row[1].ToString();
|
|
|
|
|
although its faster to
SqlDataAdapter myAdapter = MySqlCommand.ExecuteReader();
object[] myArrayOfColumns = myAdapter.GetValues();
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
I need a way to create an activeX at runtime, with nothing more than a CLSID. To put it a different way, I have to be able to create an activeX control without linking to its tlb, similiar to how the ActiveX Control Test Container works.
I used to do this in MFC with the CWnd::CreateControl() function. Is there some C# equivalent to this?
Thanks,
Aaron Stibich
|
|
|
|
|
Do it the same way as you would create a normal WinForms control:
Button button=new Button();
this.Controls.Add(button);
"Blessed are the peacemakers, for they shall be called sons of God." - Jesus
"You must be the change you wish to see in the world." - Mahatma Gandhi
|
|
|
|