|
Do you have reference to the main project from the second one?
Best wishes,
Navaneeth
|
|
|
|
|
Hello,
Yes, I added the reference in the second project. I created a new group in the toolbox called "Project1". I than chosen the UserControls I want to add in the toolbox but it does not add them.
Any other ideeas ?
Thanks
|
|
|
|
|
I didn't manage to add it in the toolbox, but that's not a big problem.
The main problem is that I can't create a user control from Project1 in Project2.
I have user control with the name uUserC.
I see the class in Project2 and I do this:
uUserC c=new uUserC();
When I do this, I get this error:
"Unhalted exception has occurec in your app.....
Could not load file or assembly 'Project1.Version=1.0.0.0 ....' or one of its dependencies. An attempt was made to load the program with an incorrect format"
What can this be ?
Thanks,
Vlad
|
|
|
|
|
i want to print datas that coming from textboxes. i did it but the problem is i didnt do multi page printing. my project is like that:
Page1
xxx(from textbox)
xxx
xx
xxx
Page2
xxx
xxx
xxx
xxx
page3, page 4.. like that
i hope your samples thank u ..
|
|
|
|
|
Well, without seeing your printing code, it's pretty much impossible to tell you where you went wrong.
|
|
|
|
|
Hi people,
I want to write to text file and read from it and here is my plan of how my student.txt file should look like(just a sample)...
****************************Student Entry******************************
First Name Last Name Age Gender Student No. Mobile
1. Morgan Simwaba 21 Male MB6709 074-372-****
2. Morgan Freeman 11 Male MB6709 084-372-****
3. Morgan Morgan 99 Female MB6709 074-372-****
****************************Student Entry******************************
My question is how can I write the column headings(e.g First Name) and write required values(e.g Morgan) under each column heading as indicated above.
Then I want to read from this file and retrieve the data under each column.
I am using visual studio 8 and this far have tried to use the FileStream, StreamWriter, BufferedStream and StreamReader.
I already know how to create a new file, write one line into a file and read that one line but I have failed the format above...
Please Please Help ME
|
|
|
|
|
Have a look at string.format:
String.Format("--{0,10}--", "test");
prints as: -- test--
String.Format("--{0,-10}--", "test");
prints as: --test --
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
"Rumour has it that if you play Microsoft CDs backwards you will hear Satanic messages.Worse still, is that if you play them forwards they will install Windows"
|
|
|
|
|
Thankyou but that one won't do still, how am I going to write that to a text file.
remember I have headings and data below the headings. Any other idea?
|
|
|
|
|
If the main purpose is storing this data for retrieval in your app I suggest saving it as XML rather than straight text. That way you can match up the records, fields and values easily.
If you have knowledge, let others light their candles at it.
Margaret Fuller (1810 - 1850)
www.JacksonSoft.co.uk
|
|
|
|
|
Nice one!
Can you help me by showing me how to do that?
|
|
|
|
|
Use XML serialization. You need to define a type that has all the required columns.
public class Student
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
public int StudentNo { get; set; }
public int Mobile { get; set; }
} Use the XmlSerializer class provided in the System.Xml.Serialization namespace to serialize and deserialize the object.
void Serialize(string file, List<Student> students)
{
XmlSerializer xs = new XmlSerializer(students.GetType());
using (FileStream fs = new FileStream(file, FileMode.Create))
{
xs.Serialize(fs, students);
}
}
List<Student> Deserialize(string file)
{
XmlSerializer xs = new XmlSerializer(typeof(List<Student>));
object obj = null;
using (FileStream fs = new FileStream(file, FileMode.Open))
{
obj = xs.Deserialize(fs);
}
return (List<Student>)obj;
} Use this like
Student student1 = new Student();
student1.FirstName = "First";
student1.LastName = "Student";
Student student2 = new Student();
student2.FirstName = "Second";
student2.LastName = "Student";
List<Student> students = new List<Student>();
students.Add(student1);
students.Add(student2);
Serialize("c:\\some.xml", students); use Deserialize with the file name to get the students back.
Best wishes,
Navaneeth
|
|
|
|
|
thank you very much that was helpful
|
|
|
|
|
Serialization was designed for other purposes; I wouldn't use it just to create a file.
|
|
|
|
|
PIEBALDconsult wrote: Serialization was designed for other purposes;
What are those?
Best wishes,
Navaneeth
|
|
|
|
|
Hai, I tried the code you gave me and it did work very well, thanks. but I have a problem with deserialization,
it returns a List<Student>obj and am not sure how to get around with this to see the items that are returned.
Can you please help me?
|
|
|
|
|
for example if you want to save the data from textboxes you can use this sample function...... of course you have to modify it ..
private void Save()
{
string sample= "******Student Entry**** \r\n First Name Last Name Age Gender Student No. Mobile";
sample+= "\r\n*"+textBox1.Text+" "+"#"+textBox2.Text+" "+"@"+textBox3.Text+" "+"%"+textBox4.Text;
File.WriteAllText("d:\\sample\\data.txt",sample);
}
Dont forget to include the System.IO namespace...
You can use the tags i included(*,@,# ...) to retrive the data from each column....
|
|
|
|
|
XML is ideal, but you're already half way there.
Use a "delimited" file format (for starters), with the first row containing "headings" and the other rows "data", and each field separated by a "special" character (in this case "|"). This is a very common method used by various applications / databases to import / export data.
Since you already know how to read a line using StreamReader, use the string.Split() method to then split these lines on the "|" character to get an array of column names and subsequent data values in the corresponding columns.
(Your data in delimited format)
First Name|Last Name|Age|Gender|Student No.|Mobile
Morgan|Simwaba|21|Male|MB6709|074-372-****
etc
|
|
|
|
|
Why do you want text file to store data.. Rather use XML to do this.
XML is easier to manage and Data integration remains intact. So it is lesser possibility of data corruption in case of XML files.
|
|
|
|
|
Yeah, XML. I suggest you use an XmlDocument.
|
|
|
|
|
if i were u and i had data like that one u brought as an example,i would simply make an access mdb file with one table with columns of Fname,Lname,... and insert and select from that file using jet 4.0 or Oledb 12,it's much easier,but the solution is our friend gave us about xml serializing is also very easy and comforting.
u can select from an oledb database like this.
oledbcommand oc=new oledbcommand ();
oledbconnection ocon=new oledbconnection(connectionstring);
oc.connection=ocon;
oc.commandtext="select *from studenttable";
oledbdatareader dr=oc.executeReader();
|
|
|
|
|
Thank you my friend though I already know that one! I have been using SQL 2005 and all is well,
I thought it would be much easier to use a file than a database - remember I can carry a file
to anywhere but I can't use a database anywhere else but only on a computer that has SQL.
Well, thanks to you all guys out there you are alot of help and I will
dig through XML again and again! LaTa......
|
|
|
|
|
I am in the process of learning C sharp. Background is in C++ with some Java. Please
consider the following block of code:
class test3<br />
{<br />
private string[] strArray = {<br />
"Jan", "Feb", "Mar", "Apr", "May", "Jun",<br />
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"<br />
};<br />
}
Now, the above code compiles. However, if I make test3 a struct instead of a class, it does not.
This does not make any sense to me. Is there a reason for it?
Bob
|
|
|
|
|
In C#, a struct cannot have a field initializer, because a struct cannot have a default (no-arguments) constructor. The compiler automatically provides one during compilation.
To understand it better, the above code is compiled to:
class test3
{
private string[] strArray;
internal test3() {
strArray = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
}
}
Note that the field initialization is moved to the default constructor.
|
|
|
|
|
Shameel wrote: The compiler automatically provides one during compilation.
Yes. But this depends on the compiler implementation.
C# standard allows not to generate a constructor call in such situations when possible. So generating a default constructor will be completely depended upon the compiler implementation. It may sometime initialize the fields without even doing a constructor call.
Best wishes,
Navaneeth
|
|
|
|
|
Visual C#.NET (as it is called), the reference implementation of C# standard from Microsoft, atleast does this.
|
|
|
|