• 0

[C#] Writing data to a .dat file


Question

Hi!

I have a window application.

User makes some selection from different combo boxes, then when hitted the "ADD TO CART" button, the data selected will be copied to some labels next to it.

But now, i need to transfer/copy all that data from the labels to a file named: computer.dat

How do i do that? I'm really having problems with that.

I have this there:

void storeInFile(Part *d)
  	{
    FileStream file = new FileStream("computer.dat", FileMode.OpenOrCreate, FileAccess.Read);

    for (int i=0; i<d->dataCount; i++)
    {
    	file << d->pb[i].processor <<"\n\n";
    	file << d->pb[i].memory <<"\n"<< endl; 
    	file << d->pb[i].harddrive <<"\n"<< endl; 
    	file << d->pb[i].cdrom <<"\n"<< endl;
    	file << d->pb[i].floppydrive <<"\n"<< endl; 
    	file << d->pb[i].keyboard <<"\n"<< endl; 
    	file << d->pb[i].monitor <<"\n"<< endl; 
    	file << d->pb[i].mouse <<"\n"<< endl; 
    }
    file.Close();	// close computer.dat
  	}

but im not sure if that's correct.

Please help me..:)

Thanks,

Link to comment
https://www.neowin.net/forum/topic/376679-c-writing-data-to-a-dat-file/
Share on other sites

Recommended Posts

  • 0

OK!

Did it!

But now i get 27 errors.

-Pointers may only be used in an unsafe context

-Only assingemtn, call, increment, decrement, and object expresions can be used as a statement

-'WindowApplication1.Form1.Part' does not contain a definition for 'pb'

And those 3 errors keep repeating like 4 more times in the Task List.

  • 0
  marie said:
Yes i know, i kinda copy and pasted a code made some time ago in C++ and was tring to fix it and put it to work into C#, but i think i failed at it.

Can somebody please help me there? :cry:

586574180[/snapback]

take a good long look into "FileStream" on the MSDN. hint "file <<" :no:

get rid of the pointer *d and try something else, dont worry (i did the same mistakes like that before)

  • 0
  marie said:
Okay, thanks for the site.

But hmmm.. what i need to write is what's in the labels.

How do i do that?

586574212[/snapback]

it should be

comboBox1.SelectedItem.ToString();

where "comboBox1" is the name of your ....well combobox

opps. you said label

label1.Text.ToString()

"label1" name of your label

Edited by dolimite35
  • 0

You could try something like this:

 ? ? ? ?void storeInFile()
 ? ? ? ?{
 ? ? ? ? ? ?// create a file stream, for "computer.dat"
 ? ? ? ? ? ?FileStream fs = new FileStream("computer.dat", FileMode.CreateNew, FileAccess.ReadWrite);
 ? ? ? ? ? ?// create a stream writer
 ? ? ? ? ? ?StreamWriter sw = new StreamWriter(fs);

 ? ? ? ? ? ?//write to file (buffer), where label1 and label2 are your labels.
 ? ? ? ? ? ?sw.Write(label1.Text.ToString() + Environment.NewLine);
 ? ? ? ? ? ?sw.Write(label2.Text.ToString() + Environment.NewLine);

 ? ? ? ? ? ?// flush buffer (so the text really goes into the file)
 ? ? ? ? ? ?sw.Flush();
 ? ? ? ? ? ?// close stream writer and file
 ? ? ? ? ? ?sw.Close();
 ? ? ? ? ? ?fs.Close();
 ? ? ? ?}

Edited by BigCheese
  • 0
  lnatan25 said:
Doesn't the Close() do a flush as well, or is it needed to flush the stream manually? And as stated above, ToStrings() on label1/2.Text is really a waste, as the Text property is string.

586574669[/snapback]

Yeah. Flush() is useless immediately before Close().

Close() calls Dispose(), which calls Flush().

  • 0

OK, So this is my code:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;



namespace WindowsApplication1
{
	/// &lt;summary&gt;
	/// Summary description for Form1.
	/// &lt;/summary&gt;
	public class Form1 : System.Windows.Forms.Form
	{
  private System.Windows.Forms.ComboBox comboBox1;
  private System.Windows.Forms.ComboBox comboBox2;
  private System.Windows.Forms.ComboBox comboBox3;
  private System.Windows.Forms.ComboBox comboBox4;
  private System.Windows.Forms.ComboBox comboBox5;
  private System.Windows.Forms.ComboBox comboBox6;
  private System.Windows.Forms.ComboBox comboBox7;
  private System.Windows.Forms.ComboBox comboBox8;
  private System.Windows.Forms.Label label1;
  private System.Windows.Forms.Label label2;
  private System.Windows.Forms.TextBox textBox1;
  private System.Windows.Forms.Label label3;
  private System.Windows.Forms.TextBox textBox2;
  private System.Windows.Forms.PictureBox pictureBox1;
  private System.Windows.Forms.Button button1;
  private System.Windows.Forms.GroupBox groupBox1;
  private System.Windows.Forms.Label label4;
  private System.Windows.Forms.Label label5;
  private System.Windows.Forms.Label label6;
  private System.Windows.Forms.Label label7;
  private System.Windows.Forms.Label label8;
  private System.Windows.Forms.Label label9;
  private System.Windows.Forms.Label label10;
  private System.Windows.Forms.Label label11;
  private System.Windows.Forms.Label label12;
  private System.Windows.Forms.Label label13;
  private System.Windows.Forms.TextBox textBox3;
  /// &lt;summary&gt;
  /// Required designer variable.
  /// &lt;/summary&gt;
  private System.ComponentModel.Container components = null;


  public Form1()
  {
  	//
  	// Required for Windows Form Designer support
  	//
  	InitializeComponent();

  	//
  	// TODO: Add any constructor code after InitializeComponent call
  	//
  }

  /// &lt;summary&gt;
  /// Clean up any resources being used.
  /// &lt;/summary&gt;
  protected override void Dispose( bool disposing )
  {
  	if( disposing )
  	{
    if (components != null) 
    {
    	components.Dispose();
    }
  	}
  	base.Dispose( disposing );
  }

  #region Windows Form Designer generated code
  /// &lt;summary&gt;
  /// Required method for Designer support - do not modify
  /// the contents of this method with the code editor.
  /// &lt;/summary&gt;
  private void InitializeComponent()
  {
  	System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
  	this.comboBox1 = new System.Windows.Forms.ComboBox();
  	this.comboBox2 = new System.Windows.Forms.ComboBox();
  	this.comboBox3 = new System.Windows.Forms.ComboBox();
  	this.comboBox4 = new System.Windows.Forms.ComboBox();
  	this.comboBox5 = new System.Windows.Forms.ComboBox();
  	this.comboBox6 = new System.Windows.Forms.ComboBox();
  	this.comboBox7 = new System.Windows.Forms.ComboBox();
  	this.comboBox8 = new System.Windows.Forms.ComboBox();
  	this.label1 = new System.Windows.Forms.Label();
  	this.label2 = new System.Windows.Forms.Label();
  	this.textBox1 = new System.Windows.Forms.TextBox();
  	this.label3 = new System.Windows.Forms.Label();
  	this.textBox2 = new System.Windows.Forms.TextBox();
  	this.pictureBox1 = new System.Windows.Forms.PictureBox();
  	this.button1 = new System.Windows.Forms.Button();
  	this.groupBox1 = new System.Windows.Forms.GroupBox();
  	this.label12 = new System.Windows.Forms.Label();
  	this.label11 = new System.Windows.Forms.Label();
  	this.label10 = new System.Windows.Forms.Label();
  	this.label9 = new System.Windows.Forms.Label();
  	this.label8 = new System.Windows.Forms.Label();
  	this.label7 = new System.Windows.Forms.Label();
  	this.label6 = new System.Windows.Forms.Label();
  	this.label5 = new System.Windows.Forms.Label();
  	this.label4 = new System.Windows.Forms.Label();
  	this.label13 = new System.Windows.Forms.Label();
  	this.textBox3 = new System.Windows.Forms.TextBox();
  	this.groupBox1.SuspendLayout();
  	this.SuspendLayout();
  	// 
  	// comboBox1
  	// 
  	this.comboBox1.DropDownWidth = 320;
  	this.comboBox1.Items.AddRange(new object[] {
                 "Intel? Pentium? 4 Processor (2.80GHz, 533 FSB) [add $30]",
                 "Intel? Pentium? 4 Processor (3GHz, 800 FSB) [add $50]",
                 "Intel? Pentium? D 820 (2.8GHz, 800MHz FSB) [add $150]",
                 "Intel? Pentium? D 840 (3.2GHz, 800MHz FSB) [add $200]"});
  	this.comboBox1.Location = new System.Drawing.Point(24, 144);
  	this.comboBox1.Name = "comboBox1";
  	this.comboBox1.Size = new System.Drawing.Size(320, 21);
  	this.comboBox1.TabIndex = 0;
  	this.comboBox1.Text = "Select Processor Desired";
  	// 
  	// comboBox2
  	// 
  	this.comboBox2.DropDownWidth = 300;
  	this.comboBox2.Items.AddRange(new object[] {
                 "512MB Dual Channel DDR SDRAM at 400MHz [add $39]",
                 "1GB Dual Channel DDR SDRAM at 533MHz [add $60]",
                 "2GB Dual Channel DDR2 SDRAM at 533MHz [add $220]",
                 "4GB Dual Channel DDR2 SDRAM at 533MHz [add $500]"});
  	this.comboBox2.Location = new System.Drawing.Point(24, 192);
  	this.comboBox2.Name = "comboBox2";
  	this.comboBox2.Size = new System.Drawing.Size(320, 21);
  	this.comboBox2.TabIndex = 1;
  	this.comboBox2.Text = "Select Memory Desired";
  	// 
  	// comboBox3
  	// 
  	this.comboBox3.DropDownWidth = 250;
  	this.comboBox3.Items.AddRange(new object[] {
                 "80GB Serial ATA (7200rpm) (80S) [add $39]",
                 "160GB Serial ATA (7200rpm) (160S) [add $49]",
                 "250GB Serial ATA (7200rpm) (250S) [add $100]",
                 "400GB Serial ATA (7200rpm) (400S) [add $310]"});
  	this.comboBox3.Location = new System.Drawing.Point(24, 248);
  	this.comboBox3.Name = "comboBox3";
  	this.comboBox3.Size = new System.Drawing.Size(320, 21);
  	this.comboBox3.TabIndex = 2;
  	this.comboBox3.Text = "Select Hard Drive Desired";
  	// 
  	// comboBox4
  	// 
  	this.comboBox4.DropDownWidth = 325;
  	this.comboBox4.Items.AddRange(new object[] {
                 "16X CD/DVD burner (DVD+/-RW) [add $20]",
                 "16x DVD-ROM Drive + 16x DVD+/-RW  [add $30]",
                 "24X CD-RW / DVD Combo Drive [add $40]",
                 "8X CD/DVD burner (DVD+/-RW) [add $50]"});
  	this.comboBox4.Location = new System.Drawing.Point(24, 304);
  	this.comboBox4.Name = "comboBox4";
  	this.comboBox4.Size = new System.Drawing.Size(320, 21);
  	this.comboBox4.TabIndex = 3;
  	this.comboBox4.Text = "Select CD-Rom Desired";
  	// 
  	// comboBox5
  	// 
  	this.comboBox5.DropDownWidth = 200;
  	this.comboBox5.Items.AddRange(new object[] {
                 "3.5 inches Floppy Drive 1.44MB [add $30]",
                 "None [add $0]"});
  	this.comboBox5.Location = new System.Drawing.Point(24, 360);
  	this.comboBox5.MaxDropDownItems = 5;
  	this.comboBox5.Name = "comboBox5";
  	this.comboBox5.Size = new System.Drawing.Size(320, 21);
  	this.comboBox5.TabIndex = 4;
  	this.comboBox5.Text = "Select Floppy Drive Desired";
  	// 
  	// comboBox6
  	// 
  	this.comboBox6.Items.AddRange(new object[] {
                 "USB Keyboard  [add $20] ",
                 "Wireless Keyboard [add $50]"});
  	this.comboBox6.Location = new System.Drawing.Point(24, 416);
  	this.comboBox6.Name = "comboBox6";
  	this.comboBox6.Size = new System.Drawing.Size(320, 21);
  	this.comboBox6.TabIndex = 5;
  	this.comboBox6.Text = "Select Keyboard Desired";
  	// 
  	// comboBox7
  	// 
  	this.comboBox7.DropDownWidth = 245;
  	this.comboBox7.Items.AddRange(new object[] {
                 "15 inch E153FP Analog Flat Panel [add $100] ",
                 "17 inch E173FP Analog Flat Panel [add $160]",
                 "20 inch UltraSharp? Widescreen Digital Flat Panel [add $270]",
                 "No Monitor [add $0]"});
  	this.comboBox7.Location = new System.Drawing.Point(24, 472);
  	this.comboBox7.Name = "comboBox7";
  	this.comboBox7.Size = new System.Drawing.Size(320, 21);
  	this.comboBox7.TabIndex = 6;
  	this.comboBox7.Text = "Select Monitor Desired";
  	// 
  	// comboBox8
  	// 
  	this.comboBox8.DropDownWidth = 250;
  	this.comboBox8.Items.AddRange(new object[] {
                 "Dell? 2-button USB mouse [add $19] ",
                 "Dell Optical USB Mouse [add $29]",
                 "Logitech? MX? 518 Optical Mouse [add $50]",
                 "No Mouse [add $0]"});
  	this.comboBox8.Location = new System.Drawing.Point(24, 528);
  	this.comboBox8.Name = "comboBox8";
  	this.comboBox8.Size = new System.Drawing.Size(320, 21);
  	this.comboBox8.TabIndex = 7;
  	this.comboBox8.Text = "Select Mouse Desired";
  	// 
  	// label1
  	// 
  	this.label1.Font = new System.Drawing.Font("Edwardianpt ITC", 25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
  	this.label1.Location = new System.Drawing.Point(184, 8);
  	this.label1.Name = "label1";
  	this.label1.Size = new System.Drawing.Size(288, 48);
  	this.label1.TabIndex = 8;
  	this.label1.Text = "Customize Your Computer";
  	// 
  	// label2
  	// 
  	this.label2.Font = new System.Drawing.Font("Microsoft Serif", 8.6F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
  	this.label2.Location = new System.Drawing.Point(88, 88);
  	this.label2.Name = "label2";
  	this.label2.Size = new System.Drawing.Size(72, 16);
  	this.label2.TabIndex = 9;
  	this.label2.Text = "First Name";
  	// 
  	// textBox1
  	// 
  	this.textBox1.AcceptsTab = true;
  	this.textBox1.Location = new System.Drawing.Point(168, 88);
  	this.textBox1.Name = "textBox1";
  	this.textBox1.Size = new System.Drawing.Size(120, 20);
  	this.textBox1.TabIndex = 10;
  	this.textBox1.Text = "";
  	// 
  	// label3
  	// 
  	this.label3.Font = new System.Drawing.Font("Microsoft Serif", 8.6F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
  	this.label3.Location = new System.Drawing.Point(376, 88);
  	this.label3.Name = "label3";
  	this.label3.Size = new System.Drawing.Size(72, 16);
  	this.label3.TabIndex = 11;
  	this.label3.Text = "Last Name";
  	// 
  	// textBox2
  	// 
  	this.textBox2.AcceptsTab = true;
  	this.textBox2.Location = new System.Drawing.Point(448, 88);
  	this.textBox2.Name = "textBox2";
  	this.textBox2.Size = new System.Drawing.Size(128, 20);
  	this.textBox2.TabIndex = 12;
  	this.textBox2.Text = "";
  	// 
  	// pictureBox1
  	// 
  	this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image
  	this.pictureBox1.Location = new System.Drawing.Point(512, 8);
  	this.pictureBox1.Name = "pictureBox1";
  	this.pictureBox1.Size = new System.Drawing.Size(64, 64);
  	this.pictureBox1.TabIndex = 14;
  	this.pictureBox1.TabStop = false;
  	// 
  	// button1
  	// 
  	this.button1.FlatStyle = System.Windows.Forms.FlatStyle.System;
  	this.button1.ImageAlign = System.Drawing.ContentAlignment.TopCenter;
  	this.button1.Location = new System.Drawing.Point(144, 568);
  	this.button1.Name = "button1";
  	this.button1.Size = new System.Drawing.Size(80, 24);
  	this.button1.TabIndex = 16;
  	this.button1.Text = "Add To Cart";
  	this.button1.Click += new System.EventHandler(this.button1_Click);
  	// 
  	// groupBox1
  	// 
  	this.groupBox1.Controls.Add(this.textBox3);
  	this.groupBox1.Controls.Add(this.label13);
  	this.groupBox1.Controls.Add(this.label12);
  	this.groupBox1.Controls.Add(this.label11);
  	this.groupBox1.Controls.Add(this.label10);
  	this.groupBox1.Controls.Add(this.label9);
  	this.groupBox1.Controls.Add(this.label8);
  	this.groupBox1.Controls.Add(this.label7);
  	this.groupBox1.Controls.Add(this.label6);
  	this.groupBox1.Controls.Add(this.label5);
  	this.groupBox1.Controls.Add(this.label4);
  	this.groupBox1.Location = new System.Drawing.Point(368, 136);
  	this.groupBox1.Name = "groupBox1";
  	this.groupBox1.Size = new System.Drawing.Size(320, 456);
  	this.groupBox1.TabIndex = 17;
  	this.groupBox1.TabStop = false;
  	this.groupBox1.Text = "Items on your Cart";
  	// 
  	// label12
  	// 
  	this.label12.Font = new System.Drawing.Font("Microsoft Serif", 8.9F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
  	this.label12.Location = new System.Drawing.Point(16, 16);
  	this.label12.Name = "label12";
  	this.label12.Size = new System.Drawing.Size(296, 32);
  	this.label12.TabIndex = 8;
  	// 
  	// label11
  	// 
  	this.label11.Location = new System.Drawing.Point(16, 392);
  	this.label11.Name = "label11";
  	this.label11.Size = new System.Drawing.Size(288, 24);
  	this.label11.TabIndex = 7;
  	// 
  	// label10
  	// 
  	this.label10.Location = new System.Drawing.Point(16, 344);
  	this.label10.Name = "label10";
  	this.label10.Size = new System.Drawing.Size(288, 32);
  	this.label10.TabIndex = 6;
  	// 
  	// label9
  	// 
  	this.label9.Location = new System.Drawing.Point(16, 304);
  	this.label9.Name = "label9";
  	this.label9.Size = new System.Drawing.Size(288, 24);
  	this.label9.TabIndex = 5;
  	// 
  	// label8
  	// 
  	this.label8.Location = new System.Drawing.Point(16, 264);
  	this.label8.Name = "label8";
  	this.label8.Size = new System.Drawing.Size(288, 24);
  	this.label8.TabIndex = 4;
  	// 
  	// label7
  	// 
  	this.label7.Location = new System.Drawing.Point(16, 216);
  	this.label7.Name = "label7";
  	this.label7.Size = new System.Drawing.Size(288, 24);
  	this.label7.TabIndex = 3;
  	// 
  	// label6
  	// 
  	this.label6.Location = new System.Drawing.Point(16, 168);
  	this.label6.Name = "label6";
  	this.label6.Size = new System.Drawing.Size(288, 32);
  	this.label6.TabIndex = 2;
  	// 
  	// label5
  	// 
  	this.label5.Location = new System.Drawing.Point(16, 112);
  	this.label5.Name = "label5";
  	this.label5.Size = new System.Drawing.Size(288, 40);
  	this.label5.TabIndex = 1;
  	// 
  	// label4
  	// 
  	this.label4.Location = new System.Drawing.Point(16, 64);
  	this.label4.Name = "label4";
  	this.label4.Size = new System.Drawing.Size(288, 32);
  	this.label4.TabIndex = 0;
  	// 
  	// label13
  	// 
  	this.label13.Location = new System.Drawing.Point(168, 432);
  	this.label13.Name = "label13";
  	this.label13.Size = new System.Drawing.Size(40, 16);
  	this.label13.TabIndex = 9;
  	this.label13.Text = "Total";
  	// 
  	// textBox3
  	// 
  	this.textBox3.Location = new System.Drawing.Point(208, 424);
  	this.textBox3.Name = "textBox3";
  	this.textBox3.TabIndex = 10;
  	this.textBox3.Text = "$";
  	// 
  	// Form1
  	// 
  	this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
  	this.ClientSize = new System.Drawing.Size(712, 606);
  	this.Controls.Add(this.groupBox1);
  	this.Controls.Add(this.button1);
  	this.Controls.Add(this.pictureBox1);
  	this.Controls.Add(this.textBox2);
  	this.Controls.Add(this.label3);
  	this.Controls.Add(this.textBox1);
  	this.Controls.Add(this.label2);
  	this.Controls.Add(this.label1);
  	this.Controls.Add(this.comboBox8);
  	this.Controls.Add(this.comboBox7);
  	this.Controls.Add(this.comboBox6);
  	this.Controls.Add(this.comboBox5);
  	this.Controls.Add(this.comboBox4);
  	this.Controls.Add(this.comboBox3);
  	this.Controls.Add(this.comboBox2);
  	this.Controls.Add(this.comboBox1);
  	this.Name = "Form1";
  	this.Text = "Form1";
  	this.groupBox1.ResumeLayout(false);
  	this.ResumeLayout(false);

  }
  #endregion

  public class Part
  { // begins class Part
  
  	private
    int hardware;
  	int dataCount;
  	double qty;

  	public
    Part() {} // default constructor
  	void parts_Name(int parts)
  	{
    this.hardware = parts;
  	}

  	void parts_Price(double price)
  	{
    this.qty = price;
  	}

  /*	void storeInFile()
  	{
    FileStream file = new FileStream("computer.dat", FileMode.OpenOrCreate, FileAccess.Write);

    
    for (int i=0; i&lt;d-&gt;dataCount; i++)
    {
    	file &lt;&lt; d-&gt;pb[i].processor &lt;&lt;"\n\n";
    	file &lt;&lt; d-&gt;pb[i].memory &lt;&lt;"\n"&lt;&lt; endl; 
    	file &lt;&lt; d-&gt;pb[i].harddrive &lt;&lt;"\n"&lt;&lt; endl; 
    	file &lt;&lt; d-&gt;pb[i].cdrom &lt;&lt;"\n"&lt;&lt; endl;
    	file &lt;&lt; d-&gt;pb[i].floppydrive &lt;&lt;"\n"&lt;&lt; endl; 
    	file &lt;&lt; d-&gt;pb[i].keyboard &lt;&lt;"\n"&lt;&lt; endl; 
    	file &lt;&lt; d-&gt;pb[i].monitor &lt;&lt;"\n"&lt;&lt; endl; 
    	file &lt;&lt; d-&gt;pb[i].mouse &lt;&lt;"\n"&lt;&lt; endl;
    }
    file.Close();	// close computer.dat
  	}
  	*/

  	void storeInFile()
  	{
    // create a file stream, for "computer.dat"
    FileStream fs = new FileStream("computer.dat", FileMode.CreateNew, FileAccess.ReadWrite);
    // create a stream writer
    StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.ASCII);

    //write to file (buffer), where textBox1 is your text box
    sw.Write(label4.Text.ToString() + Environment.NewLine);
    sw.Write(label5.Text.ToString() + Environment.NewLine);
    sw.Write(label6.Text.ToString() + Environment.NewLine);
    sw.Write(label7.Text.ToString() + Environment.NewLine);
    sw.Write(label8.Text.ToString() + Environment.NewLine);
    sw.Write(label9.Text.ToString() + Environment.NewLine);
    sw.Write(label10.Text.ToString() + Environment.NewLine);
    sw.Write(label11.Text.ToString() + Environment.NewLine);

    // flush buffer (so the text really goes into the file)
    sw.Flush();
    // close stream writer and file
    sw.Close();
    fs.Close();
  	}




  } // end class Part

  public class Processor :  Part
  {
            
  }

  public class Memory : Part
  {

  }

  public class HardDrive : Part
  {

  }

  public class CDRom : Part
  {

  }

  public class Floppy : Part
  {

  }

  public class Keyboard : Part
  {

  }

  public class Monitor : Part
  {

  }

  public class Mouse : Part
  {

  }


  


  /// &lt;summary&gt;
  /// The main entry point for the application.
  /// &lt;/summary&gt;
  [STAThread]
  static void Main() 
  {
  	Application.Run(new Form1());
  }



  private void button1_Click(object sender, System.EventArgs e)
  {
  	label12.Text = textBox1.Text += textBox2.Text += ", thanks for selecting us as your preferred brand!";
  	label4.Text = comboBox1.Text;
  	label5.Text = comboBox2.Text;
  	label6.Text = comboBox3.Text;
  	label7.Text = comboBox4.Text;
  	label8.Text = comboBox5.Text;
  	label9.Text = comboBox6.Text;
  	label10.Text = comboBox7.Text;
  	label11.Text = comboBox8.Text;

  } // end button1_Click


	}
}

    

  • 0
  marie said:
Why it isnt C#?

What is wrong?

It is working, what i still need it to do, is safe the selections into a .dat file and calculate the total.

586574987[/snapback]

The context in which you are using the << operator is OK for C++ because the ostream overloads it to write to the stream. However, the <</>> operators in C# are bitshift operators. When you create streams in C#, you use the methods on the object to read and write with them.

By the way, you can use the WriteLine method to avoid having to concatenate the Environment.NewLine to your output.

  • 0
  Kawahee said:
This is why I love unmanaged C++, no bull**** :)

586574866[/snapback]

i wouldnt say its "bull****" just another way to do things, other may find c++ "bull****" with C# here to help. Heck, the crazy VB :wacko: or assembly :wacko: :wacko: :wacko: people may look down at c++ folks

  • 0

You're trying to access the labels from inside another class. You can't do that. This is a quick workaround.

A new storeInFile

  void storeInFile()
  {
   // create a file stream, for "computer.dat"
   FileStream fs = new FileStream("computer.dat", FileMode.CreateNew, FileAccess.ReadWrite);
   // create a stream writer
   StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.ASCII);

   //write to file (buffer), where textBox1 is your text box
   sw.WriteLine(owner.label4.Text);
   sw.WriteLine(owner.label5.Text);
   sw.WriteLine(owner.label6.Text);
   sw.WriteLine(owner.label7.Text);
   sw.WriteLine(owner.label8.Text);
   sw.WriteLine(owner.label9.Text);
   sw.WriteLine(owner.label10.Text);
   sw.Write(owner.label11.Text);

   // close stream writer and file
   sw.Close();
   fs.Close();
  }

A new constructor for 'Part'

  private Form1 owner;
  public Part(Form1 Owner)
  {
  	owner = Owner;
  }

Each inheritted part will need to look like this now: (For whatever reason, we can't simply inherit constructors and ignore this crap. Go figure.)

 public class Memory : Part
 {
  public Memory(Form1 Owner) : base(Owner)
  {
  }
 }

Also, from a purely observational standpoint, why is this a windows application? This seems like something that would be much better suited to a web application.

  • 0

This is a windows application, because the professor asked for it to be a windows application..

;)

and by the way, what does

  private Form1 owner;

does?

Sorry for all the questions, i really need to get this to work, but i also really want to learn from it.

C# to me, seems more interesting that C++.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Hopefully this will turn out to be the same/better than the old LOTR BFME series. Been nothing decent on the RTS scene for a long time now. Anything that does come out tends to be pretty mediocre. A new C&C Generals series would sell well
    • It make sense only if they want to hide the minority of changes of each new version
    • Trade up with Sterling Stock Picker now price dropped by 85% by Steven Parker Today's highlighted deal comes via our Apps + Software section of the Neowin Deals store, where you can save 85% off on a lifetime subscription to Sterling Stock Picker. Sterling Stock Picker (SSP) is an award-winning platform designed to make stock investing accessible to everyone, regardless of expertise. The software offers multiple methods to identify winning stocks that align with your personal values, investment preferences, and risk tolerance. By handling all the complex calculations, it allows you to focus on making informed investment decisions. The patent-pending North Star technology provides clear guidance on whether to buy, sell, hold, or avoid a particular stock. Ask Finley, your personal AI financial coach Finley is your personal AI financial coach providing real-time data access, strategic investment advice, risk assessment, and educational support to help you make informed decisions. Whether you're a seasoned investor or just starting, Finley is equipped to help you achieve your financial goals. Feel free to ask any questions about your portfolio or the stock market. PERSONALIZED FINANCIAL GUIDANCE Custom Recommendations: Get stock picks tailored to your risk tolerance, portfolio performance, and investment goals. Dynamic Insights: Access detailed financial, technical, earnings, growth, and risk analysis for smarter investing. ENHANCED PORTFOLIO MANAGEMENT Done-For-You Portfolio Builder: Easily construct a diversified portfolio based on your risk tolerance and investment goals. Analysis and Suggestions: Receive data-driven portfolio adjustments to optimize returns based on your risk acceptance score. Risk Assessment Overview: Understand your risk level and receive stock recommendations aligned with your investment strategy. STRATEGIC INVESTMENT ADVICE Stock Rockets: Discover top-performing companies with over 50% quarterly revenue growth and the highest North Star rankings. Concentrated Portfolio Strategy: Focus on high-potential stocks instead of broad diversification to maximize growth. Industry and Sector Insights: Stay ahead with detailed performance narratives and sector-specific trends. EDUCATIONAL SUPPORT & COMMUNITY Verbose Explanations: Break down complex financial concepts with in-depth explanations for beginners. Investment Strategies: Learn and apply various investment strategies with expert-backed insights. Community Chat Forum: Connect with fellow investors to share insights, ask questions, and discuss investment strategies. Build your Stock Portfolio in 3 easy steps! Discover Your Risk Tolerance: Take a quick 5-minute questionnaire to assess your ability to handle risk effortlessly. Search Stocks Aligned With Your Personal Values: Use an intuitive stock-picking interface to confidently find winning stocks. Build Your Portfolio: Utilize the Done-For-You Portfolio Builder to simplify investing and remove the guesswork. Good to know: Length of access: lifetime Redemption deadline: redeem your code within 30 days of purchase Access options: desktop or mobile Only available to new users Updates included A lifetime subscription to Sterling Stock Picker normally has a suggested price of $486, but you can pick it up for just $68.99 for a limited time - that represents a saving of $417 (85% off). For a full description, specs, and license info, click the link below. Sterling Stock Picker lifetime subscription for $68.99 (was $486) Although priced in U.S. dollars, this deal is available for digital purchase worldwide. We post these because we earn commission on each sale so as not to rely solely on advertising, which many of our readers block. It all helps toward paying staff reporters, servers and hosting costs. Other ways to support Neowin Whitelist Neowin by not blocking our ads Create a free member account to see fewer ads Make a donation to support our day to day running costs Subscribe to Neowin - for $14 a year, or $28 a year for an ad-free experience Disclosure: Neowin benefits from revenue of each sale made through our branded deals site powered by StackCommerce.
    • What if... both hardware AND software (due to their annual release cycles) got matching year release numbers? iPhone Pro 26 releases with iOS 26... For Macs, that'd be MacBook Pro 2026 releases with macOS 26 baked-in. With this proposal, the Major Version signifies latest-stable for both hardware and software, and gives them wiggle-room to optimize iOS releases for older hardware by a few months... while also incentivizing consumers to upgrade hardware for the latest-greatest software. (It would double-down on breaking their old support strategy but that's not a bad thing.)
  • Recent Achievements

    • Week One Done
      abortretryfail earned a badge
      Week One Done
    • First Post
      Mr bot earned a badge
      First Post
    • First Post
      Bkl211 earned a badge
      First Post
    • One Year In
      Mido gaber earned a badge
      One Year In
    • One Year In
      Vladimir Migunov earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      492
    2. 2
      +FloatingFatMan
      256
    3. 3
      snowy owl
      248
    4. 4
      ATLien_0
      225
    5. 5
      +Edouard
      189
  • Tell a friend

    Love Neowin? Tell a friend!