Új hozzászólás Aktív témák
-
Sziasztok!
Ha egy feladat azt kéri, hogy a memóriában egyidejűleg való tárolás nélkül oldjam meg a részfeladatokat, akkor az pl. már nem jó, hogy a feladat elején beolvastam egy string tömbbe a .txt sorait és ennél a részfeladatnál simán nyomok egy string[].Length()-et, amikor a sorok számát kéri? Tehát itt inkább az a jó, ha végigmegyek egy egyszerű számlálóval a sorokon? Soha nem találkoztam még ezzel a kikötéssel, eléggé félrevezető (nekem).
Ugyanez pl., hogy a következő feladatnál meg kell állapítani, hogy a sor egy bizonyos CHAR-t tartalmaz-e és ha igen, akkor azt megszámolni. Ezt megint könnyedén meg lehet oldani úgy, hogy a feladat elején beolvasott tömböt átadom a függvénynek és végigmegyek for ciklussal, de gondolom akkor ez sem elfogadható. Akkor itt megint soronként végig kell menni tárolás nélkül?
-
Sziasztok!
Van olyan függvény, amivel meg lehet állapítani, hogy mikor történik klikkelés az egérrel? Nem form-on belül értem, hanem mondjuk fut a számláló program a háttérben, de form-on kívül, bármilyen alkalmazásnál számolja. Kerestem, de ilyet sehol nem találok, mindenhol ablakon belüli példák vannak. Köszi!
-
válasz
jbauer05
#4853
üzenetére
A textBox1.Text property tartalmazza a textBox-ba írt szöveget. Ez ugye alapból string, de int.Parse-al át tudod alakítani egésszé a feltételben pl. és egyből ellenőrizni, kisebb-e, nagyobb-e, stb.
Már ha jól értettem, hogy mit akarsz.

if(int.Parse(textBox1.Text) > int.Parse(textBox2.Text))
{
összeadás..
} -
-
Üdv!
Ha egy függvényben kiiratok valamit, majd egy másikban megint és csak itt hívom meg a Console.Clear()-t, akkor az első függvényben kiírt adatokat nem törli. Ezen lehet segíteni valahogy? Tehát az egész console-nak üresnek kéne lennie. Utálom használni ezt a módszert, de olyan beadandót kaptam, amit máshogy jelenleg nem tudok megoldani, szorít az idő is. Köszi.
-
-
-
-
-
Az egy dolog, hogy ti abban fejlesztetek, de rendes támogatás már több, mint egy éve nincs rá. A kezdetektől fogva egy elbaszott technológia. Külön plugin kell hozzá, erőforrás igényes és semmi olyat nem lehet vele csinálni, amit mással ne lehetne megoldani. Kb. mint a Flash, csak rosszabb.
-
-
válasz
martonx
#3281
üzenetére
Egy IntelliSense-hez vagy IntelliTrace-hez képest ezek az új feature-ök századrangú fejlesztéseknek tűnnek és azok is. Tehát egy 2005-ről 2008-ra vagy 2008-ról 2010-re való lépéshez képest ez így nulla.
"Miben tudjon többet a VS2012 ilyen fejlesztéskor, mint a VS2010"
Semmiben, mint ahogy nem is írtam ilyen. Mindenre kiterjedő, tényleg hasznos újításokat kell (kéne) beletenni, mint pl. a fentebb említett dolgok.
-
-
-
válasz
WonderCSabo
#3204
üzenetére
Ez a HashSet kvázi a C++-os vector ekvivalense?
-
válasz
WonderCSabo
#3202
üzenetére
Ilyeneket nem tudok, sorry.

-
válasz
atti1848
#3200
üzenetére
Dobhat, mert gyakorlatilag az idő függvényében generálódnak a számok, így minél kisebb az értéktartomány, annál valószínűbb, hogy lesz több ugyanolyan elem is. Ha késleltetés nélkül fut, akkor meg pláne, hiszen nincs idő nagyobb tartományban generálni, ezért érdemes.
Viszont a késleltetés megtétele után még mindig ott van a Te megoldásod, miszerint ellenőrizheted, hogy nincs-e két ugyanolyan érték a tömbben, egy egymásba ágyazott for ciklussal. Azért ajánlottam előbb a késleltetést, mert ha kicsi az értéktartomány és kvázi majdnem mindig hasonló értéket generál a kód, akkor szépen "végtelen" (persze nem teljesen) ciklus jön létre, mert ugye kap a tömb egy számot és összehasonlítja az következővel, ami ugyanaz, meg újra ugyanaz, stb. és csak akkor csinál valamit, ha a két szám nem egyezik meg, tehát ezzel nem árt vigyázni.
Szóval az a legjobb megoldás, ha először ellenőrzöd, hogy nincs-e benne már, majd generálsz és késleltetsz.
for (int i = 0; i < szamok.Length; i++)
{
for(int j = 0; j < szamok.Length; j++)
{
if(szamok[i] != szamok[j])
{
szamok[i] = rnd.Next(1, 90);
Thread.Sleep(100);
}
}
} -
válasz
atti1848
#3197
üzenetére
Nem árt késleltetni egy kicsit:
Thread.Sleep(1000);
A paramétert ezredmásodpercben kell megadni, azaz a fenti kód 1 másodperccel fogja késleltetni, de ez sok a program futásakor, azaz olyan 10-100 közötti érték már ideális. Túl gyorsan generálódnak az értékek.
Ilyesmit is lehet:
using System;
using System.Threading;
public static class RandomHelper
{
private static int seedCounter = new Random().Next();
[ThreadStatic]
private static Random rng;
public static Random Instance
{
get
{
if (rng == null)
{
int seed = Interlocked.Increment(ref seedCounter);
rng = new Random(seed);
}
return rng;
}
}
}Amúgy a dupla for ciklusnak semmi értelme, mert pont akkor nem tesz bele értéket, amikor nem egyenlő egy másik számmal és neked pont akkor kéne, amikor nem egyenlő. Így akkor tesz bele, amikor egyenlő.
Ennyi az egész:
Random rnd = new Random();
int[] szamok = new Int32[5];
for (int i = 0; i < szamok.Length; i++)
{
szamok[i] = rnd.Next(1, 90);
Thread.Sleep(100);
}
for (int i = 0; i < szamok.Length; i++)
Console.WriteLine(szamok[i]);System.Threading-et using-olni kell természetesen.
-
-
Sziasztok!
Form alkalmazáshoz mi a legegyszerűbb módszer az idő mérésére (00:00 - másodperc:perc alapon, később átváltani másodpercre az egészet). Elindítani és megállítani kéne tudni, semmi extra.
Keresgéltem a neten, de nem találtam értelmes segítséget.
Nem tudom, hogy a beépített timer erre mennyire alkalmas (?). -
-
-
Az hogy lehet, hogy írni akarok egy teljesen újonnan létrehozott file-ba és kiírja, hogy egy másik process használja?

Így próbáltam:
StreamWriter sw = new StreamWriter("path");
Aztán
sw.WriteLine(data);
-
-
3X3-as amőba játékot próbálnék írni, ide bemásoltam a játék végét ellenőrző függvényt, ami minden lépés után lefut.
De ezzel az a baj, hogy csak azt érzékeli, amikor az általam kiválasztott karakterrel levő játékot nyer. Többjátékos módról van szó, azaz az elején kiválasztja az első valamelyik karaktert (X vagy O) és azzal kezdi a lépést, a másik meg automatikus a másik karaktert kapja meg és azzal lép. Tehát ha az elején kiválasztom az X-et és azzal nyerek, az OK. De ha játszik velem valaki és ő automatikusan az O-t kapja és ő nyer, akkor semmi.
A StepHappened kétdimenziós tömb reprezentálja azt, hogy hol történt a lépés, a Choice pedig egy char, ami a játék elején kiválasztott X-et vagy O-t tartalmazza.
Próbáltam kiterjeszteni a függvényt, a végén vagy 4X ekkora lett, de mindig összeakadt és olyan helyeken írt ki játék végét, ahol nem volt indokolt.
-
válasz
Realradical
#3146
üzenetére
Ja.
A sok spam meghozta gyümölcsét. 
-
válasz
Realradical
#3144
üzenetére
Valóban, köszi.

-
válasz
Realradical
#3140
üzenetére
Paraméterbe simán this.függvénynév kell?
Sima kétparaméteres eventHandler egyékbént.
public void newGame(object sender, EventArgs e)
{
//...
}Bár lehet, hogy még a paraméterek se kellenek, nem is használom a függvényen belül.
-
válasz
Realradical
#3140
üzenetére
Köszönöm, így megy.
-
-
Egy formon belül lehet használni egy másik form eseménykezelőjét? Mert ugye csak a sajátjait látja alapból. Próbáltam publiccá tenni, de nem megy.
-
-
-
-
Egy pictureBox tartalmát hogy tudom törölni? Így próbáltam, de semmi.
pictureBox1.Image = null;
vagy
pictureBox1.Invalidate();
Egyik se megy. Próbáltam utána frissíteni a Formot, de még mindig benne van a kép. Ráadásul akkor újratölti az egész progit, ami nekem nem jó, mert van egy felugró ablak az elején, amit értelemszerűen nem akarok, hogy újra megjelenjen, mert annak csak a program indításakor kell felugrania. Bár ezt ki tudom védeni egy segédváltozóval, nem egy nagy kaland, de maga a kép akkor se tűnik el.
Köszi. -
válasz
WonderCSabo
#3126
üzenetére
Köszönöm.

-
Az lehet, hogy nem tudom elérni a DispatcherTimer classt? A System.Windows.Threading-en belül van, de nem tudok rá hivatkozni using-al. WindowsBase.dll assembly-ben van, valahogy hozzá kéne adni referenciaként a Visual Studio-ban?
-
válasz
Peter Kiss
#3116
üzenetére
Nem ez volt az, de így is megy, köszi.
-
Sziasztok!
Ezt hogy tudnám átkonvertálni, hogy működjön (utolsó sor)? Régen mintha castolással összejött volna, de most sehogy se megy.

Control s = sender as Control;
if (game.Choice == 'X')
s.BackgroundImage = "\\images\\char_x.png"; -
-
-
válasz
petersonal
#3049
üzenetére
Azt is tolom, de nem.

-
Vicces? Azt a pár controlt behúzod a toolbox-ból és oda helyezed, ahova akarod. Ebbe nem az UI a lényeg, hanem a logika (XAML-be kézzel írod be pl. az egyes button-ok koordinátáit és mindig nézed design nézetbe, hogy jó-e?
). Amúgy nem az én pályám a C# és WPF, csak azért foglalkozom vele most, mert muszáj. 
-
-
-
-
-
-
-
-
Sziasztok!
Egy WPF-es alkalmazásnál valahogy le lehet tiltani egyszerűen az átméretező gombot? A kis méret és a bezárás maradna, csak mivel egy kis ablakos alkalmazás lenne, ezért nem skálázódnának a control-ok (illetve WPF-en belül automatikusan nyilván igen), mármint nem lehetne nagyítani, így nincs értelme és csak megzavarná a felhasználót. Találtam mindenféle bonyolult kódsort, esetleg van egy egyszerű property erre?
Tehát a középső gombról van szó:
-
Sziasztok!
WPF-be hogy lehet azt megoldani, hogy _egy_ függvényt írok mondjuk 9 imageBox-nak és mindegyikre ha rákattintok, akkor ugyanazt a képet hozza elő (mindegyikbe külön-külön)? Gomboknál ugye meg lehet a ((Button)sender)-el csinálni, de itt nem. Nincs valami általános megoldás erre (ami nem csak imageBox-al működik, hanem bármilyen control-al)? Mert ha megírom az elsőt és azt alkalmazom mindegyikre, akkor mivel az első nevével jött létre, mindegyik arra fogja alkalmazni. Naponta belefutok ebbe és kurva idegesítő.
-
válasz
Neil Watts
#2721
üzenetére
ASCII kódtáblát ajánlom figyelmedbe, char típusú változóval lehet trükközni, mondjuk számként reprezentálni egy betűt.
Pl.: char c = (char) 100;
Ugyanúgy használhatod a Next függvényt az intervallum megadására, csak konvertálni kell a típusok között.
-
-
-
válasz
Dr. Student
#2668
üzenetére
Ja hogy Sergyán
(Ugyanarra az előadásra járunk) Amúgy igen, a "ciklus amíg" a while-ra vonatkozott, tehát az előző hsz-embe lévő első változattal jó lesz a prímszámos feladat. Ezeket az algoritmusokat egyébként nem kell szó szerint betanulni, mert sok fölösleges dolog van bennük, ami megzavar.Illetve a while(i != szam) azért nem jó, mert önmagát már nem fogja figyelembe venni. Tehát inkább while(i <= szam) és ezzel jó.
A teljes programkód:
-
válasz
Dr. Student
#2666
üzenetére
Most akkor ciklus amíg kell, vagy nem? Mert az elején azt írod, aztán meg hogy azért vontak le pontot.
Mindegy, while-al is csak úgy lehet, ha van egy index változód, amit mindig növelsz. Belinkelhetnéd a diát.while(i != szam)
{
...
i++;
}vagy
for(int i = 0; i < szam; i++)
{
...
} -
válasz
Dr. Student
#2663
üzenetére
Bekérsz egy számot, majd írsz egy for ciklust ami addig a számig fog menni. A for cikluson belül lesz egy feltétel, ami megvizsgálja, hogy az adott index érték (i) osztható-e maradék nélkül a bekért számmal. Ha igen, akkor a program elején létrehozott mondjuk db nevű változódat növeled 1-el. Ha a ciklus végén a db == 2, akkor a szám prím. Nyilván vannak hatékony algoritmusok erre, de ez a legegyszerűbb, "no-brainer" fajta.
-
Fölösleges az az a és b változó az elején, az if elágazásba egyszerűen x == 1-et és x == 2-t írj. Amúgy meg az if blokkokat érdemes teljes egészében elválasztani, mert bár egyértelműen továbbfut, okozhat kellemetlenséget és az olvashatósága sem a legjobb. Nekem így lefut szépen.
-
-
válasz
Jester01
#2605
üzenetére
A konstruktorba írva az egészet jó lenne, vagy muszáj az osztály adattagjaként megmaradnia? Igazából ezt így korábban is sikerült létrehozni, de a logikáját nem értem, hogy ezek után egy Adatbazis példánnyal mit lehet kezdeni, hogy lehet elérni a másik osztály objektumait?
class Adatbazis
{
public Adatbazis()
{
Random rand_adatbazis = new Random();
int tomb_hossz = rand_adatbazis.Next(20, 30);
Hallgato[] tomb = new Hallgato[tomb_hossz];
for (int i = 0; i < tomb_hossz; i++)
tomb[i] = new Hallgato();
}
} -
Sziasztok!
Van egy feladat, amiben elakadtam. Idáig sikerült megírni, a következő lépést viszont nem értem.
"Az Adatbázis példányosításkor hozzon létre véletlenszerű Hallgatókat és azokból 20-30 darabot (maga a darabszám is legyen véletlenszerű)."
Megvan az üres Adatbázis osztályom. Példányosításkor, azaz nyilván a konstruktorba kell valamit mókolni. Az is világos, hogy az előző osztály (Hallgato) objektumaiból kellene egy tömb, hozzá egy Random érték, 20-30 között. De ezt hogy valósítom meg? Adattagként létrehozom az objektumtömböt és a konstruktorban egy for ciklusban kapják meg az "értéket"? Meg ezentúl a Adatbazis osztály példányával hogy érem el, mint tömb? Magát a szintaktikáját értem a dolognak, "csak" a logikáját nem, hogy mit akar megvalósítani. Valami ilyesmire gondoltam (a Random sincs túl jó helyen
):class Adatbazis
{
public static Random rand_adatbazis = new Random();
public int tomb_hossz = rand_adatbazis.Next(20, 30);
private Hallgato[] tomb;
public Adatbazis()
{
for (int i = 0; i < tomb_hossz; i++)
{
tomb[i] = new Hallgato();
}
}
} -
-
Nem az adott objektum, az adott példány. Nem egy osztály tagváltozóit akarom lekérdezni a függvénnyel, az nyilván evidens. Hanem létre akarok hozni egy függvényt, amelyet minden egyes példány elér és kiírja róla az infókat. Ezzel kapcsolatban kérdeztem azt, hogy a példány paraméter átadása nélkül el lehet-e érni a példány tagváltozóit a függvényben, de akkor gondolom nem.
Itt van konkrétan: [link] (30. sor)
-
Van egy osztályom, annak tagváltozói. A konstruktorban beállítom, hogy ezek példányosításkor kapjanak egy bizonyos értéket. Létrehozok egy tagfüggvényt, ami ezeket egy string-be összevonva adja vissza, minden példányról külön, azaz példányszintű a függvény. Létrehozok egy új példányt és meghívom a függvényt. A kérdés arra vonatkozott, hogy muszáj ennek a függvénynek átadni paraméterként az adott objektumot (ami meghívja), hogy el tudjam érni az adott objektum tagváltozóit, vagy van valami okos trükk erre (mint a tagváltozókra a this)?
-
Sziasztok!
Egy osztály tagfüggvényében ki tudom íratni egy adott példány adatait anélkül, hogy a példányt átadnám a függvénynek paraméterként? Érzem, hogy hülye kérdés, de csak van erre valami megoldás. Virtuális pofonokat elfogadok.
-
-
Ennek a get/set-nek van valami lényegi értelme? Most tanultuk OOP-n, de ha értéket akarok rendelni egy változóhoz, simán hivatkozom rá, minek külön függvény, vagy úgy egyáltalán, minek ezzel foglalkozni? Get-el ugyanez. Én megyek el valami mellett?
-
Ez a lehető legrosszabb tanács volt. Az a baj a C#-al, hogy sok minden már egyenesen túl egyszerű benne. Jobb, ha "szarakodik" azzal a bubble sort algoritmussal, mert ezekből tanul az ember, nem abból, hogy a beépített sort függvényekkel rendezget. Ha később át kell állnia C-re vagy C++-ra, nagy bajba lesz az ilyenek miatt. Vagy azt mondják, hogy VS meg IntelliSense nélkül jegyzettömbben írj meg valamit..
-
1., A string egy karakterlánc, képzeld el úgy, mint egy tömböt, aminek nem egész (int) a típusa, hanem karakter (char). Egy string elemét is el tudod érni úgy, mintha karaktertömb lenne, azaz:
string nev = "Marci";
esetén: a nev 0. eleme (azaz az első elem) egy M betű lesz.
A többit szerintem fölösleges kitárgyalni. Nem tudom, hogy mit akarsz ezzel a kóddal, de egy string hosszát így tudod meghatározni (a String osztály minden objektuma el tud érni bizonyos tagfüggvényeket, a Length a hosszát adja vissza, angolból ismerős lehet), például:
String isbn = Console.ReadLine();
Console.WriteLine(isbn.Length); -
Pl.:
static int m(int x, int[] y)
{
x = 3;
y[0] = 3;
return x; //!!!!!!!!!!
}
static void Main(string[] args)
{
int number = 0;
int[] numbers = new int[1];
System.Console.WriteLine("number is " + m(number, numbers) + " and numbers[0] is " + numbers[0]);
Console.ReadLine();
} -
Nem állítottál be visszatérési értéket a függvényednek, azaz void. Érték szerinti paraméterátadásnál csak egy másolat készül a változóról, amit a függvénybeli értéke fel is vesz, de visszatérésnél a main() függvényben az eredetit írod ki, ami nem kapta meg. A tömböt dinamikusan foglaltad le, a függvényben egyből a memóriába írod, így az jó. A number változódat ne érték szerint add át, hanem mutatóval. Vagy legyen a függvényednek visszatérési értéke és akkor az x-el térj vissza.
-
-
-
-
-
-
-
Úgy kell elképzelni, mint amikor egy beállításokkal kapcsolatos tabot bárhova húzhatsz, támogatva van a több monitoros megoldás, simán átmegy, ezt kóddal miért nem lehet megcsinálni?
Magyarul azt szeretném, hogy dockable legyen.
-
Sziasztok!
Most került hozzám egy 2. monitor és úgy szeretnék dolgozni, hogy az egyik fájl az egyik monitoron legyen megnyitva (meg az egész VS úgy, ahogy szokott), a másikra pedig áthúznék egy másik fájlt, akár teljes képernyős nézetben, de ezt így elvileg nem lehet. Ha kétszer nyitom meg a VS-t, akkor ugye ott vannak a hozzáférési hibák, ez tehát kizárva. Nem akarom összevonni a két monitort, tehát az sem játszik, hogy az egyik tabra jobb egérgombbal kattintva vertikális nézetbe állítom őket.
Valami ötlet?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- G15 5530 15.6" FHD IPS i7-13650HX RTX 4060 16GB 512GB NVMe új akku gar
- Eladó Jamo SW 410E
- Telefon tokok, telefon fóliák kedvezményes áron!
- Dell latitude 5330 i5-12.gen/8gb ddr4/250gb ssd/magyar Bill./új akku (Esztétikai hibás)
- Erőmű Magyar! Lenovo P16 ( Core I9 12950HX 32Gb DDR4 512Gb SSD Nvidia RTX 4Gb video) laptop!
- REFURBISHED - HP USB-C Universal Dock G1 (DisplayLink)
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB DDR5 RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4078
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


Nem tudom, hogy a beépített timer erre mennyire alkalmas (?).
A sok spam meghozta gyümölcsét. 
Nagyon köszönöm. 
). Amúgy nem az én pályám a C# és WPF, csak azért foglalkozom vele most, mert muszáj.

(Ugyanarra az előadásra járunk) Amúgy igen, a "ciklus amíg" a while-ra vonatkozott, tehát az előző hsz-embe lévő első változattal jó lesz a prímszámos feladat. Ezeket az algoritmusokat egyébként nem kell szó szerint betanulni, mert sok fölösleges dolog van bennük, ami megzavar.

