Új hozzászólás Aktív témák
-
Micsurin
nagyúr
Köszi a helpet!
Más volt...
Leírom ,hogy meglegyen.
Nem fogjátok elhinni. A noti rendszere belezett csak az van frissítve vagy nem kigyomlálva amire feltétlen szükség van.
Ennek a gyökér alk.nak a bejelentkező ablaka az IE-n keresztül nyílik. Emiatt IE11 kell neki. Nekem 8 volt fent, frissítést követően azonnal enged bejelentkezni.The Separatists have no regard for innocent life. They don't care who walks away from war and who doesn't. That's why we move on them now, Commander……and Wolfpack leads the hunt.
-
DrojDtroll
addikt
Sziasztok!
Fejlesztek egy Forms alkalmazást, ahol feladat, hogy különböző képekre vonalakat lehessen rajzolni a következő működéssel:
A felhasználó lenyomja a bal egér gombot(ez lesz a kezdőpont) -> lenyomott egérgombbal a felhasználó meghúzza az egyenes vonalat -> ha elérte a kívánt végpontot akkor felengedi az egérgombot. Az egér mozgása közben folyamatosan látszódnia kellene a rajzolt vonalnak. Pontosan úgy kellene működni, mint amikor paintben vonalat rajzolunk, illetve a rendernek is ugyan olyan gyorsnak kellene lennie.Jelenleg egy elég kompromisszumos és rossz megoldásom van. A felhasználó kattint mind a két ponton. Egy anti alaising osztály megmondja, hogy milyen képpontok esnek a két pont közé. A megkapott pontokon végigiterálva beállítom a bitmap pixeljeit a megfelelő színűre. Ezzel főkép az a probléma, hogy nem látja a felhasználó előre amit létre fog hozni.
-
BTminishop
aktív tag
válasz DrojDtroll #8303 üzenetére
Az én ötletem az lenne, hogy a kezdőpont meghatározása után az egér pozícióját lekérdezni és azokat a pontokat befesteni a megfelelő színre, ezzel ugye csak az a gond, hogy globális koordinátákról van szó - tehát az egész ablakról nem konkrétan a négyzetről de ezt valahogy csak meglehet oldani.
[ Szerkesztve ]
-
DrojDtroll
addikt
válasz BTminishop #8304 üzenetére
Ez teljesen világos. A függvények meg is vannak a globálisról lokális koordinátára alakításra.
-
BTminishop
aktív tag
válasz DrojDtroll #8305 üzenetére
Akkor mi is a probléma?
-
DrojDtroll
addikt
Nem hiszem hogy a paintben minden egyes mozdulatkor új kép generalodik.
Van egy pictureboxom. Az image-e egy Bitmap. Amikor a Bitmap-et megvaltoztom akkor automatikusan változik az is amit a pictureboxon látok? Vagy valami frissítő metódust kell meghívni?
-
vlevi
nagyúr
válasz DrojDtroll #8307 üzenetére
Nem ástam bele magam C#-ban a kép kezelésbe, de egy tippem lenne, használj egy másik, átlátszó képet az eredeti fölött. Kábé, mint egy új layert. Ezen rajzold a vonalat, és csak ezt a képet frissítsd. Amikor a felhasználó befejezi a rajzolást, elég akkor rátenni véglegesen az eredeti képre a vonalat.
u.i.: Elindítottam a VS-t, és úgy látom, a pictureboxnak van Image, és BackgroundImage propertyje. Szerintem érdemes kipróbálni, hogy a "rendes" képed a backgroundimage-ben van, és a rajzolást az image-ben csinálod, és amikor készen van, akkor bemásolod az image-be.
Vagy, nem is kell bemásolni, mert, csak egy vonalat kell rá húzni. -
DrojDtroll
addikt
Köszi a tippet.
Amikor a felhasználó rajzolja a vonalat, és új koordinatara érkezik az eger, akkor a régi koordinátákat nem kellene eldobnom, hogy tudjam mit kell visszaszinezni átlátszóra. Gondolom ez így gyorsabb mint végigmenni az összes keppontton.
Jól gondolom?
-
lord.lakli
őstag
válasz DrojDtroll #8309 üzenetére
Miért nem dobod el az egész "képet"?
-
DrojDtroll
addikt
válasz lord.lakli #8310 üzenetére
ki fogom próbálni ezt a lehetőséget is.
-
DrojDtroll
addikt
Adott az alábbi hover esemény:
private void pictureBox1_MouseHover(object sender, EventArgs e)
{
Point Loc = iom.pict.GetLoc(UserControls.Positioner.GetAbSLoc(pictureBox1));
try
{
if (Mouse.LeftButton == MouseButtonState.Pressed)
{
clickHandler.Moved(Loc);
}
Iom.pict.toolTip.SetToolTip(this.pictureBox1, "X:"+Loc.X.ToString()+" Y:"+Loc.Y.ToString()+" Intenzitás"+iom.m.avg_int_array[Loc.X, Loc.Y].ToString());
}
catch (Exception)
{
}
}Az if nem úgy működik ahogy kellene neki. Hiába van lenyomva a bal touchpad gombja, nem hívódik meg a Moved metódus.
Mi lehet a gond?
-
martonx
veterán
válasz DrojDtroll #8312 üzenetére
Lehet, hogy paraszt vagyok, de ha megdebuggolod, akkor biztosan látni fogod, hogy mi történik.
Én kérek elnézést!
-
daddyfej
újonc
Hi!
Olyan kérdésem lenne hogy egy .csv fájl adatai benne vannak egy datagridviewer-ben, és úgy szeretném szelektálni a sorokat, hogy amit beleir a felhasználó a textbox-ba és az egyezik az első oszlopban található szöveggel csak azokat írassa ki.
Köszi előre is a segítséget!
ui:még nem vagyok igazán profi. -
cattus
őstag
válasz DrojDtroll #8312 üzenetére
Tippre azért, mert a Hover esemény csak akkor sül el, amikor a kurzor az adott elemen kívülről az adott elemen belülre kerül (ráhúzod), nem pedig azt, hogy az adott elemre kattintott-e az egérgombbal. Felteszem az a szándékod, hogy a pictureBox-on történő egérkattintást kezeld. Ez esetben, ha van neki _Clicked függvénye akkor azt implementáld, vagy ha nincs, akkor tedd bele egy olyan konténerbe, aminek van. Vagy feliratkozhatsz az egér eseményére is és nézheted, hogy éppen az adott elemen belül van-e, de ez talán a leginkább kerülendő megoldás.
Do the thing!
-
togvau
senior tag
hello
Van egy háttérlogikás osztályom (kisebb módosításokkal egy javas dolog át C#-sítva). amihez van GUI, és a MainWindow.xaml.cs-ben pedig egy button clicknél egy ilyen:
if (gemail.Text != null && gepassword.Password != null && gemail.Text.Length > 4 && gepassword.Password.Length > 10)
{
///*Task.Run(() =>*/ insta.LetsDoThis(gemail.Text, gepassword.Password,destination)/*)*/;
new InstLogic().LetsDoThis(gemail.Text, gepassword.Password,destination);
}Így működik, csak ugye a háttérlogika blokkolja a GUI-t amíg nem végez, én meg szeretném hogy legyen valami visszajelzés hol tart.
De ha a new-es sort kommentelem ki, és Task.Run-al futtatom, akkorException thrown: 'System.InvalidOperationException' in WindowsBase.dll
The calling thread cannot access this object because a different thread owns it.A lényeg az lenne, hogy a háttérlogika "írhasson" a gui-nak, frissítgessen feliratokat, aszerint ahogy halad.
[ Szerkesztve ]
hitler, sztálin, micro usb
-
togvau
senior tag
a vicc az, hogy az egészet meghívó metódusban történik ez, mivel a button click meghívja egyszer a taskot, majd még egyszer, ki tudja miért...
hitler, sztálin, micro usb
-
őstag
Egyfelől írja a kivételben, hogy mi is pontosan a baja, másfelől meg rákeresve google első találatban megoldás is van.
Ajánlott átolvasni: Threading Model, azon belül ami most téged érint: Dispatcher, abból is pl Invoke(Action)
Ha meg már
Task.Run
, akkor sokkal inkábbawait Task.Run
, a gomb eseménykezelő függvény megasync void
.[ Szerkesztve ]
¯\_(ツ)_/¯
-
togvau
senior tag
válasz Szabesz #8321 üzenetére
Azt írja ki, amit bemásoltam. Semmi többet.
Van egy rakás "megoldás", csak egyik sem működik. A linkelt megoldásban például az nem, hogy a this.-nek nincs Dispatcher-e.
A legközelebbi ez volt amit kitaláltam, így pl a buttonclick-ben a Task.Run MÁSODSZORI meghívásánál hasal el:
MainWindow.thiswindow.Dispatcher.Invoke(() => { Installer.MainWindow.thiswindow.choice.Items.RemoveAt(0); });
Csak kérdés, hogy 1 klikkre, ki hívja meg másodszor a buttonclicket, és ezt:
await Task.Run(() => { new InstLogic().LetsDoThis(gemail.Text, gepassword.Password, destination); });
Szóval sok mindent próbáltam, és ha nem az invoke-nál hasal el, akkor a rejtélyes másodszori Task.Run-nál hasal el. De a fura, hogy ha csak simán new-el ugyan abban a threadben indítom, akkor csak 1x fut le a buttonclick, és csak egyszer indul.
(Pedig de egyszerű volt magát a háttérlogikát asyncesíteni... bár bonyolultabb mint Java-ban, de nem vészes. Külön-külön max 8 szálakon tölt fájlokat, ellenőriz hashkódot, kicsomagol, stb...)
[ Szerkesztve ]
hitler, sztálin, micro usb
-
őstag
"Azt írja ki, amit bemásoltam. Semmi többet."
Igen, pontosan ott írja, csak értelmezni kell: "The calling thread cannot access this object because a different thread owns it.". Elolvastad amit linkeltem a threading-ről?
"A linkelt megoldásban például az nem, hogy a this.-nek nincs Dispatcher-e."
Melyikthis
-nek? Nyilván mindegyiknek nem lesz, de a szóban forgóthis
-nek van. A te esetedben aclass MainWindow : Window
példánynak lesz ilyenproperty
-je.
Bárhol máshol kézenfekvően tudod használni aApplication.Current.Dispatcher
példányt.Magától csak úgy nem fog kétszer meghívódni, de ezt a kódod teljes ismerete nélkül senki sem fogja megmondani pontosan miért történik.
Egy kicsit jobban el kellene mélyedned a fentebb linkelt témákban, mert azok alap ismerete nélkül rengeteg probléma fog még megtalálni.
A fenti példáknál feltételeztem, hogy WPF alkalmazásról van szó (többinél sem tér el jelentősen).
[ Szerkesztve ]
¯\_(ツ)_/¯
-
togvau
senior tag
válasz Szabesz #8323 üzenetére
Ahogy vártam, ugyan az a hiba, így is:
await Task.Run(() => { new InstLogic().LetsDoThis(gemail.Text, gepassword.Password, destination); }); és itt elszáll.
Mégsem hívódik meg 2x, csak 1x. Beraktam egy >= hit countos breakpointot, és nincs kettő.
Tehát ha nincs invoke, akkor a háttérlogika abban a sorában száll el, ahova kéne. Ha van mindenhol, akkor meg már a task.run-nál elszáll, méghozzá akkor, amikor a háttérlogika konstruktora lefutott (amiben speciel nincs semmi).
Tehát nem csinál semmit, és elszáll az exceptionnal a háttérlogika osztály példányosításakor. Ezt is a konstruktorban elhelyezett breakpointtal néztem. Tehát vége a konstruktornak, F10 tovább lépés, a Task.Run-nál exception.
Na ilyet még nem láttam semmilyen nyelvben.Ha ehelyett new InstLogic().LetsDoThis(gemail.Text, gepassword.Password,destination); van, működik. Csak nem frissül a gui.
[ Szerkesztve ]
hitler, sztálin, micro usb
-
togvau
senior tag
Háttt ez... FURA
insta.email = gemail.Text;
insta.pass = gepassword.Password;
insta.dest = destination;
insta.choicess = choice.SelectedItems;
await Task.Run(() => insta.LetsDoThis());Így működik. Tehát nem lehet a task runnál paraméter, mert ha van, akkor a szokásos exception. Ha nincs, működik.
De akkor miért nem azért sír?
hitler, sztálin, micro usb
-
őstag
"Ahogy vártam, ugyan az a hiba, így is:
await Task.Run(() => { new InstLogic().LetsDoThis(gemail.Text, gepassword.Password, destination); }); és itt elszáll."
Persze, hogy elszáll, hiszen egy UI száltól különböző szálon próbálsz meg hozzáférni egy UI elem csak UI szálról elérhető
property
-jéhez:gemail.Text
<- ez itt tippre egy aMainWindow
-on lévőTextBox
gepassword.Password
<- ez meg egyPasswordBox
Tényleg, átolvasni, és értelmezni, mert enélkül marha nehéz: Threading model.
#8325 és a fenti alapján mostmár remélem kezd összeállni a kép, mi mikor miért nem megy.
[ Szerkesztve ]
¯\_(ツ)_/¯
-
-
togvau
senior tag
válasz martonx #8328 üzenetére
Ja, végül is, amikor egy opensource játékba C# kódoltam ilyesmi problémák nem voltak
Viszont van a kódomban egy valami, egy sima letöltés számláló amihez csak annyi kell, hogy behív a weboldalra, mintha egy böngésző címsorába beírnék valamit.
WebRequest.Create("http://valami.valahol.hu/akármi/index.php?letoltoazon=kod");
Ez tavaly működött, de most nem. De ugyan ezt a stringet böngésző címsorban ellőve, megjelenik a számláló adatbázisban.
De a c# programból nem. Nincs exception, és ráfut a sorra.
Szerk: megvan, kellett egy GetResponse() rá, különben nem csinálja a dolgot.
[ Szerkesztve ]
hitler, sztálin, micro usb
-
togvau
senior tag
Milyen ingyenes egyszerű obfuscator akánlott? Lehetőleg mindenféle sallang, pl telepítés nélkül
Mert elég beszédes a fordított kód...
[ Szerkesztve ]
hitler, sztálin, micro usb
-
Orionk
senior tag
Sziasztok,
Tudnátok légyszíves segíteni, főleg akik már vizsgáztak, hogy
Magyarországon hol lehet jelentkezni és mi a menete egy C# Microsoft 70-483 as vizsgának?Köszönöm szépen.
-
petyus_
senior tag
Ezen az oldalon, amit linkeltél, rámész a schedule exam-re, megadod az adataidat, kiválasztod a helyet, ahol vizsgálni szeretnél, választasz időpontot, és kb ennyi. Elmész, viszel valami okmányt (rémlik valami olyasmi, hogy 2 féle okmányt kell vinned), amivel azonosítanak, kipakolsz mindent a zsebeidből, semmit nem vihetsz be (talán még papírzsebkendőt is adnak, hogy ne a sajátodat vidd), beülsz, megírod, kijössz .
Én a Training360-nál voltam, de úgy rémlik, hogy több hely közül lehetett választani
[ Szerkesztve ]
-
chepavel
aktív tag
Szia,
Nem tudom mennyire elvaras a "helyszini" vizsga, de, van opcio "online proctored" vizsgara is, az utolso nehanyat igy nyomtam (bekes megyeikent nincs ennel kenyelmesebb!)
Siman beregisztralsz a vizsgara a MS oldalan keresztul (ott van a "schedule exam" opcio), kivalasztod az idopontot, kartyaval fizetsz, es ennyi. Idoben belepsz, nehany kotelezo moka egy proctorral (igazolvany bemutatasa webcamba, ilyesmi), es lenyomod a vizsgat, ugyan azona szoftveren keresztul, amit a vizsgakozpontban hasznalnal.Tobb info, requirements EZEN az oldalon.
Update: lemaradt, szemelyes vizsgara elotte mindig Netacademiahoz mentem. Csak jo tapasztalatom van veluk.
[ Szerkesztve ]
Áj Láv Aggregáth 5.0! ||| Rosetta@home, lépj be Te is a PH! csapatába! ||| https://500px.com/pavelandras
-
Orionk
senior tag
válasz chepavel #8334 üzenetére
Köszönöm mindenkinek!
Úgy érzem, hogy megpróbálok egy ilyen online vizsgát. Mert, ha nem sikerül, akkor gyorsan lehet másik vizsgát tenni, akár 1 hétre rá.
Erről van valami infótok, hogy milyen szabályok vonatkoznak a vizsgára? Milyen időközönként lehet pl. ismételni? Vagy akármi másik szabályozás?
köszi
-
amargo
addikt
Amúgy van bármilyen értelme is ezeknek a vizsgáknak? Munka / projekt kapcsán kérték mar valakitől?
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
Keem1
addikt
Már megint elakadtam
A téma lehet hogy ismerős lesz a korábbi posztjaimból, de azért frissítem az emlékeket.Nagy (több GB-os) XML-ekkel dolgozunk, amit az xmlReader.ReadToFollowing("product") segítségével olvasok végig (így piszok gyors és szinte semmi memóriafogyasztása sincs a DOM-alapú megnyitáshoz képest).
XML struktúra:
<product-export>
<product>
<product>
<product>
</product-export>Amikor egy adott product node-on vagyok, akkor azt az egyet betöltöm egy DOM alapú objektumba, és azzal az eggyel már DOM alapon dolgozom. Így valójában hiába van az XML-ben több tízezer <product> node, mindig csak egyet töltök be DOM-ba és dolgozom vele. Ez eddig beválni látszott, ám úgy tűnik, egy óriási hiba van a gépezetben. Ugyanis onnan kezdve, hogy betöltöm az egy szem node-ot, rögtön szelektálni kezd a program, és kihagy egy csomó product node-ot. Nem jöttem rá, miért, és mi alapján. Van egy kicsi teszt fájlom, 35 node-dal, ebből 17-et lát ezzel a módszerrel. A DOM-részt kihagyva végigszalad mind a 35-ön.
Mutatom:
while (xmlReader.ReadToFollowing("product"))
{
if (xmlReader.Name.Equals("product") && (xmlReader.NodeType == XmlNodeType.Element))
{
// Számláló továbbléptetése
counter++;
Console.WriteLine(counter.ToString() + ". " + xmlReader.Name.ToString());
XmlDocument xmldoc = new XmlDocument();
XmlElement root = xmldoc.CreateElement("product-export");
xmldoc.AppendChild(root);
XmlNode node = xmldoc.ReadNode(xmlReader);A legutolsó kódsornál jelentkezik az anomália (
XmlNode node = xmldoc.ReadNode(xmlReader);
). Ha kikommentezem, ugyan üres lesz a DOM-om, de végigmegy az összes producton. Ezt a számláló utáni kiíratás mutatja.Kimenet, ha kikommentezem az említett részt:
0. product
1. product
2. product
3. product
4. product
5. product
6. product
7. product
8. product
9. product
10. product
11. product
12. product
13. product
14. product
15. product
16. product
17. product
18. product
19. product
20. product
21. product
22. product
23. product
24. product
25. product
26. product
27. product
28. product
29. product
30. product
31. product
32. product
33. product
34. product
35. productÉs ha benne hagyom:
0. product
1. product
2. product
3. product
4. product
5. product
6. product
7. product
8. product
9. product
10. product
11. product
12. product
13. product
14. product
15. product
16. product
17. productMit rontok el?
[ Szerkesztve ]
-
-
Keem1
addikt
válasz Peter Kiss #8338 üzenetére
A cél az lenne, hogy mindig, amikor egy új product node-hoz elérek, azt úgy egyben beolvassam egy XmlDocument-be.
Igen, sejtettem, hogy valami ilyesmi gond állhat mögötte.Viszont lehet, hogy megtaláltam a megoldást?
XmlNode node = xmldoc.ReadNode(xmlReader.ReadSubtree());
Látszólag azt csinálja, amit szeretnék, de nem mélyedtem bele, nem néztem meg, hogy minden szükséges adaton végigszalad-e így, viszont a csomópontok száma stimmel.
-
sztanozs
veterán
-
-
Keem1
addikt
válasz sztanozs #8341 üzenetére
Nagyon úgy fest az ábra, hogy a node-ba töltéskor meghívott
xmlReader
olvasott még egyet.
De a fentebb írt megoldással sikerült áthidalni.Sajnos muszáj volt így megoldanom, talán már nem emlékeztek rá, de örököltem a projekt továbbvitelét, arra viszont semmi időm nincs (egyedül kellene), hogy nulláról újraírjam az egészet. Így ahol tudok, javítok, fejlesztek, optimalizálok. Viszont a kiszedett
XmlNode
objektumokhoz nem éri meg hozzányúlni, mivel a kártyavár alján van.És épp ezért valószínűsítem, hogy ti is hallani fogtok még erről a projektről ( ), biztosan elő fog kerülni újabb és újabb probléma. Ha belefognék, pár hét alatt kéne újraírni, arra (mivel nem csak ezt csinálom) semmi időm nincs.
[ Szerkesztve ]
-
petyus_
senior tag
Tavaly voltam a Grape-nél interjún, előtte lett meg ez a vizsgám (70-483), ott örültek neki, meg mondták, hogy évente 1-2-re ők is elküldenének. Nekik azért kellett, mert Microsoft Certified Partnerek (vagy valami ilyesmi a neve), és ehhez kell hogy legyen a cégnél x fejlesztő, akinek vannak ilyen certjei. Illetve a mostani munkahelyemen is mondták egyszer, hogy mindenki írja be milyen certjei vannak, mert az egyik ügyfélo csak akkor jön, ha van x darab.
-
togvau
senior tag
WebClient wc= new WebClient();
wc.Dispose(); -nál timeoutol. De néha a downloadfile-nál is.
Miért? kb 550 fájl külön külön letöltése, összesen kb 500 mega méretben.
Ugyan ennek a programnak a Java változatánál nincs ilyen gond, (mellesleg sokszor gyorsabb is, 15 másodperc vs ~2 perc, pedig a .net-es változatban 8 letöltési szálra van korlátozva, de java-ban is csak 10)
[ Szerkesztve ]
hitler, sztálin, micro usb
-
martonx
veterán
Meg is van a cikk, bár ez még .Net frameworkos, de a lényeg benne van.
https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/
[ Szerkesztve ]
Én kérek elnézést!
-
sztanozs
veterán
Majdnem egy évvel ezelőtt is próbáltunk már lebeszélni a WebClient-ről... Ennyi idő alatt se sikerült váltani?
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...
Ú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!
- Samsung Galaxy S24 - nos, Exynos
- Redmi Note 13 Pro+ - a fejlődés íve
- S.T.A.L.K.E.R.: Shadow of Chernobyl
- Mobilinternet
- Vezeték nélküli fülhallgatók
- S.T.A.L.K.E.R. Clear Sky
- bitpork: Fogyasztásra ítélve
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- Ford topik
- Milyen billentyűzetet vegyek?
- További aktív témák...
- ZOTAC GeForce GTX 1080 AMP Edition 8GB GDDR5X 256bit
- Filmes gép gyűjtemény
- Nikon D5000 + AF-S DX NIKKOR 18-105 mm
- Bontatlan Seagate & Western Digital HDD-k 3TB - 12TB -ig - Számla + Garancia, Ár alatt! BeszámítOK!
- DJI Mini 4 pro FMC drón - 3 akku, RC2 táv, 2 táska, Filterek, 2025. decemberig garancia, DJI Care