Hirdetés

2024. április 16., kedd

Gyorskeresés

Hozzászólások

(#501) _seth_


_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 :R

Intel i7 13700KF - Gigabyte B760 Gaming X - Crucial DDR5 PRO 2x24 GB - Gigabyte RTX 4060 Gaming OC - Crucial T500 PRO 1TB + P5 Plus 2TB - TP-Link Archer TX50E - Zalman Megamax 600W - Zalman N5 OF - DeepCool AK620 - SAMSUNG Odyssey 49" C49HG90DMRXEN

(#502) orbano válasza _seth_ (#501) üzenetére


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 :B

a vicc az az, hogy ezt több volt leírni, mint megírni :D de azért szívesen segítek :R

[Szerkesztve]

A vér nem válik VAZZE!™

(#503) _seth_ válasza orbano (#502) üzenetére


_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 :(

Intel i7 13700KF - Gigabyte B760 Gaming X - Crucial DDR5 PRO 2x24 GB - Gigabyte RTX 4060 Gaming OC - Crucial T500 PRO 1TB + P5 Plus 2TB - TP-Link Archer TX50E - Zalman Megamax 600W - Zalman N5 OF - DeepCool AK620 - SAMSUNG Odyssey 49" C49HG90DMRXEN

(#504) shev7 válasza _seth_ (#503) üzenetére


shev7
veterán

a ToString miert kell a textLength utan?

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#505) _seth_ válasza shev7 (#504) üzenetére


_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... :D notival persze) és akik ott voltak velem 4-esnél nem kaptak rosszabbat! :)

Intel i7 13700KF - Gigabyte B760 Gaming X - Crucial DDR5 PRO 2x24 GB - Gigabyte RTX 4060 Gaming OC - Crucial T500 PRO 1TB + P5 Plus 2TB - TP-Link Archer TX50E - Zalman Megamax 600W - Zalman N5 OF - DeepCool AK620 - SAMSUNG Odyssey 49" C49HG90DMRXEN

(#506) Lortech válasza shev7 (#504) üzenetére


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());
}

Thank you to god for making me an atheist

(#507) orbano válasza _seth_ (#503) üzenetére


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
}

A vér nem válik VAZZE!™

(#508) Lortech válasza orbano (#507) üzenetére


Lortech
addikt

Cifrázzuk még :D :
db = 0;
foreach (char c in textBox1.Text.ToLower())
{
foreach (char mgh in ''aeiou'')
{ if (c == mgh) { db++; break; } }
}

Thank you to god for making me an atheist

(#509) _seth_


_seth_
veterán

Köszi a segítséget, este nekiállok értelmezni a bejövő információkat :D

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 :R

A program egyébként lefut de többet nem is csinál ennél.

Intel i7 13700KF - Gigabyte B760 Gaming X - Crucial DDR5 PRO 2x24 GB - Gigabyte RTX 4060 Gaming OC - Crucial T500 PRO 1TB + P5 Plus 2TB - TP-Link Archer TX50E - Zalman Megamax 600W - Zalman N5 OF - DeepCool AK620 - SAMSUNG Odyssey 49" C49HG90DMRXEN

(#510) shev7 válasza Lortech (#508) üzenetére


shev7
veterán

db = 0;
foreach (char c in textBox1.Text.ToLower())
{
if (''aeiou''.contains(c)) db++;
}

es ez? :)

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#511) Lortech válasza shev7 (#510) üzenetére


Lortech
addikt

Hehe, igaz. :)

Thank you to god for making me an atheist

(#512) 9CS


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;

...


'' - Tizenkettőt üt az óra, térjenek márrrrgghhhh... ''

(#513) bevik válasza 9CS (#512) üzenetére


bevik
csendes tag

Ezzel csak a tömb van létrehozva, ami tárolja a benne levő aminosav objektumok referenciáját. Menj végig a tömbön és hozd létre az elemeit is, hogy tudj rájuk hivatkozni.

Mindig legyél a legjobb abban amit csinálsz.

(#514) 9CS válasza bevik (#513) üzenetére


9CS
senior tag

Épp azt próbáltam, de ezek szerint rosszul, mert ott jön a hibaüzenet. Egyszerűen csak egy kezdő értéket adok az elemeknek, vagy nem?

'' - Tizenkettőt üt az óra, térjenek márrrrgghhhh... ''

(#515) Protezis válasza 9CS (#514) üzenetére


Protezis
őstag

Aminosavak[0] = new aminosav();
Aminosavak[0].Rovidites = '''';

(#516) 9CS válasza Protezis (#515) üzenetére


9CS
senior tag

Uhh, köszönöm szépen. A felső sor lemaradt. Csak már a „roviditest” is tartalmazót hegesztettem, és sehogy sem akart jó lenni. Így már jó.

'' - Tizenkettőt üt az óra, térjenek márrrrgghhhh... ''

(#517) andriscs


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:
[kép]
Amikor azonban elindítom, akkor ''visszatér'' a régi stílusú gombhoz, és ilyen lesz:
[kép]
Az érdekesség, hogy más, régebbi alkalmazásoknál futás közben is az új gomb van. Mit állíthattam el?

Andris - http://andriscs.blogspot.com

(#518) andriscs válasza andriscs (#517) üzenetére


andriscs
aktív tag

Hi!

A hiba az volt, hogy nem volt benn a következő sor: Application.EnableVisualStyles()

Andris - http://andriscs.blogspot.com

(#519) 9CS


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.

'' - Tizenkettőt üt az óra, térjenek márrrrgghhhh... ''

(#520) orbano válasza 9CS (#519) üzenetére


orbano
félisten

végignézed a propertyjeit editorban. alattuk van a leírás mindegyikhez. sőt, van MSDN Library is, ahol még részletesebben le van írva az összes property és függvény :) Fejből én sem tudom, de van jópár beállítás a maszkolt szövegbevitelre vonatkozóan.

A vér nem válik VAZZE!™

(#521) b14


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.

''...de a konfigjából kiindulva, nem hiszem, hogy 40 éves családos ember lenne...'' -- by Slax

(#522) orbano válasza b14 (#521) üzenetére


orbano
félisten

há' öcsém te nem vagy semmi! :C éljen az ifjúkori lelkesedés! :DD

A vér nem válik VAZZE!™

(#523) 9CS válasza orbano (#520) üzenetére


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.

'' - Tizenkettőt üt az óra, térjenek márrrrgghhhh... ''

(#524) orbano válasza 9CS (#523) üzenetére


orbano
félisten

Azt ne feledd, hogy a kurzort mozgatni (Select(int, int) method) csak invokeolással lehet :) Valszeg ez kelleni fog a manuális leprogramozáshoz, és szopatós.

A vér nem válik VAZZE!™

(#525) Lortech válasza orbano (#524) üzenetére


Lortech
addikt

Mit értesz itt invokeolás alatt, és miért kell ez ahhoz hogy a kurzort mozgasd?

Thank you to god for making me an atheist

(#526) b14 válasza Lortech (#525) üzenetére


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.

''...de a konfigjából kiindulva, nem hiszem, hogy 40 éves családos ember lenne...'' -- by Slax

(#527) 9CS válasza orbano (#524) üzenetére


9CS
senior tag

Nem feledem, mert nem is tudtam. :D Gondoltam én naiv, hogy majd figyelem, hogy ha belelépnek a maskedTextBoxba, akkor jól a beviteli mező elejére rakom a kurzort, szünetet utána már nem tudnak hagyni. Akkor ez érdekesebb lesz, mint hittem.

'' - Tizenkettőt üt az óra, térjenek márrrrgghhhh... ''

(#528) Lortech válasza 9CS (#527) üzenetére


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.

Thank you to god for making me an atheist

(#529) 9CS válasza Lortech (#528) üzenetére


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]

'' - Tizenkettőt üt az óra, térjenek márrrrgghhhh... ''

(#530) Lortech válasza 9CS (#529) üzenetére


Lortech
addikt

Lesz folytatása természetesen (nem tervezek záró epizódot, ha van idő akkor az idők végezetéig elírkálok róla), csak most minden hülyeséggel foglalkozom, és nyakamon a vizsgaidőszak is.
Még az éven el akarok jutni az osztályokig. :D

Thank you to god for making me an atheist

(#531) orbano


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.

A vér nem válik VAZZE!™

(#532) orbano válasza b14 (#526) üzenetére


orbano
félisten

A crossthread exception kikapcsolható a Form.CheckForIllegalCrossThreadCalls propertyvel. Ilyenkor max a teljesítmény és a thread safety bukik. Én szoktam hazsnálni bizonyos esetekben mert kevésbbé macerásabb mint visszainvokeolni vagy userstate-tel vacakolni.

A vér nem válik VAZZE!™

(#533) Lortech válasza orbano (#531) üzenetére


Lortech
addikt

Teszteld le úgy, hogy használsz maszkot, úgy működik Invoke nélkül is. Minden bugról nem tudhatok, mivel működött nálam, nem is gyanakodtam. Invoke hülyeségnek tűnt, mivel nincs szó másik threadről, és ezzel együtt is csak tákolásnak ill. tüneti kezelésnek tartom.

Thank you to god for making me an atheist

(#534) b14 válasza orbano (#532) üzenetére


b14
senior tag

Én használom az invokeot, az hogy műveletenként +5 metódus az lényegtelen :D
Legyen biztonságos, pl. ezért nem unsafe (szerintem)

''...de a konfigjából kiindulva, nem hiszem, hogy 40 éves családos ember lenne...'' -- by Slax

(#535) 9CS válasza Lortech (#533) üzenetére


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.

'' - Tizenkettőt üt az óra, térjenek márrrrgghhhh... ''

(#536) orbano válasza Lortech (#533) üzenetére


orbano
félisten

Tákolásnak? ezt a kódot a M$ egyik fejlesztője adta :D

Maszk nélkül okés, de a maskedTextboxot azért használja az ember hogy tegyen rá maszkot :DD :))

A vér nem válik VAZZE!™

(#537) orbano


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.

A vér nem válik VAZZE!™

(#538) Lortech válasza orbano (#536) üzenetére


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 :D). 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?? :D

[Szerkesztve]

Thank you to god for making me an atheist

(#539) orbano válasza Lortech (#538) üzenetére


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]

A vér nem válik VAZZE!™

(#540) manrick


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

Az éremnek két oldala van. Nézz a háta mögé is!

(#541) Lortech válasza manrick (#540) üzenetére


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]

Thank you to god for making me an atheist

(#542) manrick válasza Lortech (#541) üzenetére


manrick
tag

Sikerült megcsinálni, köszi a segítséget.

Az éremnek két oldala van. Nézz a háta mögé is!

(#543) manrick


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

Az éremnek két oldala van. Nézz a háta mögé is!

(#544) manrick válasza manrick (#543) üzenetére


manrick
tag

megoldottam. ?-el kell átadni a paramétert

Az éremnek két oldala van. Nézz a háta mögé is!

(#545) Peter84


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

(#546) Bellavita válasza OddMan (#2) üzenetére


Bellavita
csendes tag

Sziasztok,

Folyamatosan keresünk C#-os fejlesztőket, külföldi munkára is.
Aki esetleg ezen a területen szeretne továbblépni, legyen szíves vegye fel velem a kapcsolatot!
Tredis Consulting 20-456-1030, illetve küldje el önéletrajzát a jobs@tredis.hu emailcímre!


(#547) 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

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#548) andriscs válasza amargo (#547) üzenetére


andriscs
aktív tag

Hi!

Én általában a override-olom a ProcessCmdKey-t, ez mindig működik, controltól függetlenül:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
...
return base.ProcessCmdKey(ref msg, keyData);
}


Andris - http://andriscs.blogspot.com

(#549) amargo válasza andriscs (#548) üzenetére


amargo
addikt

hi!

Köszönöm!

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#550) amargo


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

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

Copyright © 2000-2024 PROHARDVER Informatikai Kft.