Kezdőoldal » Számítástechnika » Programozás » C# feltétel help (? )

C# feltétel help (? )

Figyelt kérdés
üdv,van egy mértékegység átalakító programom c sharp-ban írtam rengeteg if-el oldottam meg és most azt szeretném megoldani,hogy a textboxba amikor az értéket beirjuk akkor csak számot lehessen.C ben régen megtudtam irni,de itt bajba vagyok vele,remélem nem az összes if-be kell beirnom a feltételt,valaki ötlet?

2016. febr. 11. 11:28
1 2
 11/17 SimkoL ***** válasza:

Megmutatom Delphi-ben hogyan képzelném el - működő -:


Kell egy SpinEdit - ami ugye csak számokat enged -

Kell két ComboBox

Kell a 2D tömb ami az átváltás arányszámait tartalmazza


Delphi kód:


const tomb : array[0..3, 0..3] of Single =

((1, 0.001, 0.00001, 0.000001),

(1000, 1, 0.01, 0.001),

(100000, 100, 1, 0.1),

(1000000, 1000, 10, 1));


...


procedure TForm1.Atvalt(Sender: TObject);

begin

Label1.Caption := FormatFloat('0.########', tomb[ComboBox2.ItemIndex, ComboBox1.ItemIndex] * SpinEdit1.Value);

end;


...


//Ez csak azért, hogy lásd a beállításokat:


procedure TForm1.FormCreate(Sender: TObject);

begin

SpinEdit1.OnChange := Atvalt;

with ComboBox1 do

begin

OnChange := Atvalt;

Sorted := False;

Items.Add('Kilométer');

Items.Add('Méter');

Items.Add('Centiméter');

Items.Add('Milliméter');

Style := csDropDownList;

ItemIndex := 0;

end;

with ComboBox2 do

begin

Sorted := False;

Items.AddStrings(ComboBox1.Items);

OnChange := Atvalt;

Style := csDropDownList;

ItemIndex := 0;

end;

end;

2016. febr. 11. 14:22
Hasznos számodra ez a válasz?
 12/17 A kérdező kommentje:
köszönöm a segítségeket,de már megcsináltam az egész átváltót és már hagynám így.
2016. febr. 11. 18:55
 13/17 anonim ***** válasza:

private bool szamE(TextBox mi)

{

bool szam = false;

int tmp;

double tmp2;

if (int.TryParse(mi.Text, out tmp)) szam = true;

if (double.TryParse(mi.Text, out tmp2)) szam = true;

return szam;

}

2016. febr. 12. 15:18
Hasznos számodra ez a válasz?
 14/17 anonim ***** válasza:

ja igen és ezt úgy hívod meg, hogy:


private void textBox1_TextChanged(object sender, EventArgs e)

{

if (szamE(textBox1)) //vagy ami a textbox neve

{

//kódsor

}

}

2016. febr. 12. 15:22
Hasznos számodra ez a válasz?
 15/17 A kérdező kommentje:
köszi,hétvégén kipróbálom!
2016. febr. 12. 16:46
 16/17 A kérdező kommentje:

if (double.TryParse(mi.Text, out tmp2)) szam = true;

ezt a feltételt eltudod magyarázni? :)

2016. febr. 12. 16:53
 17/17 SimkoL ***** válasza:

A ..TryParse() függvénynek van egy visszatérési értéke ami igaz és hamis lehet annak függvényében, hogy az első paraméterként kapott string számmá alakítható-e. A kimenete a második paraméterként kapott változó lesz.

if (double.TryParse(mi.Text, out tmp2)) szam = true;

Tehát ebben az esetben ha a mi.Text számmá alakítható akkor a kimenete - mi.Text 'értéke' - a tmp2 változóban érhető el, az átalakítás 'sikerességét' vizsgálva kap a szám logikai tipusú változó 'igaz' értéket. Ha nem 'sikerült' marad hamis.

2016. febr. 12. 17:10
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!