Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C# ja taulukot

Homer81 [15.05.2005 14:24:31]

#

Hei,

Mikä olisi viisain ratkaisu tehdä ja käsitellä taulukoita ja sen tietoa C# windows-sovelluksessa ? Tietoa syötellään taulukkoon ja ne sitten tallennellaan kovolle.

Tarkoitus olisi käsitellä muutamaa, about 6-7 taulukkoa joissa rivejä ja sarakkeita kussakin noin 10x10. Kantaa softaan ei tule joten DataSetin/Gridin käyttö lienee ei onnaa?

Niin- ja voisiko C#-kielelle luoda oman keskusteluosion?

hunajavohveli [15.05.2005 14:29:43]

#

Homer81 kirjoitti:

Niin- ja voisiko C#-kielelle luoda oman keskusteluosion?

Eiköhän se tälle alueelle mahdu muiden joukkoon. Tai sitten Muut-alueelle.

Blaze [15.05.2005 14:33:25]

#

Minä sanon, että muut kielet. Basicin kanssa tällä kun ei ole yhtään mitään tekemistä.

14:30 < sooda> sano sinne "äh, opetelkaa laittaa oikee alue. <@Blaze_> jaa, pitääkö sitä oikeen keskeyttää inuyashankattelu
moderointihommien takia"

Nii, opetelkaa!1 :P

Edit: Niin, ja C#-alueesta: ei sellaiselle näillä viestimäärillä ole minkäänlaista tarvetta. C#:ia koskevat viestit mahtuvat loistavasti tänne muihin kieliin.

Homer81 [15.05.2005 15:56:42]

#

Niin- asiasta ensimmäiseen, miten niiden taulukoiden kanssa? Miten tuota ongelmaa olisi viisain lähestyä?

Metabolix [15.05.2005 16:49:32]

#

Riippuu, mitä tietoa haluat sinne syöttää. Jos taulukko on kokonaisluku- tai jokin muu perustaulu, on helppo käyttää vain tavallista taulua ja tallentaa alkiot tiedostoon järjestyksessä.

[0, 0], [0, 1] ... [0, 9], [1, 0] ...

Muussa tapauksessa tekisin koko systeemistä uuden luokan, joka käsittelisi taulua ja osaisi tarvittaessa muuttaa sen kokoa jne. Tämä luokka voisi sisältää metodit Tallenna(string FileName) ja Lataa(string FileName). Tiedosto voisi olla pseudona rakenteeltaan tällainen:

[int riveja][int sarakkeita]
[int Datan_Pituus][string Data]
[int Datan_Pituus][string Data]
...

Tietenkin binäärimuodossa (eli ei mitään rivinvaihtoja). En ole C#:ssä ehtinyt tutustua string-olioon enkä juuri tiedostoihinkaan, eli en tiedä, millaisena string tallentuu ja voiko niitä ehkä tallentaa ja ladata sellaisenaan peräkkäin useampia, mutta noin se ainakin varmasti toimisi.

Homer81 [15.05.2005 17:20:52]

#

Jooo. Siis nyt tarkotin ihan sellasta graafista taulukkoa, joka on siis esim. saman näkönen kuin Excelin taulukko. Eli mikä olisi c#:lla järkevä tapa toteuttaa tällainen taulukko ikkunaan upotettuna esimerkiksi

Metabolix [15.05.2005 18:54:21]

#

No olipa sitten hankalasti muotoiltu kysymys :(
Jos et halua valmista gridiä käyttää, niin valitse sopiva kontrolli (TextBox, Label, ...), luo niitä haluttu määrä ja asettele ne paikoilleen. Tee vaikka oma luokka, joka luo niitä ja asettelee ne. Tässä vähän alkua:

//...
	public class TMyGrid
	{
		Array Boxit;
		int Rows, Cols;
		System.Windows.Forms.Form Parent;

		public TMyGrid(int Rows_i, int Cols_i, System.Windows.Forms.Form Parent_f)
		{
			Rows = Rows_i;
			Cols = Cols_i;
			Parent = Parent_f;

			Boxit = Array.CreateInstance(typeof(System.Windows.Forms.TextBox), Rows, Cols);

			int X, Y;
			for (X = 0; X < Rows; X++) for (Y = 0; Y < Cols; Y++)
			{
				Boxit.SetValue(new System.Windows.Forms.TextBox(), X, Y);
				((System.Windows.Forms.TextBox)(Boxit.GetValue(X, Y))).Parent = Parent;
				((System.Windows.Forms.TextBox)(Boxit.GetValue(X, Y))).Width = 100;
				((System.Windows.Forms.TextBox)(Boxit.GetValue(X, Y))).Height = 100;
				((System.Windows.Forms.TextBox)(Boxit.GetValue(X, Y))).Top = 10 * Y;
				((System.Windows.Forms.TextBox)(Boxit.GetValue(X, Y))).Left = 10 * X;
			}
		}
	}

Ja tuollainen grid sitten luodaan formille esimerkiksi InitializeComponent-funktiossa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta