- Biztonsági aggályok miatt késik a Microsoft hatalmas AI-újítása
- Kíváncsi az EU, milyen online védelmet adnak a pornóplatformok a kiskorúaknak
- Panaszt tettek a Google ellen, mert követi a felhasználókat a böngészője
- Rengeteg áram kell az adatközpontoknak, erre válasz a geotermikus energia
- Az AI megmondja, hogy van-e fájdalma a macskának
Új hozzászólás Aktív témák
-
Gregorius
őstag
Háát, azt esetleg meg lehet játszani, hogy a webservice-edben perzisztens gyűjteményt használsz (értsd: nem kéred le az egész dataset-et újra minden hívásra), és az egyes method-ok külön táblákat adnak vissza ebből, akkor több objectdatasource-ból összeszedheted az adatokat. Persze hogy ez így működik-e... Igazság szerint nem nagyon foglalkoztam még bővebben asp.net-tel.
-
Tele von Zsinór
őstag
OMG mi lehetett a kimoderált 9 hsz-ben?
-
-
tomazin
veterán
Bajom a következő remélem tudja valaki miért csinálja ezt:
Mélységi bejárást kell megcsinálni egy gráfon,és lépésenként kiírni.Mivel az algoritmus rekurziv nem tudtam megoldani,h gombnyomásra menjen,de gondoltam megfelel majd az is a kedves tantóbácsinak,h sleepeltetem,és akkor látszódik hogyan halad.(volt még olyan ötletem is,hogy csináltam egy while ciklust,aminek false-ra raktam a feltételét,és addig ment amig nem lett true,amit a formon gomnyomásra akartam kiváltani.Hat megfagyott.)
Viszont azt csinálja,h kirakja a végén az egész gráfot,és nem irja ki lépésenként..lehet(valószinű),h én rontottam el vlmit,de nem találom
A gráf megvalósitása:
a panel amire rajzolok a bejárás konstruktorában adom át,úgy hogy belül felveszek egy private panel p; majd a bejövő _p-t(amiben a form panelje van) simán értékül adom neki.
p=_p;
arra gondoltam,h itt lehet a baj,mert csak a bejáráson belülit változtatja,ami ugye nem a formon van.Viszont ha graphics-ot is átadtam,és az kirajzolja a panelra amit akarok..
struct GrafElem
{
public GrafElem(int _index, int _mszam, int _bszam, int _szin)
{
mszam = _mszam;
index = _index;
bszam = _bszam;
szin = _szin;
}
public int mszam;
public int bszam;
public int index;
public int szin;
}
public List<GrafElem>[] grafElemek;
public void MB(int kezd)
{
++msz;
bool elso = false;
/*while (!mehet) ***ide gondoltam,h berakom azt a ciklust
{
}*/
//mehet = false;
seged = new GrafElem(g.grafElemek[kezd][0].index, msz, 0, 1);
g.grafElemek[kezd][0] = seged; ****átirom a megnézett csucs szinet
foreach (GrafElem ge in g.grafElemek[kezd]) ***összes lista
{
if (!elso) { elso = true; }***azért,h a lista elején álló elem(amire hivtuk)békénhagyja
else
{
if (g.grafElemek[ge.index][0].szin==0)***a listában álló fehér csúcsokra
{
System.Threading.Thread.Sleep(1000);***aludjon 1mp-t
szulok[ge.index] = kezd;***ki neki a szülöje(feszitofahoz)
p.Refresh();***amit eddig változtattunk irja ki
MB(ge.index);***nézze tovább a mélységit
}
}
}
++bsz;
seged = new GrafElem(g.grafElemek[kezd][0].index, g.grafElemek[kezd][0].mszam, bsz, 2); ***végeztünk a csúccsal fekete lesz
g.grafElemek[kezd][0] = seged;
Ha valaki van olyan türelmes és végignézi nagyon-nagy ,és kérhet egy apróságot is
[Szerkesztve] -
Jester01
veterán
Mivel feltehetőleg egy szálon fut a progid, ezért nincs esélye a guinak frissülni.
Tegyél bele egy Application.DoEvents hívást. Persze ettől még a sleep alatt nem fogja feldolgozni az eseményeket, ahhoz azt hiszem mindenképp külön szál kell. (Legalábbis nem látok ''rendes'' várakozó függvényt.)Jester
-
tomazin
veterán
válasz Jester01 #211 üzenetére
Sztem kicsit félreértettük 1mást.
Annyit szeretnék,hogy várjon 1 picit majd rajzolja ki az éppen aktuális gráfot,majd megint várjon(hogy lássam 3mpig mi volt a lépés)majd megint rajzolja ki a már megváltozott gráfot.Csak annyi ideig szeretném késleltetni,hogy lássam a rajzon,hogy megcsinált egy lépést,mehetünk tovább. -
Jester01
veterán
Ez a hívás esélyt ad a winforms eseménykezelő ciklusnak, hogy lekezelje a felgyűlt eseményeket. Alapesetben ez a ciklus fut, és simán hívogatja az eseménykezelőket ugyanazon a szálon. Ebből következik, hogy amíg a te eseménykezelődben van a vezérlés addig a ciklus nem fut, vagyis az újabb eseményeket nem tudja lekezelni. Ehhez vissza kell neki adni a vezérlést. Erre való a DoEvents.
Ennyi segítségért nagyon kicsi csoki járna csakJester
-
paramparya
őstag
Hogy lehet beállítani, hogy egy formnál induláskor melyik textbox legyen aktív?
-
Tele von Zsinór
őstag
válasz paramparya #216 üzenetére
Load-ba textbox.setfocus, vagy hasonló
-
Gregorius
őstag
válasz paramparya #216 üzenetére
Ha mindig ugyanaz kell, akkor a TabIndex-eket úgy kell beállítani, a legelső index lesz az aktív majd növekvő sorrendben lépked végig. Ha változtatni akarsz, akkor pedig TextBox.Focus()
-
paramparya
őstag
Thx mindkettőtöknek!
-
andriscs
aktív tag
Hi!
Egy alkalmazást fejlesztek, és csináltam hozzá egy splashscreent. Amikor VS alatt futtatom a dolgot, minden jól működik, a splashscreen 2 mp-ig látszi, majd eltűnik, és elindul az alkalmazás. Viszont amikor önálló állományként futtatom, akkor már amikor a splashscreen látszik, elindul a háttérben az alkalmazás, majd a splascreen mintha ''ráfagyna'' az alkalmazásra, több másodpercig ott van, amikor pedig eltűnik, akkor az alkalmazás háttérbe ugrik. Próbáltam már mindent, BringToFront-ot, Focus-t, de mindig hátraugrik. Egy megoldás esetén nem, amikor a TopMost property-t true-ra állítom. Persze ilyenkor a más program nem használható.
Itt a kód, hogy hogyan történik a futás:
(A SplashScreen egy sima Form).
//konstruktor
Thread th = new Thread(new ThreadStart(splashScreen));
th.Start();
Thread.Sleep(2000);
th.Abort();
this.BringToFront();
this.Focus();
private void splashScreen()
{
sc.ShowDialog();
}
[Szerkesztve]Andris - http://andriscs.blogspot.com
-
Gregorius
őstag
válasz andriscs #220 üzenetére
GUI-nak nem szokás külön szálat indítani, GUI szálat Sleep-pel várakoztatni meg végképp nem. Én a helyedben inkább azt csinálnám, hogy a spash screen-re felraknék egy 2000ms-re állított timer-t, majd amikor az lejár, akkor bezárnám a splash-t. Első körben. Ha közben még dolgoztatni akarod a rendszert, akkor még lehet kicsit bonyolítani, de alapnak ez így jó.
splash.ShowDialog();
Application.Run(new MainForm());
//...
splash_Load(...)
{
this.timer1.Start();
}
timer1_Timer(...)
{
this.timer1.Stop();
this.Close();
} -
Vilmoskorte
tag
Otthoni gépemen user jogosultságokkal ''létezek''. Egyrészt biztonsági megfontolásból, másrészt mert a mindennapi munkához teljesen felesleges adminisztrátori jogokkal rendelkezni. Gondoltam én. Telepítettem a VC++ és VC# expressz-t. És állandóan sír, hogy regisztráljam. Pedig megtettem. Sőt, kínomban adminra léptettem magam, így is regisztráltam. Amint visszaminősítettem magam, újra kezdi. Erről le lehet szoktatni?
Off: milyen programot ad ki a kezei közül a MS? Azért ez elég durva hiba, kvázi előírják az admin jogú használatot? Amikor állandóan -helyesen- a biztonságról szajkóznak? -
Gregorius
őstag
válasz Vilmoskorte #223 üzenetére
A Debugger Users csoporthoz add hozzá magad.
Amúgy meg várjuk már az SP1-et (Q3 2006), mint a messiást. Nekem ma egy órán belül kétszeri ''Visual Basic Compiler has encountered an error...'' után úgy borult meg az egész, hogy minden szép és jó, amíg egy DataAdaptert meg nem kísérelek konfigurálni, amit egyszerűen megtagad a Studio mondván a projekt nem létezik, és utána arra hivatkozik, hogy a referencia (System, System.Windows.Forms, stb...) által mutatott fájlt nem találja. Úgyhogy most szépen lefekszem, holnap reggel meg előveszem a telepítőcédét.
[Szerkesztve] -
Gregorius
őstag
válasz Vilmoskorte #225 üzenetére
Ha nem hozta, akkor marad az admin. Ez van. Nem hiszem, hogy éveket szeretnél azzal tölteni, hogy egy rakás COM objektum meg registry bejegyzés jogosultságait állítgatod.
A full image-es telepítő amúgy asszem nem nyaggat, hogy regisztráld. -
Mikar
csendes tag
Hali!
Az volna az én gondom, hogy van pár dolog, ami nem működik MS Visual Studio C++, de eddig Borland-ban simán ment. Ilyenek:
-window();
-textbackground();
-textcolor();
-gotoxy();
A két alsóra( textcolor() és gotoxy() ) már találtam megoldást. Tud valaki ebben nekem segíteni? -
c*
aktív tag
Hi
valaki megtudja mondani hogy hogyan kapcsolhatom ki azt a funkciot ami elore megprobalja a beirt betu alapjan sejteni a szot ?
illetve kellene valami magyar doksi a kornyezetrol mit hol talalok meg stb mert a keresgelessel meg igy az elejen sajnos eleg sok ido megy el
koszi -
andriscs
aktív tag
Hi!
Azt szeretném megvalósítani C#-ban remoting-gal, hogy ha egy szerveren kiadok egy parancsot (például megnyomok egy gombot), akkor a kliens kódjában fusson le egy metódus. Pl. kapja meg azt az üzenet, amit a szerveren egy textboxba beleírok. Amit eddig láttam remoting-ból, az az, hogy van egy közös objektum, aminek a metódusait hívogatják. Megoldható ez, hogy a kliens egy metódusát hívjam, vagy ez teljességgel más értelmezése a remoting-nak, Ha esetleg tud valaki konkrétan egy tutorialt, ami a kliensek metódusainak hívásáról szól, az is jöhet.Andris - http://andriscs.blogspot.com
-
andriscs
aktív tag
Hi!
Adott az alábbi kódrészlet:
public class MyEventArgs : EventArgs
{
private string message;
public MyEventArgs(string mess)
{
this.message = mess;
}
public string Message()
{
return message;
}
}
public delegate void MyEventHandler(object sender,MyEventArgs args);
public event MyEventHandler myEvent;
public string raiseEvent()
{
try
{
MyEventArgs arg = new MyEventArgs(''new event raised'');
if (this.myEvent != null)
{
this.myEvent(this, arg);
return ''ok'';
}
else return ''Event is null'';
}
catch (Exception ex)
{
return ex.Message;
}
}
Ez így elvileg helyes, gyakorlatilag nem esemény nem triggerelődik, mindig null marad. Hogyan lehet megoldani, hogy az esemény megvalósuljon?Andris - http://andriscs.blogspot.com
-
gyuri10
tag
válasz andriscs #235 üzenetére
public event MyEventHandler myEvent;
ez a sor egy MyEventHandler tipusu mezot hoz letre ami alapbol null. Ezt is irhattad volna, pont ugyanazt csinalja:
public event MyEventHandler myEvent = null;
A kodreszletben semmi nincs ami ezen valtoztatna. Egyetlen esemenykezelo metodusod sincs (amely megfelel a MyEventHandler delegate mintajanak) amit raakaszthatnal az eventre. Magyarul nem adtal meg semmit amit visszakene hivni, tehat a myEvent mezo null maradt.
Tegyuk fel, hogy van egy masik class-od:
public class MyEventHandlerClass
{
// Ennek a signature-je egyezik a te delegate-ddel, tehat hozzaadhatjuk az event-edhez.
private void MyEventHandlerMethod(object sender, MyEventArgs args)
{
...
}
}
...
MyEventHandlerClass myEventHandlerClass = new MyEventHandlerClass();
andriscsClass.myEvent += myEnventHandlerClass.MyEventHandlerMethod;
andriscsClass.raiseEvent();Mert úgy szerette Isten e világot, hogy az õ egyszülött Fiát adta, hogy valaki hiszen õ benne, el ne vesszen, hanem örök élete legyen.
-
gyuri10
tag
válasz Gregorius #233 üzenetére
Ez igy van, mukodik is laborkornyezetben de valos eletben remotingot nem ajanlott gepek kozott hasznalni (kiveve single call modban). A problema abbol adodik, hogy nem allapot mentes (stateless) a kommunikacio ami egy tipikus szerver kornyezetben sok galibat okoz. Scale out, load balancing mind nem megy, raadasul ha lassu a tavoli esemenyek vegrehajtasa (tulterhelt a szerver, lassu halo stb.) akkor a threadpool-odat is leszivhatja amibe ecceruen beledoglik a kliens.
Remoting masik nagy problemaja, hogy elvarja a framework jelenletet a kliensen is ami feladattol fuggoen lehet, hogy eleg szigoru feltetel. Remoting erossege a AppDomain-ek es Processek kozotti kommunkacio, ott viszont nagyon kiraly.Mert úgy szerette Isten e világot, hogy az õ egyszülött Fiát adta, hogy valaki hiszen õ benne, el ne vesszen, hanem örök élete legyen.
-
andriscs
aktív tag
Hi!
Szerintem félreérthető voltam, mert minden kész, csak nem működik. Kb. 10 neten található events tutorial-t néztem át, és elvileg mindet jól csináltam.
Tehát akkor kicsit részketesen a probléma: van egy szerver, egy kliens, és egy remoteobject. A szerver és a kliens látja a remoteobject-et. A remoteobjectben definiáltam az előző eseményt, és annak van raiseEvent metódusa. A szerver megnyomok egy gombot, erre az meghívja a remoteobject raiseEvent metódusát. A kliens, mikor látrejött, feliratkozott már a remoteobject eseményére, és van egy metódusa, ami lefut, ha a remoteobject-en bekövetkezik az esemény.
tehát amiket leírtam, azon felül a kliensben ez van:
RemoteObject remObject = (RemoteObject)Activator.GetObject(typeof(RemoteObjectNS.RemoteObject), ''tcp://localhost:1111/RemoteServer'');
remObject.myEvent += new RemoteObjectNS.RemoteObject.MyEventHandler(clientMethod);
public void clientMethod(object o,MyEventArgs e)
{
MessageBox.Show(''Event raised'');
}
Szóval akkor ez így működhet?Andris - http://andriscs.blogspot.com
-
gyuri10
tag
válasz andriscs #232 üzenetére
Ha angolul megfelel:
http://www.thinktecture.com/Resources/ArchitectureBriefings/RemotingBestPractices.pdf
Ez nem igazan tutorial, hanem hogy mikor erdemes Remoting-ot alkalmazni.
Ha jol ertem a te eseted egy csevego alkalmazasra hajaz: kliens felszol a szervernek, a szerver meg visszahivja az osszes resztvevo klienst. Vagy kulonben minek akarnal a szerverrol hivast inditani? (felcserelodott a kliens es a szerver szerepe).
Ha csak jatszol akkor eventekkel mukodni fog, ha komoly az ugy akkor a remotingot erre felejtsd el.Mert úgy szerette Isten e világot, hogy az õ egyszülött Fiát adta, hogy valaki hiszen õ benne, el ne vesszen, hanem örök élete legyen.
-
gyuri10
tag
válasz andriscs #238 üzenetére
remObject.myEvent += new RemoteObjectNS.RemoteObject.MyEventHandler(clientMethod);
Ez a sor eleg gazos. A MyEventHandler ebben a sorban micsoda? Class nev? Akkor olyan namespaced van hogy RemoteObject? Vagy metodust new-zol?
Mindenesetre a += jobb oldalan egy peldany.Metodus jellegu cucc kene hogy alljon zarojel nelkul. Az en elozo peldamban:
andriscsClass.myEvent += myEnventHandlerClass.MyEventHandlerMethod;
andriscsClass : a te RemoteObject class-od egy peldanya
myEvent: annak egy mezoje
myEnventHandlerClass: ha jol ertem akkor ez a kliens oldali classod megfelelojenek egy peldanya!
MyEventHandlerMethod: Ez pedig a visszahivando metodusod (te clientMethodnak hivtad) zarojel nelkulMert úgy szerette Isten e világot, hogy az õ egyszülött Fiát adta, hogy valaki hiszen õ benne, el ne vesszen, hanem örök élete legyen.
-
andriscs
aktív tag
Hi!
Igaz, ott tényleg voltak érthetetlen dolgok, VS berakta a saját kis gondolatait. Módosítottam arra, hogy :
remObject.myEvent += this.clientMethod;
Közben töbekkel konzultálva rájöttünk, hogy mi a hiba. A remoteObject. Mégpedig azért, mert uyge ez felel azért, hogy őt a szerver kliensnek, a kliens szervernek lássa. Emiatt amikor a szerver oldalról kérem le a remoteObejct-et illetve amikor a kliens oldaról, nem ugyanaz az objektum, tehát a szerver felölire nincs felirakozás, tehát ott nincs esemény, mivel a kliens egy másik objektum eseményére iratkozott fel.
Közben rájöttem, hogy mégiscsak fordítva szeretném csinálni, tehát a kliens szól a szervernek, hogy csináljon valamit. Persze így nem biztos, hogy meg tudom csinálni. Esetleg static event-et meg raiseEvent-et használva meg lehetne oldani?Andris - http://andriscs.blogspot.com
-
andriscs
aktív tag
Hi!
Egyszerú a kérdésem: vagy egy Richtextbox-om. Azt szeretném, ha bizonyos feladatok végrehajtása után a fókusz rajta legyen, hogy lehessen bele írni. Csináltam egy ilyet:
MessageBox.Show((this.myRichTB.Focus().ToString());
Ez állandó jelleggel false-al tér vissza. Valahogy lehet kényszeríteni, hogy true legyen?Andris - http://andriscs.blogspot.com
-
amargo
addikt
válasz Vilmoskorte #234 üzenetére
Én úgy tudom, hogy van, tekintve, hogy a borland 2006-ot is használom. De hogy csak a név maradt meg és felvásrolták.. erről nem olvastam.
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
Gregorius
őstag
Ha minden igaz, leválasztották magukról a devenv fejlesztő üzletágukat. Hogy ténylegesen el is adták, vagy csak átcsoportosítás volt, az jó kérdés.
Mindenesetre az biztos, hogy a Borland a fejlesztőeszközeivel minimum egy éves lemaradásban van, az pedig ezen a téren nagyon nagy idő. -
amargo
addikt
válasz Gregorius #246 üzenetére
Uhum, sajna lemaradás az van, de több helyen is.
Ha már itt tartunk, nem tud valaki valami jó komponenst Windows mobile-hoz valami grid szerűség kellene vagy inkább openGL és rajzoljak valamit?
Builder után most kostolgatom a C#-t és a wmCE része fura nekem. Persze a helpben egész jól levannak írva a dolok.. csak nekem fura, hogy 100dolgot kell inicializálni
DataTable Tabla = new DataTable(''Valami'');
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType(''System.String'');
column.ColumnName = ''hor'';
Tabla.Columns.Add(column);
DataColumn column2 = new DataColumn();
column2.DataType = System.Type.GetType(''System.String'');
column2.ColumnName = ''hor2'';
Tabla.Columns.Add(column2);
DataRow row;
row= Tabla.NewRow();
row[''hor'' = ''amargo'';
row[''hor2'' = ''kicsién'';
Tabla.Rows.Add(row);
dataGrid1.DataSource = Tabla;
nekem olyan fura ez..“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
Jester01
veterán
Persze pont ugyanennyit kell inicializálni, de valamivel tömörebben is lehet, pl.:
DataTable Tabla = new DataTable(''Valami'');
Tabla.Columns.Add(''hor'', typeof(string));
Tabla.Columns.Add(''hor2'', typeof(string));
Tabla.Rows.Add(new object[] { ''amargo'', ''kicsién'' });
dataGrid1.DataSource = Tabla;Jester
-
amargo
addikt
válasz Gregorius #248 üzenetére
Most nem néztem utána, de úgy rémlik, hogy mást is lehet hozzá inicializálni. Akkor ezek szerint, az lenne az 5leted, hogy csináljak egy normális osztályt hozzá? Mert igaziból én is erre gondoltam.
Jester01
Azért ez már lényegesen emészthetőbb! Ki is próbálom otthon!
Köszönöm!
Mind kettőtöknek“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
Ú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!
- Autós topik
- AMD GPU-k jövője - amit tudni vélünk
- Bivalyerős lett a Poco F6 és F6 Pro
- Gaming notebook topik
- gban: Ingyen kellene, de tegnapra
- Mini-ITX
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Milyen TV-t vegyek?
- Vicces képek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- További aktív témák...
- Finalmouse Starlight-12 Phantom (s) MODOLT, COREPAD rajta
- 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