- Gaming notebook topik
- Házimozi haladó szinten
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- 3D nyomtatás
- Kormányok / autós szimulátorok topicja
- Autós kamerák
- TCL LCD és LED TV-k
- Megérkezett Magyarországra a Samsung új OLED gaming monitora
- Milyen alaplapot vegyek?
- Azonnali processzoros kérdések órája
Hirdetés
-
OneSport OT05 - finomhangolás
ma Mit hiányoltunk eddig a kedvező árfekvésű kínai bringákból a leginkább? A nyomatékszenzort. A OneSport újdonsága végre megkapta ezt a megoldást.
-
Költséghatékony 4K-s monitorokkal adott magáról életjelet az AOC
ph A 68,58 cm-es, pszeudó-10 bites páros megelégszik a 60 Hz-cel, de azt dinamikusan variálhatja, és a fedélzeti I/O-ja sem olyan rossz.
-
Biztonsági aggályok miatt késik a Microsoft hatalmas AI-újítása
it A Microsoft úgy döntött, hogy biztonsági aggályok miatt elhalasztja a Recall AI funkciót, így azt csak szűkebb körben tesztelik egyelőre.
Új hozzászólás Aktív témák
-
drkbl
őstag
Esetleg ez segít legyártani az Encoding leszármazottat.
-
drkbl
őstag
válasz Neil Watts #2890 üzenetére
Gondolom a Beolvas gombra kattintasz elsőre. elemszam=0, az i ciklus addig tart, amíg i kisebb, mint elemszam, nulláról indulva. Ez sosem teljesül, elemszam marad 0.
-
drkbl
őstag
válasz Neil Watts #2895 üzenetére
Hasonló esetben használd a debugger töréspontját, ha az elemszam++; sorra tettél volna egy töréspontot, láttad volna, hogy nem lép be a ciklusba
-
drkbl
őstag
válasz Neil Watts #2898 üzenetére
1) Felveszel egy boolean mezőt az osztályba, amit igazra állítasz az első lefutás előtt, majd az eseménykezelőben nézed, hogy hamis-e még, csak akkor fut le a ciklus
bool Feltoltve = false; // [L:http://msdn.microsoft.com/en-us/library/83fhsxwc(v=VS.80).aspx]a default false[/L], de így talán érthetőbb a kód
private void buttonBeolvas_Click-be az új kódod az alábbi, régi szerint:
if (!Feltoltve) {
for (int i = 0; i < elemszam; i++) {
Nevek[elemszam] = Benevek[i];
Azon[elemszam] = BeAzon[i];
elemszam++;
}
Feltoltve=true;
}vagy
2) buttonLista.Enabled = true; után buttonBeolvas.Enabled=false; így rá sem tud kattintani még1x
[ Szerkesztve ]
-
drkbl
őstag
Mindeközben, a Windows 8 Consumer Preview árnyékában: [link]
-
drkbl
őstag
Miért kattint mégegyszer a feltöltőgombra? Mert változtak az adatok. Hogy működjön? Automatikusan? Akkor a gombnyomásra elsőnek törölje az adott busz adatait, aztán vigye fel újra. Manuálisan? Ha van az adott busznak rekordja, akkor kérdezze meg, törölni akarja-e a régi adatokat. Brutálisan? Miután kattintott és lefutott a rutin, tiltsa le a gombot
Továbbá lehet kezdeti állapot (ha külön gomb van a törlésre):
Gomb engedélyezve=van adatbázis ÉS nincs benne adott busz rekord -
drkbl
őstag
válasz WonderCSabo #2966 üzenetére
Nem LINQ, de szerintem okos: [link]
Az általam kiemelt részlet:
if (e.Label.IndexOfAny(new char[]{'@', '.', ',', '!'}) == -1)
{
// Stop editing without canceling the label change.
e.Node.EndEdit(false);
}
else
{
/* Cancel the label edit action, inform the user, and
place the node in edit mode again. */
e.CancelEdit = true;
MessageBox.Show("Invalid tree node label.\n" +
"The invalid characters are: '@','.', ',', '!'",
"Node Label Edit");
e.Node.BeginEdit();
} -
drkbl
őstag
válasz WonderCSabo #2970 üzenetére
Szerintem nincs, szvsz. a LINQ itt igen nagy overkill.
LINQ: ha esetleg nem ismered: [link]A
(from char s in "bad input"
where !(from char c in "okchars" select c).Contains(s)
select s).Count()kifejezés a nem megfelelő karakterek számát adja vissza (9 karakterből csak az "a" szerepel a megfelelő karakterek között, az eredmény 8).
[ Szerkesztve ]
-
drkbl
őstag
válasz WonderCSabo #3063 üzenetére
pl. Delphi / Pascal.
Nekem személy szerint jobban is tetszik az x in [0,3,4,6], mint a Set.Contains().
-
drkbl
őstag
A Visual Studio debugger használata: [link]
-
drkbl
őstag
válasz Des1gnR #3082 üzenetére
Silverlight relatíve távol áll tőlem, de úgy gondolom, ha egy panel leszármazottra tetted a gombokat, akkor a Panel.Children System.Windows.Controls.UIElementCollection típusú kollekció elemein végighaladhatsz. Ha a gombokat buttonX-nek nevezted el, akkor azt kellene vizsgálni egy belső ciklusban, hogy melyik gyerek neve buttonX, ha megtalálta, beállítani a láthatóságot és megszakítani a ciklust.
ciklus i 0-tól Érték-1-ig
ciklusj 0-tól Panel gyerekeinek száma mínusz egyig
ha panel.Children[j] Control típusú
ha ((Control) panel.Children[j]).Name==String.Format("button{0}", i) akkor
((Control) panel.Children[j]).Opacity=1;
break;[ Szerkesztve ]
-
drkbl
őstag
-
drkbl
őstag
válasz Des1gnR #3091 üzenetére
Ha egy menetben növeled x-et és y-t, akkor átlósan rakja le őket. Kell egy fix bal oldal változó, egy ideiglenes bal oldal és egy ideiglenes felső koordináta. Kezdetben az ideiglenes és fix bal oldal megegyezik. Lerakod az első gombot ideiglenes bal oldalra, növeled az ideiglenes bal oldalt gombszélesség + közzel. Ha x gomb le van rakva, ideiglenes bal oldal vissza fixre, ideiglenes felső pedig gombmagasság+közzel nő. Ehhez olyan konténer kell, ahol pozicionálható a gomb, pl. Canvas.
Azt, hogy x gomb van lerakva, vizsgálhatod úgy is, hogy a ciklusváltozó osztva az egy sorba kívánt gombok számával maradéka mikor nulla. -
drkbl
őstag
-
drkbl
őstag
A másik oldalról megközelítve: When to Use Generic Collections
-
drkbl
őstag
Nem igazi válasz, inkább csak ismereteim összefoglalása
Pontosan A generikusok legnagyobb előnye a boxing/unboxing [1][2] elkerülése.
A hash, mint a linkelt cikk írja, arra jó, hogy komplex kulcsot rövidít. Pl. tárolni kell 1000 nagyságrendű embert, kulcs név+születés helye+születés ideje+anyja neve, akkor megfelelő, az adott tartományban ismétlődést nem adó hash függvénnyel memória spórolható, és/vagy a keresés nagyban gyorsítható. Pl. egy adatrögzítő View saját magán belül ellenőrizheti a véletlen ismétlődést.
A hash függvény viszont adhatja ugyanazt az eredményt különböző kulcsokra, ezért kezelni kell a hash ütközést (amúgy nem túl régen kénytelenek voltak kiadni egy biztonsági frissítést az ütközéskezelés időigénye DoS lehetőség miatt a keretrendszerhez). A HashTable és a Dictionary más-más módszert használ erre, ez is lehet szempont a választáshoz.
-
drkbl
őstag
Utánanézve, ajánlott a Dispose használata a nem menedzselt erőforrások felszabadításához: Image.Dispose Method
Cleaning Up Unmanaged Resources
Kérdés továbbá, hogy GetThumbnailImage új képet ad vissza, vagy hivatkozik az eredetire, mert amíg hivatkozik, nem szabadul fel a hivatkozás miatt.
-
drkbl
őstag
-
drkbl
őstag
válasz ArchElf #3309 üzenetére
Ez mit jelent? Paraméterek használatát? Nekem ZEOS múlttal annyit, hogy az SQL lekérés lefordítódik "vonali" formátumra.
-
drkbl
őstag
válasz ArchElf #3312 üzenetére
Értem. Az SQL utasításba gyömöszölt paramétert nem tekintem paraméternek, mert pl. az Oracle Enterprise Manager is az ilyen utasítások parametrizálását javasolja (tehát paraméter nélküli SQL-nek nevezi), illetve mind az Oracle, mind az SQL Server automatikusan meg is teszi a paraméteres formára cserélést, ha engedélyezett, és azt tapasztalja, hogy ugyanaz az SQL parancs, csak az adat rész változik.
A hajónaplónak: Ez utóbbi funkció persze csak az általad leírt teljesítményjavítást szolgálja, injection ellen nem véd.
-
drkbl
őstag
válasz WonderCSabo #3331 üzenetére
Amikor először írtad ezt a napokban, írtam egy kis tesztprogramot. Close() felszabadította a Show() formot, a ShowDialog()-ot nem.
"The two conditions when a form is not disposed on Close is when (1) it is part of a multiple-document interface (MDI) application, and the form is not visible; and (2) you have displayed the form using ShowDialog. In these cases, you will need to call Dispose manually to mark all of the form's controls for garbage collection." [link]
Ami érdekes volt, Arrandale i5 laptopon volt vagy három másodperc újra meghívni a Show() metódust (és megjelent az ablak), mielőtt a GC szanálta volna
[ Szerkesztve ]
-
drkbl
őstag
válasz martonx #3395 üzenetére
Ez már csak azért is érdekes lenne, mert a Lightswitch erre épül...
[ Szerkesztve ]
-
drkbl
őstag
-
drkbl
őstag
Free ebook: Under the Hood of .NET Memory Management
-
drkbl
őstag
válasz martonx #3440 üzenetére
Csak kb. Azért érdemes vele foglalkozni, nálunk a webszervereknél mondták, hogy az is a sebességproblémánk oka, hogy a garbage collector miatt az egész appdomain megáll, amíg folyik a gyűjtés... Érdemes odafigyelni a generációkra, öreg objektumokra, beragadt eseménykezelőkre, amelyek nem hagyják "veszni" az objektumokat, stb.
-
drkbl
őstag
válasz martonx #3444 üzenetére
Nem is mondtam, hogy mondtad Itt a topicban a teljesítmény-problémák nem igazán kerültek még szóba, pedig extrém string összefűzés StringBuilder nélkül, illetve boxing-unboxing okozhat gondokat, pl. Paint eseménykezelőben.
GC jellegű problémák inkább a nem menedzselt erőforrások felszabadításánál jellemzőek, miért nem engedi el a fájlomat, amikor a lokális változó kifutott már a hatókörből, pl.
-
drkbl
őstag
Nem értek hozzá, de az ötösnél fejlesztettek a nyomtatáson, upgrade esetleg szóba jöhet?
"Silverlight 4 added bitmap printing support. However, all content was rasterized as a bitmap. Silverlight 5 adds vector printing support, which improves printing quality and performance. For more information, see Printing."
PS: Nem volt még időm a Silverlightbe elmélyedni, de ezt a linket félretettem: Silverlight Reporting.
[ Szerkesztve ]
-
drkbl
őstag
Visszatérve a második pontra, PDF helyett XPS talán hasznosabb lenne:
Simplifying printing in Windows 8
"Printing from win32 applications requires knowledge of graphics programming, either GDI (Graphics Device Interface) or XPS"
"To give a real example, an app such as Word uses the GDI graphics system to draw the content both to the screen and to the printer. When possible, the print system uses a high quality intermediate format called XPS (XML Paper Specification) as its internal content format; we convert the content from Word into XPS"
"Once the content is being managed by the print system, it is then converted to the format that the printer understands (if necessary; there are lots of printers that understand XPS directly)..."
-
drkbl
őstag
válasz martonx #3659 üzenetére
".. TypeScript: “a strict superset of JavaScript that compiles to plain JavaScript”. What “strict superset” means is that all the valid JavaScript that already exists is also valid TypeScript; it’s like the relationship between C++ and C."
"It’s even more different to cross-language compilers like Script# or ClojureScript, which take an entirely different language originally intended for an entirely different purpose and runtime, and hammer it into JavaScript submission. And it’s not a unilateral attempt to replace JavaScript like Google’s Dart, which also compiles to JS, but is primarily intended to have its own virtual machine runtime;"
-
drkbl
őstag
Szokásos időszakos offom, ezúttal a menedzselt kód teljesítményéről: Twitter survives election after Ruby-to-Java move
Ú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!
- XFX GTS RX 580 8GB OC - eladó!
- Samsung Galaxy Watch 4 Classic 46mm, E-SIM, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy S21+ 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Beats Studio 3 Wireless /// Makulátlan Állapot // Számla + 6 Hónap Garancia
- 1More ComfoBuds Pro Vezeték nélküli fejhallgató ZAJSZŰRÉSSEL /// ÚJ // Számla + garancia