- Motorola Edge 60 és Edge 60 Pro - és a vas?
- Telekom mobilszolgáltatások
- Átlépi végre az iPhone az 5000 mAh-t?
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Google Pixel topik
- MiLi MiTag, MiLi LiTag bluetooth trackerek
- Netfone
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Samsung Galaxy Watch6 Classic - tekerd!
Új hozzászólás Aktív témák
-
amargo
addikt
Sziasztok!
Windows authentication el kapcsolatban lenne kérdésem.
Arra lenne szükségem, hogy a windowsba belépett felhasználó jogosultsági szintjének stb megfelelően, lehessen a programba belépni, tehát mind ezt olvasni szeretném.
köszönöm
amargo -
amargo
addikt
Sziasztok!
Van egy nyomó gombom, hogy lehet megcsinálni, hogy F2-re is érzékeny legyen és nem a form keypress-re írom be, hogy ezt hívja meg. Mintha máshogy is meg lehetett volna csinálni már VS 6.0 alatt.. bár -
Bellavita
csendes tag
-
Peter84
csendes tag
C# korrepetitort keresek Budapesten
Alap és középszinten (inkább alap) keresek C# korrepetitort Budapesten.
Winform-ok szerkesztése érdekel Visual Studio segítségével.
2000Ft. tudok ajánlani egy óráért. A helyszín nem számit.
Levelet a következő címre várok: oktatas@hotmail.com -
manrick
tag
Sziasztok.
Van egy kis problémám az ODBC kapcsolattal:
OdbcConnection oc;
OdbcCommand cmd;
oc = new OdbcConnection(''Driver={SQL Server};Server=win.hu;UID=sa;PWD=pass;Database=newmail;'');
oc.Open();
cmd = oc.CreateCommand();
//adatok beírása adatbázisba
cmd.CommandText = ''INSERT INTO inbox (i_mailID) VALUES (@i_mailID)'';
cmd.Parameters.Add(''@i_mailID'', OdbcType.VarChar, 50).Value = ''teszt'';
cmd.ExecuteNonQuery();
oc.Close();
Ha ezt lefuttatom, akkor hibát ír ki. Mintha nem lenne értéke a paraméternek.
Tudja valaki mi lehet a gond?
Esetleg a @ jel helyett kéne más?
Köszi,
Manrick -
Lortech
addikt
Tudtommal subitemhez nem tudsz képet rakni. Viszont ha a listview ownerdraw propertyjét false-ra állítod, akkor saját draw eljárással meg lehet csinálni szerintem.
Na meggugliztam, úgy látom mások is belefutottak már ebbe: [link] és
[link]
Az első linken kód is van a szükséges metódusokkal (példa szinten persze), ebből a drawsubitem a lényeg, a második linken meg találtam egy ilnket ide: [link]
Ez a listview kibővítése, csak fel kell használni a kontrollt, de az első megoldás is csak két perc.
[Szerkesztve] -
manrick
tag
Sziasztok!
Képet szeretnék beilleszteni egy ListViewitem egyik SubItemébe:
ListViewItem it = new ListViewItem(''szöveg'');
it.SubItems.Add(''ide kellene a kép'');
it.SubItems.Add(''szöveg2'');
it.SubItems.Add(''szöveg3'');
it.SubItems.Add(''szöveg4'');
it.Tag = ''azon'';
MessagesList.Items.Add(it);
Nem igazán jövök rá hogyan kell, ha egyáltalán lehet. Körbenéztem a neten, de nem találtam olyat ami segítene.
Valaki tudna segíteni?
Köszi,
Manrick -
orbano
félisten
Én értem, csak (nem feltétlenül miattad) kezdett kicsit a féleértések irányába kimozdulni a téma, gondoltam akkor tisztázok egy sort (nem csak a Te kedvedért).
Egyébként egyetértek, tákolás. Persze onnantól nem tákolás, hogy írsz egy saját maskedTextboxot. Régesrég megtanultam, hogy nagy programot akkor tudsz írni .NET alatt, ha minden controlt megírsz sajátra. Jelenleg saját ADO-nk van (utólag rájöttünk hogy olyasmi mint a Java-s Entity vagy mi a szösz), saját controlok vannak saját databindeléssel és validációval. Kb. fél éve dolgozunk rajta ketten
De sajnos így is olyan hibákba ütközünk... Most pl. a Visual Studio szerializációjával nem tudunk mit kezdeni. Írtunk a VS-es propertygridnek typeditorokat meg mident amit kell, hogy pár property-be lekérjünk objektumokról megfelelő attribútumokkal rendelkező proeprty listát, de a VS folyton beszopat vele... sőt még a CLR-t is meghülyíti valahogy a VS Editor... rettenet az egész
Ezen a Select-es dolgon meg msdn fórumban is kiakadtak, hogy se a doksi nem tesz említést, se a frameworkben nem javítják ki...
Ja izé. Nálam is eleinte működött. Aztán nem űködött. Függött attól, hogy milyen események milyen sorrendben és hogyan futnak, nyitok e dialógus ablakokat, stb. Tehát érezhető hogy a dolog ki van téve az események lezajlásának a hülye sorrend miatt... Emlékszem mikor először találkoztam ezzel a buggal, aszittem hülyét kapok...
[Szerkesztve] -
Lortech
addikt
Akkor olvasd el még egyszer, pont azt mondtam, hogy maszkkal működött nálam, egyből (maszkkal teszteltem elsőre is, mivel maskedtextboxot én sem maszk nélkül szoktam használni
). Maszk nélkül meg nem, de mivel maszk nélkül nem teszteltem, amíg nem írtad az #531-et, ezért nem vettem észre, hogy úgy meg nem működik.
Igen, tákolás, mivel egy hiba következtében kell ehhez folyamodni. Nem úgy értve tákolás, hogy nem jó megoldás, hanem úgy, hogy van egy hiba, ami miatt nem működik a Select eljárás úgy, ahogy azt elvárnánk, és emiatt ''tákolni'' kell. Teljesen mindegy, hogy Mark Rideout írta vagy sem.. Nem a megoldás fikázása volt egyáltalán.
Én nem írtam, hogy szálak közötti függvényhívás, mert ez eleve értelmezhetetlen... De szálak közötti kommunikációra szokás általában használni, amikor szükséges az invocation. Ahhoz, hogy egy control a saját állapotát megváltoztassa, ahhoz nem kell invocationnel hívni a metódusait, ha megfelelően van megírva a control, és a metódusai úgy viselkednek ahogyan azt elvárjuk tőlük. Ezért akadt fel a szemem az invoke hallatán. Éééérteeed??
[Szerkesztve] -
orbano
félisten
Ja és hogy tanuljatok. Invoke!=szálak közötti függvényhívás. Egyszerűen csak aszinkron hívás, ami egy szálom belül is történhet. Amikor futnak a formnak az eseményei, meghívsz egy delegate-et begininvoke-kal, akkor a függvényhívás ''bejegyződik'' a formnál, majd ha jól tudom akkor hajtódik végre, ha a form ''visszakapja a vezérlést''. Ez az esetünkben pont azért jó, mert bennevagyunk egy bazi nagy hívásban, amit valamelyi kevent elindítot és szépen egymás után dolgoznak az eventeket lekezelő függvények. Ezek közül vagyunk mi az egyik, ahol Select-elni akarunk. A probléma csak az, hogy bármit is csinálunk, a call stack-ben lesz utánunk egy másik hívás (a textbox sajátja), ami elkaszálja a Select()-ünket. Ezért aszinkron hívjuk meg a Select-et: elküldjük egy delegate-tel, hogy majd hajtódjon végre később. A begininvoke ezt elvégzi, majd azonnal visszatér, maga a kód még nem futott le. az majd akkor fog, ha a teljes eseménylánc lefutott és a form visszakapja a vezérlést. Ekkor szépen lefuttatja a delegate által megadott kódot.
-
9CS
senior tag
Mind a két megoldás jó lehet. Orbano megoldása, pont ott jó, ahol a kódja is mutatja. Lortech megoldása pedig kiegészítéssel, a KeyDown eseméynbe illesztve jó. Köszi mindkettőtöknek. Hogy melyik a jobb, nem tudom, Lortech módszerével nekem átláthatóbb, hogy mi történik.
-
Lortech
addikt
-
orbano
félisten
-
orbano
félisten
naszóval. teljesen hülyeségeket hordtok itt összevissza.
a lényeg:
A MaskedTextBox.Select(0,0) nem működik, mivel ez még azelőtt lezajlik, hogy a maszk beállítódna (a maszkolatlan szöveg kapja meg ezt, amit utána a textbox felülbírál). ez egy hülye bug a frameworkben. Ezért úgy kell megoldani, hogy a hívás az event lezajlása után hívódjon meg (bekerül a message queue végére).
Itt a példakód az Enter eventre:
private void maskedTextBox1_Enter(object sender, EventArgs e)
{
this.BeginInvoke((MethodInvoker)delegate() { maskedTextBox1.Select(5, 5); });
}
Pontosan nem tom hogy ez mit is csinál hívások szintjén, még utána kell rágnom magam ennek, de így működik rendesen csak. -
9CS
senior tag
Még nem tudom mi miért nem jó, mivel az eredeti kérdésfeltevés óta, nem volt időm foglalkozni érdemben vele. Előbb gondoltam, hátha van erre is beépített lehetőség. A megvalósítás majd csak eztán következik, holnap kiderül mi a jó, és mi nem.
Mikor jön az írásaid folytatása? Mondjuk maskedTextBox témában?Na jó csak vicc volt, te tényleg, lesz folytatás?
[Szerkesztve] -
Lortech
addikt
És ez miért nem jó? Simán beírod a control eseménykezelőjébe, hogy maskedTextBox1.Select(0, 0);
b14: értem, de miért kéne külön threadből figyelni, amikor ez a funkció tipikusan a controlhoz tartozik, ott kell megvalósítani. Szerintem semmi nem indokolja, de kiváncsi vagyok rá, hogy orbano mire gondolt. -
b14
senior tag
Szerintem én dilettáns vagyok, ha jól tudom a szó jelentését, de szerintem ő úgy képzeli el, hogy 1 thread folyamatosan figyeli a textboxot és elvégzi a szükséges módosításokat, de mivel a GUI más threaden van, nem végezhetek rajta műveletet közvetlenül, mert ugye az cross-thread exception, ezért az Invoke-kal kell kiküszöbölni a problémát, ha meg hülyeséget beszélek, akkor befogtam a számat és elnézést kérek.
-
9CS
senior tag
Már átnéztem, és nem találtam ilyet. Sőt amik hasonlóak lehetnek ki is próbáltam. Igaz nagyon-nagyon sok van és lehet átsiklottam felette, ezért meg is kérdeztem. De mivel ez úgyis csak gyakorlás, akkor megheggesztem magam, lehet amíg keresgéltem, már rég megírtam volna.
-
b14
senior tag
Üdv, mesterek!
Nemtudom, hogy ez-e a reklám helye, de azért próbálkozok:
Elkezdtem írni 1 játékot: World of Hundred Cities (WHC) néven. Először azt hittem, hogy MMORPG lesz, utána jutott eszembe, hogy én MMO strategy-t akarok írni.
Egy körvonalas elképzelésem van eddig a játékról, mindenkinek van egy-egy városa, azt kell irányítania, mint polgármester/miniszter. A játék, ha mindenki beleegyezik, a középkorban játszódik és mivel MMO, minden, amit elvégzel, mentődik, ha kilépsz és visszajössz pl. 1 nap múlva ugyanakkor, akkor pl. 24 kör eltelt és onnan folytatódik, ezalatt elérhetett 1 hadsereged egy másik városba és ott nyerhetett, vagy veszthetett. Amint azt sejtetni próbáltam, a játék round-based, pl. 1 óra -> 1 kör.
Kb. ennyit magáról a játékról, az lehet még fontos, hogy nem csak csata van, hanem diplomácia, stb. is, neked kell egy az egyben irányítani a várost.
A grafika részét eléggé ''butának'' gondoltam, tehát nem 1 ide-oda kattintgatós, hadseregküldős játékra gondoltam, hanem a legnagyobb része ''fejben'' játszódik le.
Most pedig arról, ami készen van, nehogy azt higyjék az emberek, hogy komolytalan volnék: a szerver részének a motorja készen áll, ez kb. annyit takar, hogy a szerver képes több klienssel kommunikálni egyszerre, kliens disconnect-kor / kliens ''elvesztésekor'' a slot felszabadul, újra használható lesz, a klienssel egy szerver felé irányuló kéréssel a szerver által a mysql adatbázisban lévő adatokat ki lehet nyerni, persze csak azokat, amelyeket a szerver kiad.
További információkért: kisbes@gmail.com e-mail
és donatello.18@hotmail.com msn messenger account.
További elérhetőségekért, feature-ökért itt lehet érdeklődni. -
9CS
senior tag
maskedTextBox-nak van olyan tulajdonsága ami azt állítja, hogy ne tudja például a maszkolt rész közepére írni, hanem elölről kezdje a beírást, mint egy sima textBox-nál? Vagy ezt meg kell írni? Mert akkor nekiállok, csak gondoltam, hátha van valahol elrejtve ilyen.
Köszönöm előre is. -
andriscs
aktív tag
Hi!
Fejlesztek egy alkalmazást, és amikor VS 2005-ben design nézetben vagyok, akkor az alkalmazásra rakott gomb így néz ki:
Amikor azonban elindítom, akkor ''visszatér'' a régi stílusú gombhoz, és ilyen lesz:
Az érdekesség, hogy más, régebbi alkalmazásoknál futás közben is az új gomb van. Mit állíthattam el? -
9CS
senior tag
Saját osztályból hogyan lehet egy Array-t csinálni, lehet egyáltalán? Szépen megcsináltam egy osztályt, amiben benne van minden tulajdonság (7 darab). Ebből kellene pár, de ezt a hibaüzenetet kapom, ha utána hivatkozni akarok a példány1.tulajdonság-ra: „Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra.” Mi lehet a gond? Próbáltam keresgélni, de nem jött össze.
Így csinálnék belőlük sokat:
aminosav[] Aminosavak = new aminosav[19];
Majd próbaként be akartam írni az első rövidítését. És jött a hibaüzenet.
Aminosavak[1].Rovidites = '''';
Az aminosav osztály eleje:
class aminosav
{
private string _rovidites;
private string _betujel;
private int _C;
private int _H;
private int _O;
private int _N;
private int _S;
... -
_seth_
veterán
Köszi a segítséget, este nekiállok értelmezni a bejövő információkat
Ez a programkód nem a sajátom, én csak közvetítek ez ügyben de ha már ennyit segítettetek meg is csinálom
A program egyébként lefut de többet nem is csinál ennél. -
orbano
félisten
ez a programkód tipikus esete annak, amikor diletáns balfaszok tanítanak kezdőket programozni... sajnállak
a többit már előttem elmondták. ez a program egyáltalán lefordul? teli van implicit, nem értelmezhető típuskonverziókkal.
a számolós ciklus a lehető legfrappánsabban:
private void btnSzamol_Click(object sender, EventArgs e)
{
int db = 0;
foreach(char c in textBox1.Text)
{
switch (c)
{
case 'a': db++; break;
case 'e': db++; break;
case 'i': db++; break;
case 'o': db++; break;
case 'u': db++; break;
}
}
textBox2.Text = db.ToString(); //ez egy másik textbox ahova kiírod az eredményt
} -
Lortech
addikt
Azért hogy aztán vissza kelljen alakítani.
_seth_:
N int típusú, TextLength is, mivel egy szám / érték, ezért ToStringezni nem kell.
Propertyket (TextLength) felesleges eltárolni külön ilyen esetben, csak egyszer hívod.. Írd be nyugodtan a forba. De ha nagyon biztos programot akarsz írni, akkor az egész textBox1 stringet tárold el egy segédváltozóban, és annak írd be a ciklusba a hosszát.
str = char.Parse(...) ??? Mit akarsz ezen parsolni? Eleve a típus.parse típust ad vissza, itt char-t (egy darabot!), tehát ha minden áron le akarod parsolni charra, akkor kéne egy ciklus, ahol végigmész a string indexein egyenként, figyelve arra, hogy ne ilyen nulla hosszúságú a string, mert akkor kivétel.. De nem tudom elképzelni, hogy mi értelme van ennek.
A db változót nem árt nullázni, mert a második számolásnál már nem fog helyes értéket adni, mert az előző eredménye benne van, és azt növeled.
Ez a ciklus.. Minek mész végig 0..N, ha fel sem használod az indexet, és minden iterációnál ugyanazt csinálod?
Az i változót ne így deklaráld, mert könnyen hibákhoz és félreértésekhez vezethet.. Egy segédváltozó ritkán jó, ha az osztály mezője, tartozzanak az adott scopehoz, ott legyenek deklarálva.
pl itt: for (int i=0;...) {} Ez vonatkozik az str-re, N-re is, és vsz a db-re, mert csak egy ellenőrzésre kell vagy tájékoztatásra kell, nem az osztályhoz tartozik szorosan, és nem kell megőrizni sem. Ez nem pascal.
Ha csak a kisbetűs magánhangzókat akarod beleírni a switchbe, akkor célszerű a stringet ToLower-rel csupa kisbetűssé alakítani, hogy nagybetűs magánhangzókra is menjen, pl: string str = textBox1.Text.ToLower();
A ''számol'' gombra kattintás eseménykezelője kb így nézne ki sztem, ha a te kódodból indulok ki:
private void button1_Click(object sender, EventArgs e)
{
db = 0;
string str = textBox1.Text.ToLower();
for (int j = 0; j < str.Length; j++)
{
switch (str[j])
{
case 'a': db++; break;
case 'e': db++; break;
case 'i': db++; break;
case 'o': db++; break;
case 'u': db++; break;
}
}
MessageBox.Show(db.ToString());
} -
_seth_
veterán
Passz... csak próbálkoztunk mert nem akar működni a tanár meg csak ködösít
Jah: órán kaptam egy feladatot, színválasztó ablak behozása, label textjének form címébe másolása stb, 40 percig szórakoztam vele mert nem akarta a szöveget átmásolni, szólok a tanárnak: ''Én kész vagyok de a feladat nem.'' Tanár megnézi, 5, mert elvileg jól írtam be a másolás részt mégsem akarta átmásolni közben msn-en írogattam a többieknek, hogy mit, hogyan lehet megcsinálni, előző nap gyrososnál tartottam külön órát (én... hehe...notival persze) és akik ott voltak velem 4-esnél nem kaptak rosszabbat!
-
_seth_
veterán
Igen, ez is C#.
''namespace maganhangzo
{
public partial class Form1 : Form
{
int i;
int N;
char str;
int db;
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
private void btnSzamol_Click(object sender, EventArgs e)
{
N = textBox1.TextLength.ToString();
str = char.Parse(textBox1.Text);
for (i = 0; i != N; i++)
{
switch (str)
{
case 'a': db++; break;
case 'e': db++; break;
case 'i': db++; break;
case 'o': db++; break;
case 'u': db++;
break;''
Eddig ennyit van meg a progiból, elvileg így is meg lehet csinálni de ez még messze nem tökéletes. Pl a length nem adja vissza a bevitt karakterek számát -
orbano
félisten
ez is C#? megoldani nem fogom, de itten vannak a kulcsszavak:
begépelt szóban számolni: attól függ, hova kell begépelni. egy textboxban pl egyszerű: lekezeled a keypressed eventet, és ha az éppen lenyomott billentyű char.IsWhiteSpace(e.KeyCharVagymi), akkor visszamész a textbox.Text-ben az utolsó whitespace karakterig egy ciklusban és megszámolod hogy hány magánhangó van benne. a magánhangzókat belerakhatod egy listába, és az adott textbox.Text-re ellenörzől, hogy list.Contains(textbox.Text);
ezen felül szépíteni is lehet: ha a beütött karakter nem char.IsLetter(e.KeyCharVagymi), akkor e.SuppressKeyVagymi = true, ami annyit csinál, hogy nem adja tovább a karaktert a textboxnak (''lenyeled'' a billentyűlenyomást). így nem írkálhat be a user mindenféle Đ[]}{] jeleket.
5 karakteres jelszó dettó: textboxnak van olyan valami propertyje hogy passwordös-e és akkor csillaggal ír ki. a textchanged eventet lekezelve pedig nézheted a Text property hosszát. ha öt, akkor csekkolsz. persze a KeyPress (vagy KeyDown, nem tom fejből melyikben van suppresselés) eventnél ugyanúgy meg kell nézned, hogy nagybetű e és hogy isletter (ezek mind a char osztály static metódusai)
remélem tudtam segíteni
a vicc az az, hogy ezt több volt leírni, mint megírnide azért szívesen segítek
[Szerkesztve] -
_seth_
veterán
Egyik csoporttársamnak pedig az alábbi problémája van:
Egy-egy begépelt szóban kellene megvizsgálni, hogy hány magánhangzó van benne.
+ lenne egy ilyen is: ''Olvassunk be egy nagybetűs 5 karakteres jelszót, majd jelezzük az elfogadást, illetve ha hibás a megadás! A jelszó ablakban csillag karaktereket írjunk vissza!''
Ha tudtok segítsetek elindulni
Ú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!
- Latitude 5430 27% 14" FHD IPS i7-1265U 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- Bomba áron dobozos új GIGABYTE /I7-13620H 16GB 1 TB SSD Nvidia RTX 4050 6GB 144 Hz FHD IPS/
- T14s Gen2i 14" FHD IPS i5-1135G7 16GB 256GB NVMe magyar vbill ujjlolv IR kam gar
- Új Poco F7 Ultra 512/16GB Black 3év garancia!
- Samsung Galaxy Watch Ultra 2év garancia!
- SZÜNETMENTES TÁPOK
- Nike Airmax 720 43-as sneaker eladó
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- DELL PowerEdge R630 rack szerver barebone - 2xSocket 2011v4 , 24x DDR4 DIMM, H330 RAID, 39369Ft+ÁFA
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest