- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- btz: Internet fejlesztés országosan!
- antikomcsi: Celebtanya - Farm VIP V.
- Bevezetés a wokok világába
- sziku69: Fűzzük össze a szavakat :)
Új hozzászólás Aktív témák
-
lakisoft
veterán
Reméljük hamarosan felkerülnek a következő rendezvények:
Microsoft Events -
Gregorius
őstag
Aki esetleg lemaradt volna róla:
.NET Framework 3.5 (Offline telepítő a lap alján)
Visual Studio 2008 Team Suite (Trial)
Visual Studio 2008 Express Editions -
Lortech
addikt
válasz
lakisoft #588 üzenetére
De tudod is, hogy miről beszélsz vagy olvastál valahol valamit és leírtad? Tényleg kérdezem, nem izélés.
Az első mondatnak van értelme.
Van egy win32 dll-ed, akkor csinálhatsz egy .NET class libraryt (.net dll osztály), ami elvégzi a win32 dll-ből a szükséges függvények importálását, és innentől kezdve csak ezt a .net dll-t kell referenciaként hozzáadni.Ha saját magad írod a win32 dll-t, nem egy meglévőt használsz fel, akkor lehet szükség lib és include fájlokra, meg esetleg az sdk-ra, de ez nem tudom hogy jött ide.
-
lakisoft
veterán
ha készítesz egy wrapper-t akkor Dllimport helyett lehet használni az add reference-t is, csak ehhez kellenek lib és include fájlok. unmanadged dll esetén
Így lehet c++-ban írt SDK-t C#-ban használni. - javítsatok ki ha hülyeséget beszélek. -
Lortech
addikt
válasz
lakisoft #585 üzenetére
Pl ahogy az előző hozzászólásban írta Gregorius.
//Ha win32 dll-ről van szó.
Vagy ha .net dll class libraryről van szó, akkor berakod a dll-t a referenciák közé, majd a dll namespace-ét beteszed a unsinggal, és látod a függvényt a típuson keresztül, vgay using nélkül namespace / típus v. példány/ függvénnyel hivatkozol rá. -
lakisoft
veterán
Hogyan lehet egy dll-ben lévő függvényhez hozzáférni C#-ban ?
-
Gregorius
őstag
válasz
andriscs #583 üzenetére
Az a rossz hír, hogy logoff-ot ezen a módon csak olyan processz kezdeményezhet, ami egy interaktív szessönben fut (vagyis egy belépett júzer alatt, aki nyomkodja a képernyőt). Átlag ember átlag service-e nem ilyen. Process futtatása helyett egyébként nyugodtan lehetne az ExitWindowsEx-et használni (bár a fenti probléma erre is érvényes):
[DllImport("user32.dll")]
static extern bool ExitWindowsEx(uint uFlags, uint dwReason);
...
ExitWindowsEx(0, 0); // Logoff
... -
andriscs
aktív tag
Hi!
Mivel az eheti szerverlefoglalások miatt az MSDN nem érhető el, ezért itt próbálok kérdezniSzóval éppen egy Windows service-t írok, amiben azt szeretném elérni, hogy bizonyos idő után indítsa el a windows logoff-ot. A timer része már kész van, azonban a kilépést nem hajtja végre. A kövekező kódot használom:
Process p = new Process();
p.StartInfo.FileName = "shutdown.exe";
p.StartInfo.Arguments = "-l";
p.StartInfo.UseShellExecute = false;
p.Start();Ennek hatására semmi nem történik. Teszteltem a service-t, például file-írásra jól működik. Annyit sikerült már megtudnom, hogy Service nem tud "ablakos" progit futtatni, mert nincs képernyője, hiszen bejelentkezéstől kezdve folyamoatosan fut. Valami miatt azonban ez a processz nem fut le, persze akkor igen, ha a VS is fut, és csatolva van a service-hez. Valakinek van ötlete, miért nem működik?
-
Lortech
addikt
válasz
lakisoft #580 üzenetére
Nem az, az egy kifejezés, és azért mondja ezt, mert "="-t írtál, így azt hiszi hogy értékadásra gondoltál.
== az egyenlőségvizsgálat operaátora, nem =.szerk: Egyébként igen fura egy kód.
Annak aConvert.ToBoolean-nek mi értelme? Az (i % 2) == 0) önmagában egy logikai literál.
-
lakisoft
veterán
van egy láma kérdésem:
static void Main(string[] args)
{
int i;
i = 1;
while (i <= 3)
{
while (i <= 3)
{if (Convert.ToBoolean((i % 2) = 0))
Console.Write("xx");
else
Console.Write(" ");
i++;}
Console.WriteLine("");
}
ez a kód és a következő a probléma:
if (Convert.ToBoolean((i % 2) = 0))
azt mondja hogy a % bal oldalán is változónak kell állnia ... kérdem én ... az i nem az ... ?
megtudnátok mondani hogyan tudom kijavítani ...Előre is köszi a helpet
-
Lortech
addikt
válasz
lakisoft #577 üzenetére
A Convert.ToInt32 így néz ki:
public static int ToInt32(string value)
{
if (value == null)
{
return 0;
}
return int.Parse(value, CultureInfo.CurrentCulture);
}Tehát ugyanazt csinálja, mint az int.Parse, de előtte ellenőrzi, hogy az átalakítandó string null-e. Ha igen, akkor nullát ad vissza. Az int.Parse ugyanerre az inputra kivételt dob.
-
lakisoft
veterán
Sziasztok!
Lenne egy kérdésem mi a különbség a két mondat között:
int.Parse()
és
Convert.ToInt()
?
Elvileg ugyanazt az eredményt adjaszigisz85: köszi a linket - remélem jól tudom használni ... most töltöm
-
szigisz85
csendes tag
Ezen a linken video anyagot lehet letölteni. Érdemes megnézni.
[link] -
amargo
addikt
válasz
kicsitomi88 #574 üzenetére
Köszi! Mikor még lefeküdtem kigondoltam ezt is, nem is értem miért nem jutott előbb az eszembe..
-
amargo
addikt
Sziasztok!
Kérdésem volna. .NET 1.1-es egy ComboBox-ot szeretnék megvalósítani, Control-ból származva, de már a DropDown-nál alakadtam.. 2.0-ban elég egyszerűen meglehet csinálni, de itt az 1.1-ben nem találom a VisualStyles könyvtárat, amiben benne van a ComboBoxState(bár ez egy enum..) de így ez a ComboBoxRenderer.DrawTextBox meghal..
Valaki esetleg épített már fel? Eddig 2.0 .NET-el foglakoztam.. eléggé ég és föld szaga van a dolognak eddig, számomra.Köszönöm a segítséget
amargo -
Lortech
addikt
Mi a cél? Én azt írtam le, hogy kapcsolod ki a JIT debuggert. De ettől még a hiba ott lesz, és valami kivétel keletkezik, amit valahogy le kell reagálni. Ha nincs debugger, akkor vsz. kilép.
A HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger stringet el kéne távolítani.
Ha a hagyományos dr. Watsonos hibakezelőt akarod visszaállítani, akkor azt a drwtsn32 -I parancssal tudod megtenni. -
Tottu
senior tag
Üdv!
Olyan gondom lenne, hogy felraktam a VS 2005-t, azonban amikor megakarom nyitni némelyik filmet, akkor feljön egy Visual Studio Remote Debugger. Nah most itt ha elindítom a Debugger-t akkor hibát ír ki és kilép a videolejátszóból is, ha "nem"-re akkor is.
Próbáltam már ujrarakni a VS-t is és vhogy kikapcsolni ezt a Debugger részt de nem jött össze.
Van vkinek ötlete, hogy hogyan lehetne ezt végleg kikapcsolni? -
lakisoft
veterán
A 2 kötetes C++ referenciakönyv meg van ... ezt elég sokat szoktam olvasgatni ... ez azért jó alapod ad a C#-hoz ...
a másik 3 C++-os könyv meg nekem még túl nehéz olvasmány ... és a Hatétony C#-os is ide sorolom ... abból nem lehet megtanulni az alapokat ...Megnéztem az oldalt ... ismerem ... elég sok jó könyv van ...
-
amargo
addikt
válasz
lakisoft #561 üzenetére
Itt olcsóbban megkaphatsz pár könyvet és szállítás is van.
ezek közül a Hatékony C#-ot ajánlanám.De ha a C++ is érdekel, akkor
A C++ Programozási nyelv
C++ Hibaelhárító
C++ kódolási szabályok
Hatékony C++ -
lakisoft
veterán
ezeket a könyveket keresem: [link]
-
lakisoft
veterán
AZ FO.hu találtam egy két könyvet ... fejlesztoi_csoportmunka_visual_studio_2005_team_system
microsoft_visual_c_2005_lepesrol_lepesre_cd_vel
c_mesteri_szinten
hatékony C#
programozas_c_nyelvenMelyiket érdemes megvenni ezek közzül ... ?
-
lakisoft
veterán
bocsi az OFFolásért ...
-
lakisoft
veterán
Ez a könyvet keresem nincs valakinek meg: SHARP, JOHN : MICROSOFT VISUAL C# 2005 LÉPÉSRŐL LÉPÉSRE - CD-VEL
-
lakisoft
veterán
Sziasztok!
Lenne egy kis problémám:
Most írok egy progit aminél el szeretnék érni egy MSSQL 2005-ös adatbázist, amit a program írása közben hoztam létre , megcsináltam a Dataset-et ... de nem tudom pontosan hogyan érem el az adott Táblát és annak a sorát és/vagy oszlopát?
Aki tud ... bár szerintem ezt rajtam kívül mindenki tudja ... segítsen már
Köszi a segítséget.
// kezdővagyokhidjatok //
-
amargo
addikt
Sziasztok!
Elsőnek leírom a tényeket. designmode-ban van egy contexmenustrip hozzákötözve egy saját listboxhoz.
Most vagy a listboxból, vagy valahonnan, egy property-n keresztűl feltobok egy ablakot, amibe belehet állítani mindenféle szűrési feltételt, mint az excelben. Majd az itt beállítottakat nyugtázva, generálunk egy eseményt a contexmenu-be. így több szűrési feltételt is hozzá lehet adni. és jobb klikkre lehet futásidőben majd válastani.
2hete olvastam erről, hogy miként tudjuk rávenni, hogy milyen kódot generáljon.. de már elfelejtettem és nem akadok rá.
Lényegiben, amit generálni kell pár sor.. hogy a filtert mivel hívjuk meg.
köszönöm a segítséget!
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 -
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
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Eredeti Lenovo 230W töltők - 4X20Z83995
- BESZÁMÍTÁS! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA TT 500W
- BESZÁMÍTÁS! Lenovo Legion 5 15ITH6H Gamer notebook - i7 11800H 16GB DDR4 512GB SSD RTX 3060 6GB W11
- Konzol felvásárlás!! Xbox Series S, Xbox Serries X
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest