Új hozzászólás Aktív témák
-
válasz
Neil Watts #1688 üzenetére
Épp akartam írni, de látom, Google barátunk már válaszolt.
Kezdj neki, tanulgass, írj mórickákat és ha elakadsz, szívesen segítünk.
-
válasz
ArchElf #1657 üzenetére
Logoláshoz: Microsoft Enterprise Library . egy sor hasznos funkciója van a logoláson kívül.
"Jaja, és amúgy igazi alkalmazásnál StoredProcedure rulez"
Vagy ha még igazibb, akkor NHibernate és Linq például és nem is érdekli tovább a programozót az adatbázis.
adam_:
Én is, hasonlóan ArchElf kollégához egyszerű gombokkal vagy PictureBox-okkal oldanám meg. 2 perc gondolkodás után talán egy osztállyal kezdeném, ami a hajó objektumot zárja magában olyan tulajdonságokkal, mint hossz, elhelyezkedés (koordináták) és talán Decorator Patternnel vagy simán extension method-dal oldanám meg a találatot. Annak ellenére, hogy maga a torpedó egyszerű játék, azért nem 2 sor kód. -
válasz
ArchElf #1642 üzenetére
Túlbonyolítod.
Nyilván nem úgy értettem, hogy futás közben kirántjuk magunk elól a szőnyeget, de lehet ezt egyszerűbben is.
Ha tudod, melyik elemek törölhetőek (nyilván eldől valahogy), akkor:
var list = new List<string> {"Elso", "Masodik", "Harmadik", "Negyedik"};
var templist = list.Where(element => element.Contains("dik")).ToList();
list = templist;Ha több szál van, akkor meg nem itt kell megfogni, hanem singletont kell használni, de ez nyilván feladattól függ.
-
válasz
ArchElf #1637 üzenetére
Ezt nem értem. Átpakolod egyik listából a másikba azokat, amelyek törölhetőek, majd az elsőből kitörlöd és a másodikat nemes egyszerűséggel null-lal teszed egyenlővé... vagyis végső soron elég lenne az első lista törölhető elemeit törölni és kész, nem? 1 sor, így viszont x.
Vagy valami más van a háttérben?
-
válasz
robotjatek #1621 üzenetére
Nem érdemes, hacsak mondjuk nem képfeldolgozással foglalkozik valaki vagy esetleg natív kód felé interfészek írásakor lehet hasznos.
Azonban a struct legnagyobb "hátránya", vagyis az érték szerinti hivatkozás mellett max. 16 KB lehet az összes taggal együtt, mert a stack-ben tárolódik, kifelé egyetlen értéknek látszik és nincs automatikus GC sem! Ez pedig optimalizáltság szempontjából nem jó hír.
-
Egyébként íme a javított verzió:
Console.WriteLine("Kérem adjon meg 3 számot 1-5 között, vesszővel elválasztva: ");
string s = Console.ReadLine();
int i = s.IndexOf(",");
string szam1 = s.Substring(0, 1);
string szam2 = s.Substring(i + 1, 1);
string szam3 = s.Substring(i + 3, 1);
int a = Convert.ToInt32(szam1);
int b = Convert.ToInt32(szam2);
int c = Convert.ToInt32(szam3);
int eredmény = (a + b + c) / 3;
Console.WriteLine(String.Format("az átlag: {0}", eredmény));
Console.ReadLine();Hibák:
- s.Substring(0) nem jó, kell a startIndex és a hossz, vagyis s.Substring(0,1), illetve így is jó, de az s.SubString(0) a teljes stringet fogja visszaadni.
- sok volt a ReadLine();
- kiíratásnál ez nem ír ki paramétert:
"az átlag: ", eredmény", mert nem mondtad meg neki, hogy a paramétert is írja ki.
A helyes használat felsorolás így:
"az átlag: {0}", eredmény". Ha több van, akkor "az átlag: {0}, {1}", eredmény, param2"A feladat maga 0/10 pont, mert értelmetlen, a megoldás 7/10, mert hibás volt. Átmentél, de a tanár nem.
-
Ez az egész feladat valóban primitív, ahogy írták... a kitalálója is az lehet. Most ez a jó vicc, hogy szívózik agy tanítani akar? Vagy csak menőzik, hogy végre sikerült valami kemény feladatot kitalálnia? "fasság"
Amúgy de, sajnos az IndexOf és a SubString kötelező elem, ha jól értem.
-
Látom, van már egy User típusod (Entity Data Model-ből van?), aminek gondolom egy property-je a UserId. EF-nek annyi kell, hogy megadod a lekérdezést, ami az Id alapján kiveszi a nevet (talán user.UserId?).
Sajnos ennyire általános kérdésre csak általánosan lehet válaszolni.
-
válasz
ArchElf #1607 üzenetére
"Olyan sikeresen, hogy miután "megtanultunk" c-ben 20 óra alatt programozni mindenki sikeresen beadott egy tetszőleges párhuzamosítható probléma többszálas megoldását c-ben linux alá (IPC) megvalósítva..."
Ez ismerős. Nekem is volt hasonló progtanárom. Sosem tanított suliban olyan ember programozásra, aki ebből is élt volna - pedig jó pár nyelvet kellett tanulni. Többet tanultam a suli után 2 hónap alatt, mint addig évek alatt.
-
válasz
WonderCSabo #1603 üzenetére
Nem lehet. Az ékezet ugyanolyan gonosz, mint a goto. ez a hunglish nézet szerencsére ideje korán elsorvadt
ArchElf:
Elnézést, nem ellened irányult az előbbi, de tényleg soha nem használjuk, sehol - talán suliban, de annak a való élethez 0 köze van, amit ott leadnak sokszor."Ennyi erővel a substring sem volt benne a kiírásban"
De, ez benne volt. SubString és IndexOf, más nem.
Generikusokkal vagy még inkább regex-szel ezt pikk-pakk meg lehet oldani. Ráadásul az IndexOf lassú is.
-
válasz
Vasinger! #1595 üzenetére
Idióta egy feladat... legalább életszerű példa lenne, de ebből így mit tanulsz meg? Gyakorlatilag semmit. Na mindegy.
Szóval az a lényeg, hogy az IndexOf megkeresi az első "," karakter indexét a beolvasott stringben (csak azt vizsgáltam, ha nem üres, de azt is kellene, ha nincs "," benne, meg nincs intre ellenőrzés, meg a szám 1-5 közöttre sem). A string elejéről indulva először a 0. karaktertől keressük. Ha találtunk és még nem értük el a string végét, akkor az előbb megtalált index mögé tesszük a következő körben az IndexOf kiindulási pontját, így már a másodikat fogja megtalálni. Ha még mindig nem értük el a fájl végét, megyünk még egy kört, de már nincs több ",".
Közben az index előtti karaktert számmá alakítva egy összeghez adjuk. Így már meg is van két szám és mivel tudjuk, hogy csak 1 számjegyű számaink vannak, az utolsót úgy vesszük ki, hogy a string vége előtti karaktert alakítjuk számmá és adjuk az összeghez. Közben egy darabszámot növelgetünk 1-től és a végén átlagolunk.
Bugyuta, értelmetlen, de nem egyszerű feladat. Sok szebb, gyorsabb, egyszerűbb megoldás lenne rá.
A kód:
private static void Main(string[] args)
{
string str = Console.ReadLine();
double szum = 0;
if (!String.IsNullOrEmpty(str))
{
int end = str.Length;
int start = 0;
int indexOf = 0;
int darab = 1;
while ((start <= end) && (indexOf > -1))
{
indexOf = str.IndexOf(",", start);
if (indexOf == -1) break;
szum += Convert.ToInt32(str.Substring(indexOf - 1, 1));
start = indexOf + 1;
darab++;
}
szum += Convert.ToInt32(str.Substring(str.Length - 1, 1));
Console.WriteLine(@"Az összeg: {0}",szum);
Console.WriteLine("-----------");
Console.WriteLine(@"Az átlag: {0}", szum/darab);
}
Console.ReadLine();
}ArchElf:
A tanár talán azt sem tudja, mi a TryParse, én bele se mertem tenni, meg a tömb csalás... nem volt benne a kiírásban. -
jah... bocs, kell a combobox.datamember, illetve a combobox.valuemember, amiknek az oszlop nevét kell adni így valahogy:
combobox.datamember = "kategoriak"
de ha nem kódból csinálod, akkor a combobox tulajdonságainál is tudsz datasource-t hozzárendelni. Eh, de kár, hogy nincs VS a környékemen most.
Illetve egy harmadik mód, ha úgyis csak ez az egy oszlop van benne, hogy a DS-ből a Rows-t veszed.
Vasinger!:
Este igen... később. -
Most nincs előttem VS, de a comboBox-nál is van DataSource. A grid mintájára készítesz egy lekérdezést, emiben csak a kategórianevek vannak és azt hozzáadod.
Kiválasztásnál meg a ComboBox SelectedIndexChanged eseményekor a comboBox.SelectedItem lesz a kiválasztott mező ebben az esetben.
-
-
-
-
Értem. Sose használtam még varázslóval mdb-t.
Sőt, utálom az Access-t.
megoldás:
OleDb-t kell használni, nem SqlCommandot!
private void button1_Click(object sender, EventArgs e)
{
var con = new OleDbConnection
{
ConnectionString =
ConfigurationManager.ConnectionStrings["dbproba.Properties.Settings.Kapcsolat"].
ConnectionString
};
var adapter = new OleDbDataAdapter();
var ds = new DataSet();
try
{
con.Open();
adapter.SelectCommand = new OleDbCommand("SELECT * FROM Termekek WHERE (KategoriaAzonosito = 1)", con);
adapter.Fill(ds);
dgvForm1.DataSource = ds.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(@"hiba: " + ex.Message);
}
finally
{
con.Close();
}
}-Zeratul-:
SqlCommand nem ismer olyan providert, hogy OoleDb, erre értettem.Az eleje varászslós és utána már nem OleDb-t használt a kolléga, itt csúszott el.
-
No meg a finally-t érdemes használni a kapcsolat lezárásához, nem a try-ba betenni:
finally
{
con.Close();
}Különben kivétel esetén nyitva maradhat.
Így talán szebb és jobb (a rendezést ne nézd...):
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["app.configban a connstring neve"].ConnectionString;
SqlDataAdapter adapter = new SqlDataAdapter();
DataSet ds = new DataSet();
try
{
con.Open();
adapter.SelectCommand = new SqlCommand("SELECT * FROM Termekek WHERE KaterogiaAzonosito=1", con);
adapter.Fill(ds);
dgvForm1.DataSource = ds.Tables[0];
}
catch(Exception ex)
{
MessageBox.Show("hiba: " + ex.Message);
}
finally
{
con.Close();
{
} -
Egybe is vehető a connstring, viszont az app.configos nevét kell használni.
con.ConnectionString = ConfigurationManager.ConnectionStrings["dbproba.Properties.Settings.Kapcsolat"].ConnectionString;
Szerintem jó a sima DataSet is, nem kell ezt túlcifrázni egy ekkora feladatnál.
Ha a Tables[0] is benne van, elvileg jó lesz. Szerintem az object reference a connectionstring miatt volt. Használj break pointokat debugoláskor.
mod:
Ezeket megmutathatnád még, ha nem megy, mert ezekről nincs infó a kódban, amit linkeltél:dsAdatok dsAdatok;
KategoriakTableAdapter taKategoriak;
TermekekTableAdapter taTermekek; -
Ha connectionstring-ként tárolod az app.configban, akkor úgy is kell kiolvasni onnan:
string cnString = ConfigurationManager.ConnectionStrings["kapcsolatNeve"].ConnectionString;
De mindenek előtt hozzá kell adni a referenciákhoz a System.Configuration.dll-t és a using blokkba is fel kell venni.
-
eh, lejárt az időm...
Akkor viszont talán érdemes azon elgondolkodni, hogy feltehetnél egy gombot, képet, amin mondjuk nyilak vannak és azok reprezentálák a lépéseket. Azokkal is lehet léptetni a Dataset-ben a következőre. Az OleDb is kikötés vagy Oracle és amiatt van ez?Bár távol álljon tőlem, hogy beledumáljak.
-
Ha ez házifeladat, akkor nem szóltam, de ha nem, akkor gondolkodj egyszerűbben:
Ha nem százas nagyságrendű a kategóriák száma, fogod a DataSet-et (vagy bármit) és a kategóriákat betolod egy legördülőbe és abban lépegetve a kiválasztott elem (SelectedItem) lesz a szűrő a gridre. Ez szerintem szebb megoldás és még talán gyorsabb is és nem fogsz elveszni a bindingsource-ok között sem és kevesebb lesz a copy-paste is.
Meg használj hibakezelést (try-catch) is, ha lehet. Az úgy szebb, mint hagyni elveszni a hibákat.
mod:
és konkrétan ezzel a binding cuccal kell megoldani? Csak mert a példa úgy nem életszerű, nem úgy szoktuk. -
Azért én a VS-t nem használnám "másolgatva", telepítés nélkül. okozhat kellemetlen perceket fejlesztés közben. mindenben ilyen bonyolultan gondolkodsz?
Mennyi programot kell újra feltelepíteni? Office, VS, SQL szerver, stb. alap, miért működne telepítés nélkül? Igen, tovább tart a programokat újra felpakolni, mint az prendszert, de erre találták ki a ghostolást. Feltelepítesz egy alapot és lemented. Ha reinstall van, csak visszarakod. Én viszont magasról teszek rá, mert ha már tiszta Win, akkor legyen minden más is az. Évente kétszer kibírom, de ez magánvélemény.
-
válasz
return.value #54 üzenetére
ez jó és működik!
Pedig már gondolkodtam, hogyan is csinálnám meg... nem így írtam volna, hanem valószínűleg bonyolultabban.
Kösz a linket! -
Hú, hát ez nagy téma.
Az a lista egy adatbázis, mert akkor ha nem konzisztens és nem mentes az ismétlődésektől, hibásan kitöltött mezőktől, akkor még lehet vele bajod.
Ha jól szerkesztett, akkor igazából lekérdezéseket akarsz? CSak ezért, mert ha nem jó az adatbázis szerkezeted, akkor sok fejfájásod lehet vele.
ezt a kiegészítős dolgot díjazom. Jó ötlet. Megvalósítani első elgondolásom szerint úgy tudod, ha a külön file-ban tárolt adatbázisod sorait figyelteted bevitelkor és egyezésnél felkínálja (esetleg legördülőben) a lehetséges egyezéseket. (Ami addig egyezik a karakterláncoddal). Aztán ha bevitted a szót, a listából kiválasztod a neked kellőt.
Most jövök rá: hatalmas LISTA és nem adatb. Sebaj. Akkor is ezt a ''keresést'' próbálnám először, de majd gondolkodom rajt, mert ez lelassíthatja a progidat.
Formon ezt nem nehéz win-es felülettel ellátni. Pl.:Visual Studio.NET
Lehet, hogy ez hülyeség, mert még én is igencsak kezdő szinten vagyok -
alapvetően az az elv, hogy van a köztes nyelv (IL) kiküszöböli a pointerek alkalmazását, mivel a fordítás a kész kódot az IL-re fordítja és az adott specifikáción fordít gépi kódra (vagyis futtatáskor). Nem határozható meg előre semmi a futtatókörnyezetről.
Így nem használhatsz pointereket ''csak úgy''. Felügyelt a kód is, tehát szól, hogy a programod ''unsafe'' környezetben használható. -
Én is utálom, hogy programozó suliba jártam pár éve és pascal meg ansi C volt a legmenőbb, amit tanítottak. itt a fősulin szintén c++, de sammi ojjektumorientáltság, assembly, Magic, Prolog... mindből semmi és nincs ma használatos vagy kicsit modern. Felháborító.
ez a C# meg .NET is csak a végén és csak fakultációban. Fakk. -
válasz
paramparya #25 üzenetére
Ettől még a Delphi jó, de a.NET -et nagyon el akarja terjeszteni a MS, úgyhogy el is fogja... ez sem rossz, persze.
-
Hogyan oldjam meg, hogy egy gomb megnyomására bizonyos helyen a formon magjelenjen egy előre megadott szöveg. Láttam erre példákat, de csak előre meghatározott textmezőben. Lehet valahogy akkor dönteni a helyről, ha már aktuális?
Vagy ez hülyeség?
-
Eléggé az elején járok még ennek az egésznek, de érdekel, úgyhogy írjatok minél több kérdéssel, felvetéssel, stb.
-
Nah, itt vagyok végre.
szóval: egy köztes nyelvre fordít és aztán a natív, tehát minden eshetőséget le kéne programoznod ahhoz, hogy a procit felismertesd. Szerintem ez felesleges.
ezt szerintem nem erre találták ki...
Inkább webes felületekre, adatbázisokkal babrálásra...
Szerintem -
ok. És ha mondjuk én azt szeretném, hogy egy dolog az x-edik formon kivételként eldobandó, a másikon meg elfogadható, akkor ezt hogyan oldom meg? ''Helyben '' kell definiálni?
Most itt arra gondolok, mit fogadunk el és mit nem és ezek néha megváltozhatnak formtól függően.
Vagy ez nagy marhaság? -
Lenne is egy kérdésem: Kivételkezelés.
Számomra ez egy bonyolult téma. Vajon használhatok kivételt az előre várt problémákra is? Honnan tudom, hogy melyik kivétel a ''megfelelő'' az eldobhatók közül és lehet ezeket rangsorolni, hogy ne mindent dobjon el, ha már nem kell?
(Lehet, hogy a kérdések buták, de igazán nem vagyok othon az ilyesmiben.) -
Senki nem használ C# -ot? Pedig lenne pár kédésem. PLS.
-
LOL!!
Köszi a hozzászólást. Nem kellett volna off topc-ként írnod.
Igazad van. A .NET Framework nélkül nem megy. Persze ez is MS trükk, hogy vegyél inkább MS terméket...gondolom
A Borland C++ Builderről már hallottam, de sose néztem meg. EDDIG! Mostmár érdekel.
Az IDE kérdésről tudtam. Nem ez az első, de aVS.NET-ben ''IS'' nagyon hasznos.
Tudod hogy reklámozzák ezzel magukat? Azt mondják, hogy e .NET Framework bevezetésével minden szoftvercsaládjukat lecserélték, ezzel ELSŐKÉNT ismerve fel az XML és a webes programozás nyújtotta lehetőségeket.
És ezt ki veszi be? Szerintem már régen a köztudatban él az XML és a web fontossága és létjogosultsága.
Persze mindezek mellett szerintem a .NET valóban a haladást szolgálja és nem is kis mértékben. -
Igen. Tetszik, hogy a formokat VS.NET -ben csak berakod és csak az eventeket kell leprogramozni. A gombok, menük és a többi alapelem rendelkezésedre állnak készen.
A másik ami megfogott az a köztes nyelvre fordítás. Ezek szerint akkor a nagyvállalati összevisszaságokra (ami MO-on különösképp jellemző) is lehet egységes felületet fejleszteni. Megírom a progimat XP alatt és egy SPRAC procis unixos rendszerben futtatom (persze ez nem ilyen egyszerű, de majdnem). -
Sziasztok!
Most kezdtem el foglalkozni a VS.NET -tel és a C# nyelvvel. Ha van köztetek olyan, aki ezzel foglalkozik vagy csak érdekli itt a helye.
Szívesen vennék egy-két magyar nyelvű leírást, ha van valakinek. Angolul a Microsoft ellátja az embert temérdek tutoriallal meg sample progival, de magyarul eddig alig találtam valamit.
Nagyon tetszik egyébként a környezet, mert nem kell minden windows-os dolgot lekódolni. Egy sor alapvető műveletet kivesz a kezünkből a VS.NET.
Ettől függetlenül nem a legkönnyebb nyelv, mert full objektumorientált, ami (nekem) kicsit nehezebb téma a régi c++ -os tömbkezelésnél, stb.Szóval várok minden nemű írást ide, legyen az vélemény attól, aki próbálta, kódrészlet, kérdés... bármi a témában.
Hali !!!
[Szerkesztve]
[ Módosította: Kalandor ]
Ú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!
- Bomba ár! Fujitsu LifeBook E754 - i5-4GEN I 8GB I 256SSD I 15,6" HD I HDMI I W10 I Garancia!
- Napi 1000 ft - tól BANKMENTES részletfizetés Noblechairs HERO RL valódi bőr Gamer Szék
- A Panasonic Toughbook CF-54 i5-5300u i5-6300u TN, IPS touch Budapest, MPL Foxpost
- Szerezd meg a tökéletes házat most!
- IPhone 15 128GB Zöld ÚJ! 12 Hó Jótállás!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest