Hirdetés

2024. június 13., csütörtök

Gyorskeresés

Hozzászólások

(#7351) Flowtation


Flowtation
őstag

Sziasztok!
Kipihenve, megírtam ezt a kódot:
namespace gyakorlas
{
public partial class Szamolas : Form
{

public Szamolas()
{
InitializeComponent();
}


private void btnOsszead_Click(object sender, EventArgs e)
{
float elso = float.Parse(txtElso.Text);
float masodik = float.Parse(txtMasodik.Text);
float eredmeny;
eredmeny = elso + masodik;
lblEredmeny.Text = Convert.ToString(eredmeny);
}

private void btnKivonas_Click(object sender, EventArgs e)
{
float elso = float.Parse(txtElso.Text);
float masodik = float.Parse(txtMasodik.Text);
float eredmeny;
eredmeny = elso - masodik;
lblEredmeny.Text=Convert.ToString(eredmeny);
}

private void btnSzoroz_Click(object sender, EventArgs e)
{
float elso = float.Parse(txtElso.Text);
float masodik = float.Parse(txtMasodik.Text);
float eredmeny;
eredmeny = elso * masodik;
lblEredmeny.Text = Convert.ToString(eredmeny);
}

private void btnOszt_Click(object sender, EventArgs e)
{
float elso = float.Parse(txtElso.Text);
float masodik = float.Parse(txtMasodik.Text);
float eredmeny;
eredmeny = elso / masodik;
lblEredmeny.Text = Convert.ToString(eredmeny);
}
}
}

Ez most így működik, annyi kitétellel, hogy csak vesszőt szabad beírni, mondjuk ez nem olyan nagy gond. A kérdésem viszont az lenne, hogy minden egyes eseménykezelésnél meg kell adnom a változót vagy lehet ezt előre definiálni?
A float csak próba miatt van, gondolom a double jobb lenne.

[ Szerkesztve ]

Keresek: D-link covr-1102 2 pack routert.

(#7352) alfa20 válasza Flowtation (#7351) üzenetére


alfa20
senior tag

előre is definiálható:

namespace gyakorlas
{
public partial class Szamolas : Form
{
static float elso;
static float masodik;
static float eredmeny;

public Szamolas()
{
InitializeComponent();
}


private void btnOsszead_Click(object sender, EventArgs e)
{
elso = float.Parse(txtElso.Text);
masodik = float.Parse(txtMasodik.Text);
eredmeny = elso + masodik;
lblEredmeny.Text = Convert.ToString(eredmeny);
}

"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)

(#7353) Peter Kiss válasza alfa20 (#7352) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Static?

(#7354) Flowtation válasza Peter Kiss (#7353) üzenetére


Flowtation
őstag

Már épp akartam kérdezni, hogy az mire való? Mert én is próbáltam definiálni itt a változókat, és szépen működik így is, úgy is. :F

Keresek: D-link covr-1102 2 pack routert.

(#7355) alfa20 válasza Peter Kiss (#7353) üzenetére


alfa20
senior tag

Nem feltétlen muszály, de kezdőnek egyszerűbb

class Program
{

static string szoveg;

public static void Main(string[] args)
{
szoveg = "Szia!";

Console.Write("{0}", szoveg);
Console.ReadKey();
}
}

másképp, de mivel én is most tanulgatom, így tőlem ennyire telik ... még :) :

class Program
{
public string szo;
static string szoveg;

public static void Main(string[] args)
{
szoveg = "Szia";

Program p = new Program();
p.szo = "!";

Console.Write("{0} {1}", szoveg, p.szo);
Console.ReadKey();
}
}

#7354: nézd meg ezt a videot., meg az utána következő 3-at.

[ Szerkesztve ]

"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)

(#7356) Alexios válasza alfa20 (#7355) üzenetére


Alexios
veterán

De nem egyszerűbb - a különbség a te kódodban hogy statikus metódusból próbálsz elérni osztályváltozót, nála viszont ez nem állt fenn, szóval esetében teljesen fölösleges.

[ Szerkesztve ]

(#7357) tboy93 válasza Flowtation (#7354) üzenetére


tboy93
nagyúr

Egy rovid pelda.

Van egy Fruit osztalyod, legyen benne egy static int x es egy int y.

class Fruit{
static int x = 0;
int y = 0;
}

Ha peldanyositod az osztalyt es letrehozol belole mondjuk egy Alma es egy Korte objektumot, akkor a kovetkezo fog tortenni.

Az y letrejon az Almaban es a Korteben is, ket kulonbozo valtozo lesz, semmi kozuk nem lesz egymashoz.

Az x azonban, mivel static, osztalyszintu valtozo, ezert az nem jon letre kulon-kulon az Alma es Korte objektumoknal, abbol csak egyetlen egy darab van, amin az osszes Fruit osztalybol letrehozott objektum osztozkodik.

Tehat ha az Alma.x-et megvaltoztatod 0-rol 5-re, akkor utana ha lekerdezed a Korte.x-et 5-ot fogsz visszakapni eredmenyul.

Ez ugye az y-nal nem igy lesz, ott ha atirod az Alma y-jat 5-re, attol meg a Korte 0 marad.

Eleg pongyola megfogalmazas, de igy talan atjon mire valo :B

[ Szerkesztve ]

(#7358) tboy93


tboy93
nagyúr

Rögtön egy kerdes az okosabbakhoz, jol emlékszem hogy a lokalis valtozok a stacken, a static valtozok viszont a heapen helyezkednek el? :F

(#7359) Alexios válasza tboy93 (#7357) üzenetére


Alexios
veterán

Neked sincs igazad :D

Ugyanis ha statikusan hozol létre egy változót akkor nem lesz olyan hogy Alma.x és Korte.x csak Fruit.x-ként tudod elérni, így pedig máris nem lehet azzal összezavarni, hogy ha az egyikben változtattad miért változott a másikban is.

Illetve a kérdésedhez:
A statikus változók nagyon nem is helyezkedhetnének a managed heap-en kívül máshol, de a lokális változók is ott helyezkednek el.

[ Szerkesztve ]

(#7360) tboy93 válasza Alexios (#7359) üzenetére


tboy93
nagyúr

:R

(#7361) dipeti


dipeti
senior tag

Nulláról kezdeném az ASP.NET-et. Eddig php-ztam ami web volt. Természetesen C# alapok megvannak. Úgy érzem előszőr célszerű lenne a sima webappot nézegetnem, utána jöhet az MVC. Milyen angol nyelvű anyagot ajánlanátok? Egyéb tanács?

Some say I'm condescending. That means I talk down to people.

(#7362) mobal válasza dipeti (#7361) üzenetére


mobal
MODERÁTOR

Szerintem csak az MVC-vel foglalkozz. De gondolom PHP során nem használtad ezt a tervezési mintát.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#7363) Alexios válasza dipeti (#7361) üzenetére


Alexios
veterán

Ha webapp alatt webformsra gondolsz akkor ha nem akarsz rosszat magadnak, illetve munka/iskola stb miatt nem muszáj ne eroltesd, egyáltalán nem előfeltétele az mvc-nek sőt. Abból van elég sok tutorial (pl. A music storeos ami most eszembe jut és egész jó)

(#7364) lord.lakli válasza dipeti (#7361) üzenetére


lord.lakli
őstag

(#7365) dipeti


dipeti
senior tag

Dede, php-ban MVC-ztem. Csak gondoltam, hogy nem art megerteni, hogyan mukodik a webforms es onnan lehet szintet lepni MVC-re. De nem nagyon talalok anyagot webformsrol. (MVC-rol rengeteg van)

Akkor szerintetek tejesen felesleges webformsozni?

[ Szerkesztve ]

Some say I'm condescending. That means I talk down to people.

(#7366) Alexios válasza dipeti (#7365) üzenetére


Alexios
veterán

Mivel alapvetően a webforms nem az mvc alapja, ezért nem tudsz onnan szintet lépni, mert tök más a kettő, a webforms megértésével nem kerülsz közelebb a másikhoz. Én manapság biztos nem szopatnám magam webforms-al hacsak nem kényszerítenek rá.

Ha már szintlépés akkor (szerintem) érdemesebb az mvc 5-el foglalkozni, majd utána a core-al

[ Szerkesztve ]

(#7367) lord.lakli válasza dipeti (#7365) üzenetére


lord.lakli
őstag

Ahogy írják mások is webforms csak akkor ha muszáj. ASP.NET Core már más tészta.

(#7368) mobal válasza dipeti (#7365) üzenetére


mobal
MODERÁTOR

Csak MVC. A többivel foglalkozni 2016-ban szimplán hülyeség.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#7369) dipeti


dipeti
senior tag

Koszonom! :R

Some say I'm condescending. That means I talk down to people.

(#7370) lorcsi


lorcsi
veterán

double szam_egy;
double szam_ketto = 5.2;
Console.WriteLine("adjon meg egy számot:");
Console.ReadKey();
szam_egy = Convert.ToDouble(Console.ReadLine());

double osszeg = szam_egy + szam_ketto;

Console.WriteLine("Szam egy: {0} szam ketto {1} Összeg: {2}", szam_egy, szam_ketto, osszeg);
Console.ReadLine();

a szam_egy konvertálásánál van problémája(nem megfelelő a bemeneti formátum), ha nem egészet írok be pl: 5.4
hogy alakítsam át, h jó legyen ?

(#7371) harylmu válasza lorcsi (#7370) üzenetére


harylmu
őstag

ilyen esetekben mindig feltételezem, hogy nem én vagyok az első aki ezzel találkozott.

[link]

első stackoverflow találat.

(#7372) Alexios válasza lorcsi (#7370) üzenetére


Alexios
veterán

Double.parse esetleg? Illetve lehet területi problémája van és vesszőt vár tizedes elvalasztonak

(#7373) lorcsi válasza harylmu (#7371) üzenetére


lorcsi
veterán

tx, ez gyors volt :)
annyira kezdő vagyok , h azt sem tudtam hogy keressek..de idővel ez is elfog jönni.. :)

(#7374) Rolplay


Rolplay
csendes tag

Hali! C# de picit off....... Szóval unity-ben lenne egy inventory rendszerem... Felveszem az itemet, berakom a megfelelo slotra és az alpha1/2 re nem veszi a kezébe..... Miért lehet? http://pastebin.com/LRZ2EQHv

Rolplay

(#7375) mobal


mobal
MODERÁTOR

Támadt egy hülye ötletem (bot).

Van valakinek tapasztalata azzal, hogy tudnék úgy screenshotot készíteni egy processről, hogy nem aktív az ablak és nem is mozgatja el az egeret?

Szerk.: hát így. :)

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#7376) semij9699


semij9699
csendes újonc

Sziasztok!
c# ba hogy oldom meg azt, hogy van két buttonom és ha az egyikre kattintok akkor a másik enabled tulajdonsága az ellentétére változik? és akárhányszor kattintsak(ez lenne lényegibb)
Kösz előre is

(#7377) Alexios válasza semij9699 (#7376) üzenetére


Alexios
veterán

C#-hoz ennek viszonylag kevés köze van, akkor már inkább a keretrendszered - gondolom winforms vagy wpf. Legegyszerűbb megoldás ha az eseménykezelőjükben(click esemény) megváltoztatod a másik gomb enabled-jét az ellenkezőjére. Nagyon egyszerűen pl. Button.IsEnabled = !Button.IsEnabled
,vagy rakhatsz egy elágazást is hogy
if(Button.IsEnabled == false)
{
Button.IsEnabled = true;
} else
{
Button.IsEnabled = false;
}

Aztán persze lehetnek erre szebb megoldások, de gondolom neked most inkább ilyesmi kell :D

[ Szerkesztve ]

(#7378) semij9699 válasza Alexios (#7377) üzenetére


semij9699
csendes újonc

jó volt köszi de az IsEnabledöt nem ismerte fel

(#7379) lorcsi


lorcsi
veterán

ez a progi azt csinálná, hogy adott cipőméretet keres ki a bekértek alapján
viszont a végén az összegzésnél, a kiírásnál hibát ad
nem tudok rájönni mi lehet a gond :(

static void Main(string[] args)
{
int db;
db = 0;
int t;

Console.WriteLine("Cipomeret kereso program");
Console.WriteLine("Adja meg a keresett cipőméretet!");

t = Convert.ToInt32(Console.ReadLine());
int a ;
do
{
Console.WriteLine("Adjon meg cipőméreteket nulla végjelig!");

a = Convert.ToInt32(Console.ReadLine());
if ( a == t)
db= db + 1;
}while (a != 0);
Console.WriteLine("{0) méretű cipőből {1} darab van ", t, db); --itt ad hibát format Exception was unhandled
Console.ReadKey();


}
}
}

(#7380) Peter Kiss válasza lorcsi (#7379) üzenetére


Peter Kiss
senior tag
LOGOUT blog

"{0) méretű cipőből {1} darab van "

---^-------------------

"{0} méretű cipőből {1} darab van "

(#7381) lorcsi válasza Peter Kiss (#7380) üzenetére


lorcsi
veterán

:R
nincs még szemem az iylen apróbb dolgokhoz

(#7382) semij9699


semij9699
csendes újonc

Sziasztok valaki tudna segíteni a folytatásban?
A lényeg az ,hogy irja ki a bekért két szám közötti intervallumban a hárommal osztható számok darabszámt.
Eddig egy erős kezdésem van :D :D

int a = int.Parse(kezdoTxt.Text);
int b = int.Parse(vegTxt.Text);

for (int cv = a; cv <= b; cv++)

Köszönöm előre is

[ Szerkesztve ]

(#7383) Alexios válasza semij9699 (#7382) üzenetére


Alexios
veterán

mármint mi nem megy? a 3-al való osztás vizsgálata?

int a = int.Parse(kezdoTxt.Text);
int b = int.Parse(vegTxt.Text);

for (int cv = a; cv <= b; cv++){
if(cv%3 == 0){
Console.WriteLine(cv);
}
}

szerk: upsz, most látom a darabszáma kell, nem kiiratni, de ebből már mennie kéne :D

[ Szerkesztve ]

(#7384) semij9699


semij9699
csendes újonc

Nem :D (mondjuk ezt a részt lehagytam igaz)
Hanem hogy írja ki a darabszámot .
foreach-et használjuk erre? ha igen azt hogyan :D

[ Szerkesztve ]

(#7385) Alexios válasza semij9699 (#7384) üzenetére


Alexios
veterán

A fenti válaszomba ha a cikluson kívül megadsz egy intet mittudomén int darab = 0, majd ha az if-en belül mindig növeled egyel, meg is van a darabszám. foreach itt nem igazán játszik

(#7386) semij9699 válasza Alexios (#7385) üzenetére


semij9699
csendes újonc

:R
Upd.:

int a = int.Parse(kezdoTxt.Text);
int b = int.Parse(vegTxt.Text);
int db = 0;
for (int cv = a; cv <= b; cv++)
if (cv % 3 == 0)
{

db++;

}
eredmenyLbl.Text = db.ToString();

Ez így nem tűnik rossznak ugye?

[ Szerkesztve ]

(#7387) Alexios válasza semij9699 (#7386) üzenetére


Alexios
veterán

nem szép, de működnie kell :D

(#7388) sztanozs válasza semij9699 (#7386) üzenetére


sztanozs
veterán

Vagy ciklus nélkül...

int a = int.Parse(kezdoTxt.Text);
int b = int.Parse(vegTxt.Text);
int db = 0;
db = (b - a) / 3;
if ((a % 3) > (b % 3)) db++;
if ((a % 0) == 0) db++;

eredmenyLbl.Text = db.ToString();

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#7389) Flowtation válasza sztanozs (#7388) üzenetére


Flowtation
őstag

Szia!
Egy kicsit szájbarágósan le tudnád írni, hogy pontosan mi mit és miért csinál?
Köszönöm!

Keresek: D-link covr-1102 2 pack routert.

(#7390) sztanozs válasza Flowtation (#7389) üzenetére


sztanozs
veterán

Minden harmadik szám osztható hárommal, tehát a két szám közötti különbség harmada:
db = (b - a) / 3;

Ezt módisítani kell az alábbikkal:

Ha a maradékok közül a kisebb számé (a) nagyobb, mint a nagyobbé (b), akkor biztos van közöttük legalább (még)egy hárommal oszhtató, ezzel növeljük eggyel a darabszámot:
if ((a % 3) > (b % 3)) db++;

vagy ha az első szám osztható hárommal, akkor biztos van (még)egy hárommal osztható, ezt hozzá kell adni az eredményhez:
if ((a % 0) == 0) db++;

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#7391) Flowtation válasza sztanozs (#7390) üzenetére


Flowtation
őstag

:R
Ha lassan is de kezd derengeni valami... :)

[ Szerkesztve ]

Keresek: D-link covr-1102 2 pack routert.

(#7392) fatal` válasza Alexios (#7383) üzenetére


fatal`
titán

Darabszám kell.

var db =
Enumerable.Range(int.Parse(kezdoTxt.Text), int.Parse(vegTxt.Text).Count(n => n%3 == 0);
Console.WriteLine($"A megadott intervallumban {db} szám osztható hárommal!");

[ Szerkesztve ]

(#7393) sztanozs válasza fatal` (#7392) üzenetére


sztanozs
veterán

Azért egy jó nagy range esetén számolgat egy darabig :)

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#7394) MineFox54


MineFox54
őstag

Sziasztok!
Kezdő vagyok, bocsi előre is :B
Van mondjuk 8 db Pictureboxom, két sorban, első sorban pb11 pb12, a második sorban pb21 pb22 stb.
Ezeknek a neveit betettem egy tömbbe.

string[] pbnames = {"pb11",[B]...[/B],"pb24"}...

Valamilyen megoldással meg kéne oldanom hogy kiveszem a pbnames tömbből a pictureboxok neveit szépen sorban, és az Image értéküket átállítom.
Valahogy így gondoltam, de ez érthető okok miatt nem megy, mivel itt gyakorlatilag a string tömb egyik elemének az Image értékét szeretné megváltoztatni.

int cnt = 0;
foreach (string pbn in pbnames)
{
pbn.Image = Image.FromFile(images[0]);
}

Köszi előre is!

(#7395) sztanozs válasza MineFox54 (#7394) üzenetére


sztanozs
veterán

Vagy belerakod a pictureboxaidat egy dictionary-ba, így:
Dictionary<string, PictureBox> pboxes = new Dictionary<int, PictureBox>()
{
{ "pb11", pb11},
{ "pb12", pb24},
...
{ "pb24", pb24}
};

És meghívod így:
pboxes("pb14").Image = Image.FromFile(images[3]);

De egyszerűbb programozottan létrehozni ennyi PictureBox-ot, berakni egy tömbbe/Listbe/Dictionary-ba, és nem kézzel felrakni a formra.

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#7396) Alexios válasza sztanozs (#7395) üzenetére


Alexios
veterán

new Dictionary<int, PictureBox>() helyett inkább new Dictionary<string, PictureBox>() :)

(#7397) MineFox54 válasza Alexios (#7396) üzenetére


MineFox54
őstag

Köszi :) :R

(#7399) sztanozs válasza Alexios (#7396) üzenetére


sztanozs
veterán

jaja stackoverflowcopypase error :DDD

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#7400) MineFox54


MineFox54
őstag

Új hiba... :(((

cntk(entry.Value.Name) = cnt[1]; erre
"A(z) „cntk” egy „változó” konstruktor, de „metódus” konstruktorként használva. (CS0118)" hibát dob. A cntk egy Dictionary, string és int értékekkel, gyakorlatilag mindent úgy csinálok vele mint az előbb általad javasolt pboxes dictionary-val, ami szépen működik is.

Remélem kibogozható, lázas vagyok úgyhogy agyilag :(

Copyright © 2000-2024 PROHARDVER Informatikai Kft.