- OLED TV topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Azonnali notebookos kérdések órája
- HP notebook topic
- Fujifilm X
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Azonnali VGA-s kérdések órája
- Samsung Galaxy Tab S6 - letett valamit az asztalra
- Gaming notebook topik
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
Új hozzászólás Aktív témák
-
Froclee
őstag
sziasztok. gyakorlásképp szeretnék egy egyszerű picike háttérben futó programot írni. annyi a lényege, hogy a Cod-ot megnyitom akkor a utorrent záródjon be, ha pedig bezárom, akkor nyíljon ki. na most egyik problémám a process monitoring, ami gőzöm sincs hogy nézhet ki. ezért úgy gondoltam, hogy időzítéssel fogom megoldani. pl 10 másodpercenként megnézi, hogy fut-e a cod2, ha nem akkor mehet a utorrent. ha fut, akkor kill. ezt majd még később fogom megcsinálni (illetve a minize to taskbar-t is), mert egyelőre gombnyomásra sem működik teljesen. íme:
private void button1_Click(object sender, EventArgs e)
{
foreach (Process kalofdutyi in Process.GetProcessesByName("CoD2MP_s"))
{
if (kalofdutyi.Responding)
{
textBox2.Text = "CoD2 fut";
foreach (Process jutorrent in Process.GetProcessesByName("utorrent"))
{
jutorrent.Kill();
textBox1.Text = "uTorrent kilőve";
textBox1.BackColor = Color.GreenYellow;
}
}
if (!kalofdutyi.Responding)
{
textBox2.Text = "CoD nem fut";
Process.Start("E:\\Program Files (x86)\\uTorrent\\uTorrent.exe");
textBox1.Text = "uTorrent fut";
textBox1.BackColor = Color.White;
}
}az első ág működik, ha lenyomom a gombot és fut a cod, kilövi, de a második ág istenért se akar jó lenni. sejtésem szerint azért, mert a "not responding" a futó, de kifagyott alkalmazásokra utal. hogyan tudnám ellenőrizni másképpen, hogy fut az adott alkalmazás? erre nem jövök rá.
illetve láttam msdn-en egy HasExited property-t, de azt nem igazán tudtam működésre bírni.
köszi -
#34322688
törölt tag
Hali.
Köszi a választ, nem régóta foglalkozom a programozással, ezért vannak ilyen szarvashibáim, mint a nagy E-s megoldás. Más jellegű ugymond szakmához kell egy kis alapszintet konyítani a c, c# stb nyelvből alapszinten. Ha privin tudnál ennek a javításában segíteni, azt megköszönném. Legalább átudnám nézni, mit miért hogyan van javítva.
Előre is köszönöm ha lesz időd, módod segíteni. -
Karma
félisten
válasz
#34322688 #6091 üzenetére
Tényleg nincs olyan változód, hogy eletkor. Mindenhol máshogy egy nagy "E"-betűvel jelölted (ami mellesleg nagyon ocsmány gyakorlat, inkább legyen mindenhol "eletkor", vagy "age"). Jelöld egységesen, és jó lesz.
Valamint ha legközelebb kódot illesztesz be, használd a Programkód gombot!
-
válasz
sztanozs #6096 üzenetére
Nem az első volt helyből talán az 5. De pont az kellett
Jjjja, meglátom, ennek még nem jártam utána (illetve jártam, csak nem pont ez volt a gond, és ez okozhat eltéréseket).
Van BringToFront, azt tudom. Csak az feldobja az ablakot. De az jó nekem, ha feljön a Form1, elkapni az eseményt, és fel a Form2. Ha hátramegy, akkor hátradobni a Form2-t is. Ha a Form2 jön fel, akkor rántsa fel a Form1-et is.
Csak nem tudom, ez működne-e. -
sztanozs
veterán
Egyáltalán nem bántásként írtam, csak az összes találat az első oldalon relevánsnak tűnt - így nem volt kedvem külön linkelgetni
Topmostnál pont az a probléma, hogy a többi form nem takarhatja el... UI kezelő zorderjével kellene valacolni, de asszem ez már meghaladja a google-fu-mat
-
válasz
sztanozs #6094 üzenetére
Basszus.
Én általában előbb gőglizok, aztán kérdezek
De ebben a keresésben volt egy olyan amit még nem láttam, és ott van, TransparencyKey.Köszi
Még azon filózok, a 2 formos progit hogy lehet úgy megoldani, hogy a 2 form bármelyikét előtérbe hozva előtérbe jöjjön a másik is - elég ehhez az előttérbe hozás eseménykezelőire ráülni?
Illetve hogy az egyik formomnak a másik fölött kell lennie, de más programok eltakarhassák, erre nem jó a TopMost... De akkor mi? :S
-
Hello!
Van valami értelmes módszer arra, hogy egy form háttere átlátszóság legyen? Nem a teljes formot kell átlátszósítani, csak a háttérszínét. Sajnos ha a teljes formot átlátszósítom, akkor a rajta levő elemek is átlátszóak lesznek, azaz pl. a fekete betűkből szürke :S Ha pedig form.BackColor transparent, akkor kiakad a progi induláskor
-
#34322688
törölt tag
válasz
Alexios #6090 üzenetére
Itt van az egész forráskód:
using System ;
using System . C o l l e c t i o n s . Gene ric ;
using System . Linq ;
using System . Text ;namespace Co n sol eA p pli ca tio n1
{ c l a s s Program {
s t a t i c void Main ( s tr ing [ ] a rg s )
{Con sole . Write
( "Kérem␣ ad ja ␣meg␣ az ␣ é l e t k o r á t : ␣" ) ;
int E =
int . Pa rse ( Con sole . ReadLine ( ) ) ;
int a=0;
i f (E >= 0 && e l e t k o r < 7 ) a=1;
i f (E >= 7 && e l e t k o r < 22 ) a = 2 ;
i f (E >= 19 && e l e t k o r < 66 ) a = 3 ;
i f (E > 65 ) a = 4 ;
switch (a )
{
case 1:
Con sole . WriteLine ( "Gyermek . " ) ;
break ;
case 2:
Con sole . WriteLine ( " I s k o l á s . " ) ;
break ;
case 3:
Con sole . WriteLine ( " F el nő t t . " ) ;
break ;
case 4:
Con sole . WriteLine ( " Nyugdí ja s . " ) ;
break ;
de fau lt :
Con sole . WriteLine
(" Rossz ␣ é r t é k e t ␣ a do t t ␣meg . " ) ;
break ;
}
Con sole . ReadLine ( ) ;
}
}
}Valami miatt nem működik.
-
#34322688
törölt tag
Sziasztok.
Nem tudok rájönni, miért ír hibát a életkornál?
Console.Write
("Kérem adja meg az életkorát:");
int E =
int.Parse(Console.ReadLine());
int a=0;
if (E >= 0 && eletkor < 7) a = 1; -
zuzu000
őstag
Igen, az a baj vele, hogy nem elég egyszerre két szóra nézni, hanem a T szöveg összesére kell egyszerre. Ha két szavanként nézzük, akkor közelítő megoldást tudunk kapni, de nem az lesz a legrövidebb. De arra se tudtam megírni a kódot. Az is baj, hogy nem egyértelmű.
pl: x = ac y = ab
most akkor melyik lesz a közös legrövidebb szó, melynek x és y is részsorozata? abc, vagy acb? -
Dinter
addikt
Ha kérek egy számot, viszont nem ad meg semmit, akkor azt hogy csinálom meg, hogy újra kérje? Erre gondoltam, de ez nem jó.
int szam = int.Parse(Console.ReadLine());
if (szam == null)Meg amikor az IntelliSense-nél elkezdek valamit írni, akkor kijelöli a sárga kerettel, de nem írja be magától, azt hogy lehet visszakapcsolni?
-
zuzu000
őstag
válasz
Jester01 #6080 üzenetére
Igaz, igaz, ott a pont! Így már megy, köszi
Szerk.: ez még mindig a beadandó feladatomhoz kell, és tegnap utánaolvasva kiderült, hogy a tanár nem gondolta át egészen. A feladat az, hogy adott egy T szöveg. Keressünk meg azt a legrövidebb X szót, melyre igaz, hogy T minden szava részsorozata X-nek. Részsorozat az, hogyha a karaktereinek törlésével előállítható, a sorrendet figyelembe véve.
Pl: A = "abba" B = "aa", akkor B részsorozata A-nak.
Ahogy néztem ez lenne a Shortest Common Supersequence, amire jelenleg nincs olyan kód (n szavú szövegre), mely ésszerű időn belül lefutna. Ti mit tudtok erről? -
Peter Kiss
őstag
válasz
zuzu000 #6077 üzenetére
Ez jó eredményt ad (vagyis azt csinálja, amit akarsz)?
static Dictionary<char, int> MibőlMennyi(IEnumerable<string> szavak, ICollection<char> karakterek)
{
return szavak.SelectMany(x => x.ToCharArray())
.Where(karakterek.Contains)
.ToLookup(x => x)
.ToDictionary(x => x.Key, x => x.Count());
}Látom, nem. Legközelebb átgondoltabban kérdezzünk.
A metódus neve eleve hibás. -
Jester01
veterán
válasz
zuzu000 #6079 üzenetére
A "maximum" szó sehol nem szerepelt ám a hozzászólásodban, a gondolatolvasásért pedig külön díjat számítunk fel
Mindenesetre ha a count nagyobb lesz mint az eddigi maximum akkor te simán eggyel növeled, nem pedig beállítod az új értékre a maximumot.
mimennyi[i2] = Math.Max(mimennyi[i2], szavak[i].Count(x => x == karakterek[i2]));
-
zuzu000
őstag
válasz
Jester01 #6078 üzenetére
De ez 3-at adna vissza b-re, nem? Azt akartam, hogy maximum hányszor fordul elő, tehát ha 'a' már volt az első szóban, és a másodikban is csak egyszer van, akkor ne növelje az értéket. Ha 'b' egyszer van az első szóban és 2x a másodikban, akkor 2 legyen a mimennyi megfelelő eleme. Vagyis csak akkor növelje a mimennyi[i2]-t, ha többet talál a következő szóban, mint amennyi már eddig van.
-
zuzu000
őstag
static int[] MibőlMennyi(string[] szavak, char[] karakterek)
{
int[] mimennyi = new int[karakterek.Length];
for (int i = 0; i < szavak.Length; i++)
{
for (int i2 = 0; i2 < karakterek.Length; i2++)
{
if ((szavak[i].Count(x => x == karakterek[i2]) > mimennyi[i2]))
mimennyi[i2]++;
}
}
return mimennyi;
}szavak[0] = "abcd"
szavak[1] = "abb"
karakterek = a,b,c,d
Meg szeretném számolni, hogy miből hány darab van, és egy int[] tömbbe betenni a mennyiségeket. De valamiért a mimennyi[] így néz ki : 1,1,1,1,0,0,0,.. stb.
Tehát mintha minden karakterből csak egyet talált volna, ami szavak[0]-ra jó is, de b-ből kettő van szavak[1]-ben. -
Karma
félisten
A változók fogalmának fuss neki még egyszer. Futásidőben ez nem fog így működni - Jester01-nél a pont, hogy listára vagy dictionaryre lesz szükséged. A kettő közötti választás feladatfüggő.
Kiegészíteném azzal, hogy a string[]-ökkel való zsonglőrködés helyett sokkal jobban jársz, ha csinálsz egy osztályt a felhasználóknak, és minden későbbi lépésnél ezt használod alapként. A stringfétis, ahogy egy néhai kollégám hívta, veszélyes gyakorlat. Inkább ne hagyd magadban kialakulni.
Szóval a következő lépéseket javaslom egy nagyon naiv megoldáshoz(*):
1) Csinálj egy User osztályt négy adattaggal.
2) Írj egy olyan metódust valahova, ami egy beolvasott sorból User példányt csinál (ezen belülre rakhatod a Split hívást és az adattagok feltöltését).
3) Írj egy olyan metódust, ami paraméterként kap egy StreamReadert, while ciklusban (amíg van mit olvasni), a ReadLine metódussal felolvas egy sort, az előzőleg megírt metódussal Usert gyárt belőle, és berakja egy List<User>-be. A végén visszaadja ezt a listát.
4) Ezt a metódust meghívod a fájllal, és máris előállt minden felhasználó adata.(*): Nem tudom, hogy folytatódik a feladat. Ha csak a belépéshez kell a fájl tartalma, akkor jobban megérheti egy olyan konstrukció, ami nem nyalja fel memóriába a listát egyszerre, hanem mindig csak az aktuális, egy sornyi Usert ellenőrzi, és ha illeszkedik a név/jelszó párra, visszaadja.
-
Dinter
addikt
válasz
Alexios #6070 üzenetére
Azt hogy tudom megcsinálni, hogy ezt berakom egy for ciklusba, és akkor legenerálja a 6 usernek jelen esetben:
string[] user+i=adatok[I].Split(':')
Azt hogy tudom elérni, hogy olyan nevű string tömböt hozzon létre, amiben benne van a 'user' és még hozzáfűzi az 'i' jelenlegi értékét?
-
Dinter
addikt
Üdv!
Egy versenyfeladatot kezdtem el gyakorlásképp. Egy loginrendszer az első része. Egy szövegfájlban vannak elmentve az adatok, és ha nem stimmel, akkor nem enged belépni, aztán pedig a beosztástól függően különböző felületet ad ki, aztán még vannak benne plusz funkciók, de egyenlőre csak a bejelentkezésnél tartok.
1. Erre console app vagy winform app az alkalmasabb?
2. A loginnál addig jutottam, hogy beolvasom az adatokat egy adatok string[]-be. A txt-ben a fájlok ilyen formátumban vannak:azonosító:felh.:jelszó:vezető-e
1:id:pw:1Na most ezeket hogy, mivel kéne különszednem?
-
Dj Sügi
őstag
Sziasztok!
Lenne egy olyan kérdésem, hogy megvalósítható ez az ötlet: Ha ki van jelölve a DataGridView-ban egy sor, akkor egy PictureBox-ban jelenítsen meg egy képet a program, ha egy másik sor van kijelölve akkor egy másik képet. A képek a program mappájában lennének tárolva. Alapértelmezettnek mindig az első sor kellene hogy kijelölve legyen a DataGridView-ban és akkor a PictureBox-ban a program betöltésekor rögtön az ehhez tartozó képet jelenítené meg.
Lövésem sincs hogy kellene hozzákezdeni, nagyon bonyolult lenne megcsinálni? Tudnátok segítséget adni a kezdéshez, vagy linket ha már valaki próbálkozott ilyennel?
Kösz!
-
zuzu000
őstag
Bár tudnám, miről beszéltek
Megint kéne egy kis segítség, egyszerűen nem tudok rájönni. Csak rávezetés kéne, mivel nekem kéne megírnom. A lényeg, hogy tegyük fel, van két szó. Az egyik szó részsorozata a másiknak, ha a másik karaktereinek törlésével előállítható. Pl: x = aa , y = abba, ilyenkor x részsorozata y-nak. Az a feladat, hogy van egy szöveg és elő kell állítani a lehető legrövidebb szót, hogy a szöveg összes szava részsorozata legyen annak a szónak.
pl a szövegben ez van: "aba abba aab", ilyenkor a legrövidebb szó, melynek minden szó részsorozata:
aabba (ha nem nézem félre).
Erre írtam a metódust, ami kigyűjti egy char tömbbe azokat a betűket, amik nincsenek benne, és a main-ben pedig a megfelelő helyre beillesztem.
static char[] MikHianyoznak(string szo, string x)
{
char[] hianyzik = new char[szo.Length];
for (int i = 0; i < szo.Length; i++)
{
char s = szo[i];
if (x.IndexOf(s) == -1)
hianyzik[i] = s;
else
x = x.Substring(x.IndexOf(s)+1);
}
return hianyzik;
}Így néz ki. A hiba ebben a példában az aab-nél jön elő. Az első a-t megtalálja, a másodikat is, de az utána lévő b-t már nem, mivel az x ilyenkor már üres a substring miatt.
Lehetőleg ezt szeretném módosítani valahogy. Vagy túl egyszerűen gondolkozom és a megoldás ennél sokkal bonyolultabb? -
válasz
zuzu000 #6059 üzenetére
A \0 meg érdekes, mert kipróbáltam.
string y = "abba";
y = y.Insert(1, '\0'.ToString());
Console.WriteLine(y);
"a bba"Keversz ket dolgot: a karaktert es azt, hogy a konzol hogy jeleniti meg. A \0 karakter NEM szokoz, de a konzol nem tudja megjeleniteni, ezert rak egy szokozt a helyere. Ez viszont egy implementacios kerdes.
-
zuzu000
őstag
Huh, köszi, bár ilyet még nem tanultunk, meg nem is nagyon értem, mi történik benne, szóval nem tenném bele. (beadandó, és lehet, hogy belekérdeznek)
For-ral hogy gondoltad? while-lal próbáltam, de valamiért nem akart működni.
int hely = -1;
int temp =0;
while (hely != -1)
{
if (array [temp] != '\0')
hely = temp;
temp++;
}
De valamiért bele se akart menni a ciklusba, nem értem, mi baja.A \0 meg érdekes, mert kipróbáltam.
string y = "abba";
y = y.Insert(1, '\0'.ToString());
Console.WriteLine(y);
"a bba" -
Karma
félisten
válasz
zuzu000 #6056 üzenetére
"Char tömbben hogy keresem meg az első nem \0 elem indexét?
Tehát ami valamilyen karaktert jelöl, nem üres."Legegyszerűbben egy for ciklussal.
Ha általánosabban meg akarod oldani, akkor célszerű írni egy extension methodot a feladathoz. Álljon itt egy példa StackOverflowról:
public static class EnumerableExtension
{
public static int FirstIndexMatch<TItem>(this IEnumerable<TItem> items, Func<TItem,bool> matchCondition)
{
var index = 0;
foreach (var item in items)
{
if(matchCondition.Invoke(item))
{
return index;
}
index++;
}
return -1;
}
}Ezzel a metódussal a feladatod így néz ki:
var array = new [] { '\0', '\0', '\0', '4' };
Console.WriteLine(array.FirstIndexMatch(ch => ch != '\0'));"Illetve a \0 space-t jelöl?"
Nem, dehogy is. Az Unicode NULL karaktert jelöli, aminek nyolc bites testvére C-ben ugyebár a string végét jelölte, viszont C#-ban nincs ilyen jelentősége, mert a char tömb tudja magáról a saját hosszát.
"Vagyis ha ezt beillesztem egy string-be, akkor ott szóköz lesz?"
Nem. Bekerül a stringbe, foglalja a helyet, de ha kiírod, nem jelenik meg semmi.
Szerintem nem szabadna, de most csak .NET fiddle-ön tudtam kipróbálni, ott tényleg nem jelent meg semmi. Lehet, hogy konzolon máshogy megy.Az biztos, hogy a szóköz helyes jelölése: ' '
-
zuzu000
őstag
Char tömbben hogy keresem meg az első nem \0 elem indexét? Tehát ami valamilyen karaktert jelöl, nem üres. Illetve a \0 space-t jelöl? Vagyis ha ezt beillesztem egy string-be, akkor ott szóköz lesz?
Szerk.: kipróbáltam, \0 = szóköz
-
-
fatal`
titán
válasz
Peter Kiss #6053 üzenetére
Akkor írhat ha más nevet akar neki adni, de akkor meg using Timer = System.Windows.Forms.Timer;
Legalábbis az adott kontextusban.
Bár végülis bármit írhat, maximum le sem fordul.
-
-
és rgeorge : Köszi! Nem akartam az egész cumót idemásolni, hosszú lett volna.
Hogyan csinálok instance fieldet? Mert kiraktam a label definícióját a Form elé is, de akkor sem változott semmi.@hunfatal : Olyat szerintem már próbáltam, de kb. a hibaüzenet volt más ^.^
@Karma : Na azt majd megnézem, mi lett behúzva timernek, mert nem jut eszembe
(Vagy ahogy idő lesz rá.) Melóhelyen ilyen félig-meddig hobbiként csinosítok egy alkalmazást, ami végülis már használható(ra lett gányolva), csak kényelmesebbé akarom tenni. És továbbra is egy Notepad a fejlesztőkörnyezet
-
fatal`
titán
Mivel a labeled scopeja a konstruktor és a futása végén meg is szűnik, ezért a fordítónak a másik függvényben fogalma sincs mi az az izeLabel. Csinálj instance fieldet.
És a timer eventje static-ként nem lesz jó
(#6042) rgeorge Emlékeim szerint a timer ugyanazon a szálon fut.
-
-
-
Cheesus
senior tag
-
Na megint elakadtam... Van egy formom, azon egy labl. Van egy timerem, annak van egy eseménykezelője. Az eseménykezelőből akarnám a labelt updatelgetni, de nem hagyja...
public class AboiotherForm : Form
{
public AnotherForm()
{
Label izeLabel = new Label();Itt szépen tudom állítgatni a tulajdonságait.
És van az időzítő (az eseménykezelőt az anotherformon adom hozzá) :
xTimer.Elapsed+=new ElapsedEventHandler(idozitolejart);
static void idozitolejart(object source, ElapsedEventArgs e)
{
izeLabel.Text = DateTime.Now.ToString("hh:mm");
}Ezt már nem hagyja, mert error CS0103: The name 'izeLabel' does not exist in the current context
Csak azt nem értem, mit csinálok rosszul... Akárhogyan hivatkozom a labelt, nem hiszi el, hogy az ott van
Ez az egész most egy formon belül folyik, a másik form nem csinál ezekkel semmit.
Fél napom erre ment el(Na közben lehet megtaláltam, de ha van valami egyszerű megoldás, annak örülnék
)
-
Cheesus
senior tag
Hali
Tudnátok esetleg ajánlani egy kezdő C#-osnak lehetőleg magyar nyelvű könyvet, amit esetleg meg is lehet venni? Körbenéztem a csúnya oldalakon is, de amik ott vannak azok vagy nagyon régiek (2008 és környéke), vagy nem is használhatóak.
-
Goose-T
veterán
Korábban kaptam egy irodalomjegyzéket egy multinál dolgozó vezető fejlesztőtől, hogy mit kell tudnia manapság egy senior .NET fejlesztőnek. Ezt a listát most megosztom veletek:
C#
* Language spec (MSDN-en)
* C# 4 in a Nutshell
* CLR via C# - az érdekesebb részek (típuskezelés, appdomainek, memóriakezelés etc… - nem feltétlenül a property getter implementáció)
* Kicsit érdekesebben: Bart de Smet : C# 4 UnleashedDesign patterns
* Kezdésnek: http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
* GoF design patterns (Design patterns : elements of reusable code)
* Esetleg Design patterns in C# - érdekes, de nem túl mélyre ható, implementációkkalCraft
* Clean code (Robert C Martin)
* Agile software development : principles, patterns, practices (Robert C Martin)
* Fowler : Refactoring : improving the design of existing code (lookup) – a többi is nagyon jóEnterprise
* Architecting applications for the Enterprise (MS press) – ez nagyon jól összefoglalja a látásmódot
* Microsoft ASP.NET and AJAX: Architecting Web Applications (MS press) – ez inkább finomítja csak
* MVC variációk (Asp.Net MVC, MVVM, MVP) – kipróbálni, használniSpec
* Programming WCF (Löwy) – elég az áttekintő részeket elolvasni
* WPF 4 Unleashed – nem kell a túl mély része, de legalább a középhaladóig terjedő részekEgyéb
* Duffy: Concurrent programming on Windows -
Peter Kiss
őstag
válasz
beleszólok #6031 üzenetére
Ezért írtam a megjegyzésem is, szerintem a kérdést feltevők nem értenek hozzá.
Ctor-ban nem inicializálunk static dolgokat, van static ctor, de annak nem lehet nyilván paramétere.
-
beleszólok
senior tag
válasz
Peter Kiss #6028 üzenetére
Nem szeretnék kötözködni, de az osztály szintű változó az általam ismert nyelvekben különbözik a példány saját változóitól.
Szóval ha szó szerint vesszük a feladatot, akkor a this.x felejtős.
(viszont nem tudom a választ, mert nem értek a C#-hoz) -
kika0901
újonc
válasz
Peter Kiss #6028 üzenetére
És az első kérdésre elég ennyi
Nem kötözködésből csak probálom megérteni.
-
kika0901
újonc
válasz
Peter Kiss #6028 üzenetére
Köszönöm szépen a segítséget
-
kika0901
újonc
Egy kis segítség kéne az alábbi két kérdésre keresem a választ, de seholsem találom
1.Hozd létre a Button osztály egy példányát kódból
2.Egy osztály bemenő paramétere x és van egy ugyanilyen nevű osztály szintű változója. Írd le azt a kódsort, ami beletölti a bemenő értéket az osztály szintű változóba.
Aki tud legyen szíves és segítsen -
-
Hello!
Régen kérdeztem már marhaságotVan egy ilyenem (csak a lényeges részek) :
public class Simple : Form
{
public partial class Anotherform : Form
{
public InitialForm()
{
public Simple()
{
És ezután a Simple Form alá tartozik a Main().Ez utóbbi Simple az alkalmazás, ami szépen futkorászik; az Anotherform egy olyan form, amit a Simple-el közösen akarnék megjeleníteni, néha létszik, néha nem. A bajom az, hogy akár MdiChild-je a Simple-nek, akár nem, a Simple() -en kívüli metódusból nem tudok rá hivatkozni. A Simple() -ban ha példányosítom, arra a példányra tudok hivatkozni a Simple()-ben, de más metódusból hogyan kellene?
(Tulajdonsíágait akarom első körben módosítani, meg majd eseményeket átadni.)
-
Karma
félisten
A legegyszerűbb és legbizonytalanabb az, ha \t tab karakterekkel választod el az oszlopokat (pl. string.Join metódussal összefűzve), aztán kiírod soronként.
Ha ismered előre az oszlopokat, akkor a string.Formatnak oszloponként meg tudod adni, hogy hány karakterre paddelje ki az értéket, és balra vagy jobbra igazítva szeretnéd. {0, X} vagy {0, -X}
Ha nem ismered őket, a string.PadLeft és a .PadRight segíthet.
-
Dinter
addikt
Üdv.
Mi a legegyszerűbb módja console app-ban egy olyan formájú táblázat készítésének, hogy:
1. 2. 3. 4. 5.
A
B
C
D
E
... -
ubid
senior tag
válasz
martonx #6019 üzenetére
Na T4 tample-be nem igazán vagyok otthon. sajnos most ez gyorsabban kell, mint hogy én azt megtanulgassam.
Esetleg más megoldás ?
Azért gondoltam reflection-re, mert ugye ahhoz hogy összehasonlítgassam az értékeket legjobb esetben is felül kell definiálni az Equals metódust, amire egyébként nincs egyáltalán szükségem a rendes kódban...
csupán teszt szempontjából lenne... -
ubid
senior tag
Sziasztok.
Unit testelésről kérdeznék.
Tulajdonképpen egy "raklapnyi" mappert kell letesztelni.
Teszt lényege: Két irányba (tehát oda vissza) mappelem az objektumot és össze kell hasonlítani, hogy minden sikerült -e , tehát veszteségmentesen megmaradt minden adat.
De iszonyat sok property van... tehát kézzel ezt megcsinálni... hát nemáá...
Esetleg van ötletetek, hogy reflectionnel ezt hogyan lehetne ? -
zuzu000
őstag
válasz
Peter Kiss #6015 üzenetére
Igen, vele már jó barátságot kötöttem.
De itt egy újabb kérdés.
string[] szavak-ban vannak szavak, pl szavak[0] = ab
na most, hogy lehet megnézni, hogy a szavak[0]-nak mi az első karaktere, tehát az a-t hogy lehetne előhozni?szerk: szerintem sikerült, létrehoztam egy ideiglenes string-et, amibe beletettem szavak[0]-t, ennek már lehet karakterenként nézni!
-
zuzu000
őstag
válasz
Peter Kiss #6012 üzenetére
Köszönöm! Ebben a félévben kezdtem, még nem jönnek rögtön ezek a megoldások
-
zuzu000
őstag
Sziasztok!
Insert-tel hogy lehet karaktert beilleszteni?
van egy char[] táblázatom és egy string x = aba szavam.
x = x.Insert(2, char[2]);
ez nem működik, mivel string-et kér második argumentumnak. -
Karma
félisten
válasz
rgeorge #6007 üzenetére
A hivatalos oldalt nézted már?
-
rgeorge
addikt
Sajnos ASP.NET WebForms alkalmazást kell továbbfejlesztenem és ehhez kellene egy jó tutorial, C#-ben, VS-ben otthon vagyok, ASP.NET-et csak régen használtam. Nem én döntöm el, miben írták meg, így csak a WebForms érdekel jelenleg. Kb. 1 hetem van a fejlesztésre, tehát nem tudom újrakezdeni sem más alapokon.
Köszönöm. -
sztanozs
veterán
válasz
beleszólok #6005 üzenetére
Mondjuk timestamp nem volt mellette
Tapasztalatból az összes temporary megoldás permanent lesz, amint a termék működikteljesen normális, ha lehetőséget biztosítanak arra, hogy beállíts egy timeoutot, aminek lejártával zombinak minősítesz egy processzt. - ja és beállítod a zimbivá válás konstansát végtelenre; na arra aztán lehet várni
-
beleszólok
senior tag
válasz
sztanozs #6004 üzenetére
Ja, akkor bocs. Megnyitottam az oldalt, kaptam egy képernyőnyi spanyol(?) szöveget és felébredt bennem a menekülési ösztön.
Így már értem, miről van szó, bár azok a kommentek... ilyeneket találhatsz máshol is, ezerszám, attól tartok.A többiről nem tudok nyilatkozni, de az szerintem teljesen normális, ha lehetőséget biztosítanak arra, hogy beállíts egy timeoutot, aminek lejártával zombinak minősítesz egy processzt. (a default érték végtelen, magyarán nem kezeli zombiként, bármilyen lassan ad újabb feldolgozandó adatot)
Illetve még egy:
"Nem tűnik a legjobb megoldásnak, de így hagyom..."
valójában:
"Nem tűnik a legjobb megoldásnak, de most/egyelőre így hagyom..."Azért ez nem ugyanaz.
-
sztanozs
veterán
válasz
beleszólok #6003 üzenetére
c# angol kommentek érdekesek
Találkozás a végzettel:
mscorlib/system/threading/Tasks/ConcurrentExclusiveSchedulerPair.cs:243
// Now that we're doomed, request completion
RequestCompletion();Zombivá vált producer...
System.Core/System/Linq/Parallel/Scheduling/Scheduling.cs:52
// The number of milliseconds before we assume a producer has been zombied.
internal const int ZOMBIED_PRODUCER_TIMEOUT = Timeout.Infinite;A csúf múlt
mscorlib/system/reflection/emit/isymwrappercore.cs:27
// Ideally we wouldn't need ISymWrapper.dll on desktop either - it's an ugly piece
// of legacy. We could just use this (or COM-interop code) everywhere, but we might
// have to worry about compatibility.Szerintem nem kell, de nem tudom bizonyítani...
System/services/monitoring/system/diagnosticts/EventLogInternal.cs:1097
// NOTE, [....]: ERROR_PROC_NOT_FOUND used to get returned, but I think that
// was because I was calling GetLastError directly instead of GetLastWin32Error.
// Making the buffer bigger and trying again seemed to work. I've removed the check
// for ERROR_PROC_NOT_FOUND because I don't think it's necessary any more, but
// I can't prove it...Nem tűnik a legjobb megoldásnak, de így hagyom...
mscorlib/system/globalization/compareinfo.cs:361
// some NLS VM functions can handle COMPARE_OPTIONS_ORDINAL
// in which case options should be simply cast to int instead of using this function
// Does not look like the best approach to me but for now I am going to leave it as it isNem teljesen értem miért működik, így inkább nem piszkálom.
mscorlib/system/reflection/emit/methodbuilder.cs:736
// We used to always "tokenize" a MethodBuilder when it is constructed. After change list 709498
// we only "tokenize" a method when requested. But the order in which the methods are tokenized
// didn't change: the same order the MethodBuilders are constructed. The recursion introduced
// will overflow the stack when there are many methods on the same type (10000 in my experiment).
// The change also introduced race conditions. Before the code change GetToken is called from
// the MethodBuilder .ctor which is protected by lock(ModuleBuilder.SyncRoot). Now it
// could be called more than once on the the same method introducing duplicate (invalid) tokens.
// I don't fully understand this change. So I will keep the logic and only fix the recursion and
// the race condition.Ezt a részt nem fogom karbantartani.
system/threading/Tasks/Parallel.cs:3421
// I'm not going to try to maintain this -
sztanozs
veterán
Érdekes részletek a .NET forráskódból
[link] -
sanzi89
addikt
Valaki esetleg tudja az alábbi kérdésre a választ?
4. C#-ban mint NEM tárol egy metódusreferencia-objektum?
a) A rajta keresztül meghívandó metódus visszatérési értékét
b) A rajta keresztül meghívandó metódus címét
c) A rajta keresztül meghívandó metódus tárolási osztályát ???
d) A rajta keresztül meghívandó metódus argumentumaitAmi biztos, hogy az a) válasz rossz. Köszi előre is!
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- OLED TV topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Azonnali notebookos kérdések órája
- HP notebook topic
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Fujifilm X
- Milyen routert?
- exHWSW - Értünk mindenhez IS
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Milyen légkondit a lakásba?
- További aktív témák...
- HP EliteBook 840G6 ! AKCIÓ!!! a készlet erejéig!
- Kobo Aura Edition 2 (N236) 6" háttérvilágításos kijelzővel, 4 GB-os tárhellyel - jó állapotban
- HP ProBook 430 G8, 13,3" FHD IPS, I5-1135GU CPU, 16GB DDR4, 256GB SSD, WIN 11, 27% áfás számla, 1 év
- Playstation Portal - 3 hónap Bolti Garanciával
- BESZÁMÍTÁS! ÚJ AMD Ryzen 5600X 5700X 5800X 5900X processzor 3 év garancia 27% áfa termékbeszámítás
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 256GB SSD I 12,5" HD I HDMI I CAM I W10 I Gari!
- Bomba ár! HP Elitebook 850 G3 - i7-6GEN I 16GB I 256GB SSD I RadeonI 15,6" FHD I Cam I W11 I Gari!
- BESZÁMÍTÁS! MSI SUPRIM X RTX 4080 16GB videokártya garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest