- Magisk
- Samsung Galaxy A54 - türelemjáték
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Redmi Note 9 Pro [joyeuse]
- Érkezik a Samsung Health előfizetés?
- India felől közelít egy 7550 mAh-s Redmi
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Ford SYNC 3 infotainment rendszer teszt
- iPhone topik
Új hozzászólás Aktív témák
-
szabok512
csendes tag
Hali!
En hobbi szinten programozok, most csinaltam egy lotto progit, amit melekelek pok.avi ,
At kell nevezni zip-nek, tabom van csak igy tudom felrakni.Fremwork 1.1 alatt fut csak, vagy
Annak telepitve kell lennie.
Anyagrol anyit, hogy keress ra az Ektf Hernyak Zoltan konyvere pdf-ben megvan a neten.
Privatban elkuldom,ha elkuldod az email cimed. -
drkbl
őstag
-
oO7
őstag
Ahhoz, hogy "szép kódolást" lehessen tanítani, előbb meg kell tanulni kódolni és eljutni addig, hogy képes legyen az ember komplexebb "csúnya" kódot írni. Teljesen felesleges addig design patternekről beszélni meg objektum orientáltságról, amíg a program üzleti logikája átláthatóan elfér egy winforms alkalmazás code-behind-jában...
Egyet értek veled, hogy szülség lenne ezeknek is a tanítására - sokkal nagyobb szükség, mint azt sokan gondolják - de az ilyen bugyuta "írjunk saját rendezőalgoritmust" jellegű feladatok sem hasztalanok.
Én tanítottam már elég sok helyen Windows 8 meg Windows Phone fejéesztést és hát láttam durva dolgokat, és hidd el, nem az MVVM pattern nem ismerése volt a legnagyobb probléma
-
oO7
őstag
Szerintem nem hülyeség az, ha algoritmikus gondolkodásra tanítják őket. Igen, ott van a LINQ, de azért nem árt ha tudja, hogy mi törtémik mögötte, vagy ha valami speciális esettel találkozik amire nem lehet ráhúzni a beépített eszközöket, akkor nem fog széttett karokkal ülni, hogy hát ő nem tud minimumkiválasztást írni vagy rendezni vagy csoportosítani vagy ilyesmi...
Nyílván án is levágnám a kezét annak aki éles kódban leimplementál egy rendezést, de azért tudjuk már, hogy mi történik a színfalak mögött...
-
vlevi
nagyúr
"A lehető legkevesebb mágiával kell élni szerintem"
Én ezt csak arra akartam írni, hogy a személy nevét ki akarja írni a console writeline-al, vagy egyéb helyen van szükség rá, ahol a ToString-et használja a C#, ott ez lehet a megoldás. Természetesen átlagos esetben jobb, az, ami te írtál, hogy lehetőség szerint használjunk mindent a helyén."Igaziból nem is tudom szerver oldalon van-e tisztán natív keretrendszer"
Második futtatásra már az
Mert a JIT elrakja a lefordított kódot. Engem igazából csak az zavar, hogy ez a lefordított kód nem marad meg. És minden alkalommal, amikor pl. elindítom az ATI Catalystot, vagy a Samsung KIES-t, akkor az idő nagyrészét az viszi el nap mint nap, hogy a JIT kódot lefordítsa a gépem. Vagy rosszul gondolom, és megmarad valahol a lefordított kód, pl. a gép kikapcsolása után? Asszem nem. -
MrSealRD
veterán
Elnézést, hogy a távolból belekotyogok, de mi a szösznek van akkor a property, ami pont a nevet használja? Miért az osztály ToString()-jét override-olod, ha magad gyártod le a kész megoldást előtte? Ennek így semmi értelme.
Mondjuk pontosan nem értem a célt, de mondjuk lehet az hogy a
Console.Eriteln(PersonInstance.getName() + PersonInstance.getAge().ToString());
helyett
Console.Writeln(PersonInstance);
is elég....persze nem spec. itt, de úgy általánosan. Elég ha egyszer megírja az override-olt ToString-ben a formázott kiíratást, és akkor csak az adott objektumot dobja bele...nem kell minden egyebet minden egyes kiíratásnál odaírni...Bár lehet, hogy most nagyon félreértek valamit....
-
Chipi333
csendes tag
Ahogy látom, ha ömlesztve van egy csomó adatom (mondjuk milliós nagyságrendben néztem) és nem érdekel a rendezhetőség, csak ki-be akarok olvasni és gyorsan elérni, akkor jó és tényleg gyors, de egyébként IList, ha rendezett kell és ha úgyis iterálni kell.
Most C# konkrétumot nem tudok mondai, de ha rendezettség és gyors random elérés is kell, arra vannak olyan adatszerkezetek amik egy rendezett struktúrában tárolják az adatokat (pl vmilyen fa), és emellett tartanak egy hash táblát is hozzá. Javában biztosan van ilyen, és hát gondolom a .net frameworkből sem maradt ki
-
amargo
addikt
"Viszont a hashtáblák előnyét nem látom."
"És erre írtam, hogy ha nem kell milliónyi különböző érték, nem fáj."
Nem csak millió, már kevesebbnél is bizonyít.A legegyszerűbb példa, hogy sokkal gyorsabb ez a belső szerkezetének köszönhető. Nyilván valamit valamiért alapon megy ez is, mivel karban kell tartani a index-et. Képzeld el úgy, mint egy adatbázis táblát, amire index-et raksz.
Egy példa:
Adott egy kritikus adatkiszolgáló szál - amint más szálak tartanak karban -, ha adat kell belőle, akkor azt gyorsan kell publikálni. Itt az IList rettentő csúnyán elvérez.Amint látom más példákat is felhoztak rá.
-
drkbl
őstag
Nem igazi válasz, inkább csak ismereteim összefoglalása
Pontosan
A generikusok legnagyobb előnye a boxing/unboxing [1][2] elkerülése.
A hash, mint a linkelt cikk írja, arra jó, hogy komplex kulcsot rövidít. Pl. tárolni kell 1000 nagyságrendű embert, kulcs név+születés helye+születés ideje+anyja neve, akkor megfelelő, az adott tartományban ismétlődést nem adó hash függvénnyel memória spórolható, és/vagy a keresés nagyban gyorsítható. Pl. egy adatrögzítő View saját magán belül ellenőrizheti a véletlen ismétlődést.
A hash függvény viszont adhatja ugyanazt az eredményt különböző kulcsokra, ezért kezelni kell a hash ütközést (amúgy nem túl régen kénytelenek voltak kiadni egy biztonsági frissítést az ütközéskezelés időigénye DoS lehetőség miatt a keretrendszerhez). A HashTable és a Dictionary más-más módszert használ erre, ez is lehet szempont a választáshoz.
-
drkbl
őstag
A másik oldalról megközelítve: When to Use Generic Collections
-
WonderCSabo
félisten
Elírtam, úgy értettem, hogy a HashSet is az, a HashTable osztály valóban nem az. A többinél pedig direkt magyarul kisbetűvel írtam, mert általánosságban beszéltem a hashtáblálról, nem a HashTable osztályról.
Mellesleg természetesen a HashTable annyival tud többet a HashSetnél, hogy az előbbi kulcs-érték párokat tárol, az utóbbi csak kulcsokat. De HashTable helyett akkor inkább Dictionary.
-
WonderCSabo
félisten
A hashtábla is generikus.
Már leírtam az előnyeit. Konstans idejű hozzáadás (majdnem mindig), eltávolítás és lekérés, asszem ezek önmagukban bőven elegendő érvek.
Szerk.: A második részre: a kód is sokkal tisztább vele, plusz miért ne oldhatnánk meg elegánsabban a dolgot, ha már van mód rá. Én csak beposztoltam a kódot, hogy ezt megmutassam. Meg amúgy is ezek a kis programok csak példák, a való életben nem 10 elemű listákkal fog csak foglalkozni a tanuló.
(#3217) Szabesz: Okés.
-
WonderCSabo
félisten
Te most vmit nagyon elnézel... És még idézted is azt, hogy
A set is a collection that contains no duplicate elements
Tehát: nem lehetnek benne duplikált kulcsok. Pont ezt használtam ki ennél a kis kódnál. A hashtábláknak pedig óriási előnyei vannak más adatszerkezetekkel szemben, egy kis ízelítőért lásd előző hszemet...
Szerk.: Ja látom már kiderült a dolog.
Szabesz: Az if is feleslegs, az csak azért van ott, hogy dupkilálás esetén várjon picit a progi, de teljesen felesleges várni.
stevve: de akkor már inkább vizsgálnám, hogy van-e már ilyen a kollekcióban
Ez az amit a hashtábla konstans idő alatt tesz meg a hozzáadással, Te pedig minden egyes új szám hozzáadásánál lineáris keresést végeznél...
-
atti1848
senior tag
Sziasztok.
Készítek egy játékot és szeretnék beolvasni egy txt-ből szöveget, majd kiíratni egy listboxba, de sortöréssel.
Próbálkozok vele, de nem tudom.Az már megvan,hogy beolvassa a szöveget és ki is írja a listboxba, de egy sorba.Meg az ékezeteket nem ismeri fel.
Segítsetek légyszi.Köszönöm.
-
MrSealRD
veterán
Kicsit félreértettél. Semmi probléma nincs azzal, hogy az "élet alapján" próbálsz segíteni. Én arra céloztam amikor odadobnak valakinek itt/másol egy ilyen kifejezést a kérdezőnek, hogy "használj collection"-t. Akkor ezzel az a gond, hogy sem a tömb-el, sem a collection-el nem oldódik meg a problémája mert egyiket sem fogja tudni használni...
Önmagában a megoldásban én sem hiszek, mert azzal nincs meg a gondolatmenet ami rávezet.
Kicsit hátrébb lépve a témától, martonx által rendszeresen tett mérhetetlen nagyképű és lenéző hozzászólásoktól(segítségtől) hullik ki a hajam. Ilyen ronda módon válaszolni ebben a topicban még senkit nem láttam...
-
-
martonx
veterán
A többit illetően is igazam van, más kérdés, hogy azok kevésbé objektív, kevésbé mérhető előnyök - hátrányok. Illetve személyfüggő (kockaság faktor), hogy ki mit szeret / mit nem szeret látni.
Emberünk kérdezett, mi meg válaszoltunk. Ettől kezdve szíve joga guid-t, vagy int-et használni. Én senkit nem akarok lebeszélni, rábeszélni, se hitvitát nem akarok ilyen részletkérdésben folytatni. -
martonx
veterán
használom én is a guid-ot, de csak módjával
Pont debugoláskor, komolyabb SQL tárolt eljárásoknál jól jön látni, hogy ténylegesen melyik sort sikerült megtalálni. Ilyenkor egy szám jóval többet mond ránézésre, mint egy guid.
Pont netes projekteknél használom, de ott is csak bizonyos esetekben. Mert valóban jobban jön ki, ha kívülállónak semmit se mondó adatokat utaztatok, mint ha számokat.
Egyébként még annyit tennék hozzá a guid-hoz, hogy nagyobb adattömegnél performancia gondokat okoz. Legalábbis az SQL szerver könnyebben indexel, gyorsabban kezel keresésnél egy számot, mint egy jó hosszú kódsort. De ez pár millió adatsor alatt észrevehetetlen. Felette viszont hirtelen zavaró tud lenni.
-
-
MrSealRD
veterán
Na, ez kimaradt. Elvileg ASP.NET 2-ig elég lenne. (ugye szintaxis is aspx, nem razor...)(Próbálok a mentén haladni amit a tantárgy kerete ad)
MVC most nem kell.A felhasználó kezelést sikerült használni. Remek, és valóban elég is.
A szavazás tetszőleges, tehát Pl.
Add meg a szavazás kérdését: Milyen napod volt ma?
Ezután(vagy egy időben) Adj hozzá válaszlehetőségeket:
1.jó
2.rossz
...
x. nemtom
(Ennek a pontos módszerét még nem tudom...De úgy néz ki egy sima szövegmező gomb páros a hozzáadásra és lent egy grid view mutatja a hozzáadottakat.)Most az jelenti a gondot, hogy a megfelelő módon bővítsem az adatbázist. Össze kell kötnöm a user-en keresztül az én szavazásos tábláimmal.
-
Ez a kód hibás, mert túlindexelem a tömböt, még dolgozok rajta
A kód
if (textBox1_adatbe.Text != "")
{
int egesz_be = Convert.ToInt32(textBox1_adatbe.Text);
Random r = new Random();
char[] karakter = new char[egesz_be];
for (int i = 0; i < karakter.Length; i++)
{
char kiir = karakter[egesz_be];
listBox_adat.Items.Add(kiir);
} -
-
gyáá...
Szóval a program működése:
Van két groupboxom (Bevitel és kiír).
Bevitelben egy elemszám feliratú label, mellette egy textbox.alatta 3 gomb, rendre:
Egészek, Valósak, Karakterek
Mindegyik gomb randomol egyet attól függően, hogy mekkora az elemszám, annyit írat ki a listboxba.A kíír résznél van öt gomb:
Egészek, Valósak, Karakterek, Szövegek, Töröl
Ezek simán mennek, csak a másik nem. A kiír is működik, csak szerintem nem tömbből, de működik, csak ott a karakteres nem.
MOD: - "int[] egesz = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };" - ez felesleges, az egész számokat a rendszer ismeri és a 10 az nem két karakter, hanem egy szám. hol a 9?
Az előre meghatározott intervallumból dolgozik, azokkal töltöttem fel a tömböt!
Üdv. core2
-
-
zedecske
tag
Windows alkalmazas...(ööh ha ez azt akarja jelenteni, hogy windows alatt fut, es nem parancssoros, hanem formos, akkor igen
)
ezeket hasznalom benne:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;Sajnos en Express-t hasznalok, de mar megbantam, lehet hogy a debugja nem tokeletes.
-
zedecske
tag
Ez a project egeszen kicsi
egy nortwood celeronon egy par masodperc alatt lefordul.
Csak valamilyen oknal fogva, (amit csokkent ertelmem nem hajlando megerteni), nem reagal a breakpointokra (ha F5-ot nyomok, ami a debug, en is ugy tudtam). Ez alatt azt ertem, hogy tehetek en akarhova BP-t, egyszeruen nem all meg a futas, nem adja vissza az editort, hogy megnezhessem a valtozokat.Azt olvastam vhol neten, hogy az Express meg a Professional debugja kozott azert mervado a kulonbseg, kulonos tekintettel a breakpointok kezelesere.
-
Blake1757
csendes tag
Sajnos azt hiszem magában az insert résznél van problémám... kikommenteltem azt a részt, amikor vizsgálom, hogy üresek -e a textboxok...
az kaptam, hogy
"OleDbException was unhandled by user code...
szintaktikai hiba az insert to utasításnál..."Tud valaki segíteni, hogy milyen módon írjak az adatbázisba? vagy nem jól adtam meg magát az Insert utasítást?
Előre is köszi
-
zedecske
tag
Hat a problema ott kezdodik, hogy meg sem jelenik a messagebox.
Guglizok orult modjara, de az MSDN megoldasa nem jon be, vmi eventhandlerekkel kene buveszkedni, azt is megprobaltam, nem jott be, most eppen a dataGridView1_CellEndEdit metodust probalgatom, nem sok sikerrel.
Emlitettem hogy kezdo vagyok c#-ban ? -
-
Lacces
őstag
Megnyugtatlak ez nem az! Magamnak akartam. De kaptam ezt stuktogrammot, és mit ne mondjak... elég csúnya lett... Bár én még ennél szebb megoldást nem igazán láttam.
Visszafejtése legalább egyszerű.De ha van egy szép kódsora arra, hogy a lengyel formára hozást hogyan meg lehet nagyon profi módon megírni! Az most mondja, vagy hallgasom el örökre
De prog2-n Listákat kellett írni, és Bináris Kereső Fát... De az osztály már megvolt írva, és a metódusok is, de a metódust meg kellett írni.
Figyelj:
public bool insert(int key)
public bool removeAll(int key)
public bool addLast(int key)
és a többi.
Semmilyen más paramétert nem kaphat a metódus, rekurzív megírás kizárva, egyéb osztályok, interfészek használata tilos. Ez a no comment kategória.refaktorálható lenne? Az alatt mit értesz?
-
Lacces
őstag
Sziasztok!
Köszönöm a megoldást Jester01 Illetve a többieknek is. Bocs, hogy ilyen későn jöttem fel a válasszal.
Amúgy ez egy gyakorló feladatsor része volt, amelyek közül a következő gyakon, lesz belőle egy röpi, és ha az ember nem tudja megoldani az adott feladatot 10-15 perc alatt akkor nem kaphat aláírást és bukta az egész tárgyat.
És tegnap este annyira a rendezésben gondolkoztam... az a és a[i+1]-re fokuszáltam, hogy amit Jester01 írt le, az a(i) és a[j] kombó teljesen kiment a fejemből, csak másnap reggel jutott eszembe, mikor c++-ozni kellett. :-DMost a java-t és c#-ot tanuljuk, de... nem is ennek a két nyelvnek az alapjait, hanem ilyen c/c++-os feladatok megoldását, nézzük. Szal c++-osan programozunk.
Meg most vannak tantárgyak, amelyek c++-ra épülnek, szal nem baj ha megtanulom ezeket az algoritmusokat.
Sőt nekem nagyon tetszett amikor python-nal melegettem be a programozásba (nekem a python sokat segített, szerintem egy jó tanuló nyelv), hogy egy split metódust megírtunk saját kezüleg, mert így tudom, hogy akkor egy-egy függvény hogyan működik a háttérben, vagy volt egy C-os könyv, ahol olyan függvényeket írtunk meg, amelyek pl.: a unixos cat parancs megvalósításának is tökéletesen megfelelt. Ez nekem tetszett és sokat segített.Visszont értem én stevve érvelését is. Magamtól tanultam ezeket a kollekciókat, használtam is stb. Java és C# alapok vannak. És tényleg értem én, hogy mit mondasz, mert amit a munka világa követel, azt az egyetem nem tanítja. Azt magamtól kell megszerezni. Teljesen megértelek, és hidd el én is kidobnám ezeket, de ha kell diploma, akkor muszáj leszek ezeket megcsinálni
Máskor majd jelzem, hogy sulihoz kell vagy magamnak, Bocsánat, remélem nincs harag!
-
Jhonny06
veterán
Ez a lehető legrosszabb tanács volt. Az a baj a C#-al, hogy sok minden már egyenesen túl egyszerű benne. Jobb, ha "szarakodik" azzal a bubble sort algoritmussal, mert ezekből tanul az ember, nem abból, hogy a beépített sort függvényekkel rendezget. Ha később át kell állnia C-re vagy C++-ra, nagy bajba lesz az ilyenek miatt. Vagy azt mondják, hogy VS meg IntelliSense nélkül jegyzettömbben írj meg valamit..
-
Lacces
őstag
Igen, a miértek érdekeltek, Jester válasza jól jött, mert 1 kivételével mindegyiknél tudtam rá a választ, az egyiknél meg nem voltam biztos :-)
Személy szerint az első válasz: x>y>0, az átalakítás része, hogy (x>y) az egy bool érték (false/true) és az nem hasonlítható össze egy 0-al (néha előfordul, hogy a 0-t false-nak nézem be, vagy a C-s feltételekben, ahol a kiértékelés sosem false vagy true, hanem 0 vagy 1
-
SimS
senior tag
Üdv
Értem én, hogy majd a szerver lekezeli magától, meg hibaoldal.. de ha már szimpla hibaoldal van, akkor ott lehet fejlesztői hanyagság is ám
Az meg fekete autó ide vagy oda...
Megoldottam végül, használtam int?-et, aztán lekezelem egy plusz metódushívással, aztán kész. Valahogyan biztonságosabbnak gondolom így.. aztán majd jól megmondják mások, hogy szar
Köszi a választ,
SimS
-
Lacces
őstag
Aham, így értem, akkor miért hasznos
A linket is köszönöm, a design patterns-eket átnézem, azt tanulni kell. Úgy tűnik van még mit
Ettől mindig frászt kapok, hogy valami létezik, és nem kell létrehozni...
Eddig a konstruktorról tudtam, hogy defaultan létezik egy publikus változata. És ha azt private-á teszem nem lehet létrehozni újabbat.Staticnál nem tudtam, ott mindig létre volt hozva tutorialokban. Van még mit tanulni! Köszönöm szépen!
-
Lacces
őstag
Aham, köszönöm szépen, ez az instance() nagyon érdekes. Még így sosem használtam.
Fórumon volt egy kérdés: Hogyan lehet megakadályozni, hogy egy osztályból példányosítani lehet.
Gondolom arra gondolt az illető, hogy objektumot ne lehessen létrehozni az osztályból.3. az jó, tetszik, egyszerű és pontos, rem nem baj ha lopom!
Köszönöm mindenkinek a segítséget!
-
Boolash
aktív tag
Nem értem, hogy miért nem megy így. Csináltam egy Labelt, amit a Response részek előtt átírok (látszik a kódban). Ha kiveszem a Response részeket, akkor kattintás után látszik az eredmény, illetve tudok többet kattintani is, tehát nem a linkbuttonnal van a gond, hanem a response részekkel. De miért nem zárul le a response? Próbáltam Response.Close() , de az sem segít..
Nem találtam a neten más módszert a fájl letöltésre, viszont ha csak ez van, akkor ennek mennie kellene popup nélkül is. Popup megoldást csak végső esetben alkalmaznám... átadni azt a sok attribútumot (pl bináris kód), vagy még egy lekérdezés.. meg egy új ablak..
Nincs valami más lehetőség?
Köszi, hogy segítesz! -
Boolash
aktív tag
-
Lejárt az idő: de az is megoldás lehet, ha külön <form> közé kerül a gomb. Vagy egy kis popup ablakkal csinálod meg, hogy másik HTTP Handlert használjon.
A Response.End() már csak azért sem ideális, mert például a Response.Redirect már eleve lefuttatja és ha azzal használod, meg sem hívódik, mert már egy End() befejezte az oldal futtatását.
-
martonx
veterán
Sajnos mi ezernyi vonalon mozgunk (java, php, .net, vbscript), és a fő csapásirányunk nem is a fejlesztés (talán inkább a fejlesztetés alvállalkozókkal). Így aztán senki nem akar pusztán egy fejlesztő környezetre több száz K-t elkölteni. Az Express egyébként tényleg sok dologra elég.
-
amargo
addikt
Az egyszerűséget nem zárom ki ezzel - én is azt szeretem
és arra is törekszem -, de a karakteres tömbbe ágyazott kód az nagyon kiesik az egyszerűségből. Mint figyelemfelkeltésként írtam.
Megnéztem az oldalt és https-t akar használni, saját tanúsítványuk van - amire inkább nem írok semmit, de lényegiben törik a forgalmat.. -, ezért elhasal rajta.
Már 20 perce szerkesztem a bejegyzést. Közben észre vettem, hogy a bing adatokat gyűjt, és hívtak ezzel is - honnan a francból tudják a számomat?? persze megkérdeztem és jött a ködösítés. Izgalmas
-
amargo
addikt
Felsorolhattam volna
igaz én nem használom.
Mintha ezen az oldalon hosztolni is lehetne vagy nem ezt hirdették anno erre a célra - megnéztem most is ezt írják róla? Ezért is akartam regisztrálni.martonx:
Engem hozzászoktattak, hogy egyszerű dolgok nem léteznek, ma még ezt kell tudnia, de holnapra már mást.. ha a programban van string query-ként azzal csak tökön lövöm magam, akár a legegyszerűbbnek tűnő lekérdezéssel is. Félre értés ne essék létezhetnek soha nem változó lekérdezések csak még nem láttam olyat. -
amargo
addikt
Persze, különben nem is jött volna be a regisztrációs doboz, máshol bejött, csak a munkahelyi gépemen nem. Most nincs időm megnézni, hogy ha az alkalmazás már betöltődött, akkor miért nem jelent meg az egészen. De holnap-holnapután lehet megkeresem az okát.
j0k3r!:
Én annó a LINQ for Visual C# 2008 könyvet olvastam hozzá. -
martonx
veterán
Oké, örülünk, bár kizárt dolognak tartom, hogy egy datagridhez ilyen kegyetlen kifacsart módon lehessen csak hozzákötni bármit is
Megnéztem és én legutóbb így csináltam (pontosabban javarészt helyettem a varázsló csinálta, egy kicsit szerintem el is van bonyolítva, de legalább szépen strukturált, átlátható):
private System.Data.Objects.ObjectQuery<Projektek> GetProjekteksQuery(ffdataEntities ffdataEntities)
{
System.Data.Objects.ObjectQuery<FishFeed.Projektek> projekteksQuery = ffdataEntities.Projekteks;
projekteksQuery = projekteksQuery.Include("Utasitasoks");
return projekteksQuery;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
entities = new ffdataEntities();
projekteksViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("projekteksViewSource")));
System.Data.Objects.ObjectQuery<FishFeed.Projektek> projekteksQuery = this.GetProjekteksQuery(entities);
projekteksViewSource.Source = projekteksQuery.Execute(System.Data.Objects.MergeOption.AppendOnly);
}És a projekteksViewSource van bindingolva a gridhez (WPF-ről beszélünk)
-
Boolash
aktív tag
Köszönöm a segítségeket, sikerült!
Létrehozok egy Listát, majd ebbe pakolom az eredményeket:List<Doksik> osszes = new List<Doksik>();
....
foreach (var ered in eredmeny)
{
Doksik doksik = new Doksik();
doksik.Title = ered.Title;
doksik.Id = ered.Id;
osszes.Add(doksik);
}Ehhez persze kell egy Doksik class is.
Köszi
-
Boolash
aktív tag
Az a baj, hogy amit a foreach-ben visszakapok, vagyis a gruser.LoginName az egy string, ami valójában a dokumentumtár neve.
Tehát létrehozok egy class library típisú listát, amibe ezeket a string-eket pakolom. Ebből nem látom, hogy hogyan tudnám kinyerni az aktuális string-hez tartozó dokumentumtárban lévő Item 1-1 mezőjét (Title, Id).
Ehhez kell nekem a Linq.
EntityList<Item> test = cedc.GetList<Item>(gruser.LoginName);"
Ez a sor pedíg pontosan a fent említettek miatt kell, mert a loginname az String, de a fenti segítségével megkapom a string-hez tartozó dokumentumtárat.
A linq lekérdezésben nem adhatom meg string-ként a forrást:
var eredmeny = from aktualis in test
Vagyis a test-nek objektumnak kell lennie.Egyébként a Linq-ra még azért is gondoltam, mert itt csak teszt jelleggel kiírom az értékeket, de majd szűrést is akarok belevinni (where).
Lehet nem jól állok neki a dolognak, mert eddig az ilyen jellegű kereséseket powershellben oldaottam meg, CAML queryk segítségével, és ott nagyjából így ment. Itt is mehetne, de szeretném linq-val megcsinálni.Köszi!
-
Boolash
aktív tag
Igen, nem akarok a foreach-en belül változtatni grid datasourcot, de a foreach-en kívül meg nem látja a "var eredmeny" -t.
A siteon vannak dokumentumtárak, melyeket a felhasználói loginnévvel neveztem el.
Lényegében a gruser.LoginName adja meg a dokumentumtárak nevét, és én ezekben keresek (kiiratom a Title és az Id értéket tesztként). Ezért kell a foreach, mert végigmegyek az összes doksitáron, majd keresem benne a Title és az Id értékeket, melyeket egy var eredmeny -be pakolok. Csak nekem a végeredmény kellene. -
amargo
addikt
Komolyan semmi csúnyát nem akarok írni rájuk, de első körben csak localhost-on tudtam kipróbálni és szépen ment.
Majd most felraktam a kinti host-ra. Dobálta a google map key hibákat. Az újabb verzióban nem, csak nem megy.. erre statikusként a ascx-be belerakva megy. Ha a motor szolgáltatja code behind-ból, akkor elhasal.Biztos én nem olvasok el valamit. De most már nem szórakozom vele.. megy és kész csak idegesít a statikus megadás..
-
amargo
addikt
Bejött! Megy vele
Már csak egy aprócska problémám van vele, azóta 4 év fejlesztés történt benne és pont az a funkció nincs implementálva, ami kellene nekem
kml import..De ezek alapján majd elindulok.
Köszönöm a segítséget!Szerk:
Elkezdtem olvasgatni a fórumot és érdekes dolgot vettem észre, ettől vezérelve neki álltam megnézni a változásokat és a 2.5 is szépen fut, majd a 2.6-is, amibe az XML kezelés már implementálva lett.
Majd elkezdtem szépen végig nézni és kiderült, hogy a 3.2.1.0 verzió is szépen fut rajta
De a 3.2.1.1 esetén valami törés keletkezik az életében - majd megnézem.Köszönet a segítségért!
-
amargo
addikt
Nem, de igazából kipróbáltam egy szimpla projekten is és ott is futott, de még MVC-nél is.
Ha valami hasonló probléma lenne, akkor egy másik googlemap content hozzáadása nem oldaná meg a dolgot.. holnap debug leszmartonx:Igen én
Én is erre jutottam, de sokan vannak, akik jobban értenek hozzá és lehet valami elkerülte a figyelmem. Nem szarul írták meg, csak nem gondolták, hogy offline akarja valaki telepíteni is.. vagy fene tudjaDe 1 trükköt azért tudok rá:
IIS, ami agyúval verébre.. -
amargo
addikt
Hátha valaki már foglalkozott más megjelenítővel is. Ezt is felteszem
Addig egy másik is, mert már ... semmilyen megoldás nem jött be - na jó a gányolás mindig bejön..
CMS segítségével - mojoPortal - "készítek" barátnőmnek egy honlapot, amin majd prezentálni tudja a szakdolgozatát. A probléma ott keletkezik, hogy googlemaps-ra lenne felrajzolva nyomvonal és azokon belül információs buborékok.Ehhez készítettem egy kontrolt/template - átcsomagolt subgurim objektum -, amit beleraktam az oldalba. Szépen fel is lehet venni, mint eszközt, ellenben első nekifutásra egy nagy szürke paca jelenik meg - nem a kulccsal van a gond -, amint hozzáadok egy eredeti a projekthez fordított googlemaps template-et, egyből megjelenik az én objektumom is az oldalon. Azaz minden oldalon kell, hogy legyen saját googlemaps és egy eredeti - mégha az eredeti nem is látszik -, ez nem túl szép.
Már bele is fordítottam a csomagba, hátha valamit elnéztem alapon.
Maga az objektum csodásan elfut bárhol máshol. Itt valamiért szenved.A következő lépés az lesz, hogy áttúrom az adatbázisát, mert vélhetően a másik megjelenítő beregisztrálja magát.
Nem irigylem a nappalisokat az tényleg más világ lehet..
-
amargo
addikt
Ezért írtam, hogy egyetértek vele, ellenben a másik oldallal is beszélgettem.
Folyamatosan kutatnak, fejlődnek, de nincs idejük összerakni egy új tematikát - nyilván meg kellene oldani. Ettől függetlenül én sem szerettem, hogy ennyire le vannak maradva. GT/ELTE anno rám bízta, hogy mibe írom meg, nem kellett már sqlcommand-ot használnom
Igaz az estisekkel élnézőbbek, mert mi általában ebben dolgozunk. A nappalisoknál mindig úgy hallom vasfegyelem vanFelteszek kérdés itt is, hátha tudtok rá megoldást:
Még nem széleskörű a silverlight-os ismeretem, ezért fordulok felétek. A kérdésem a következő lenne, egy OutOfBrowser SL alkalmazást, miként vehető ré, hogy offline elinduljon?Azaz használom az sllanucher.exe-t /emulate:"test.xap" /origin:"http://localhost/" ez egy teszt alkalmazásnál be is jön. Elindul szépen. De probléma ezekkel van: http://office.microsoft.com/hu-hu/word-help/a-menuparancsok-es-az-eszkoztarparancsok-helye-az-office-2010-rendszerben-HA101794130.aspx?CTT=5&origin=HA101631583
Ezeket a demokat szeretnénk több gépre offline telepíteni és használni. Ehhez keresek megoldást.
Példaként szemléltetve a word a ZA101796062.xap-ban található, de használ valamilyen erőforrást is AF101796071, de nem igazán tudom miként tudnám rávenni, hogy ezt használja az Isolated Storage-ből. Ha az origin-be a xap elérését adom - http://office.microsoft.com/hu-hu/files/761/694/ZA101796062.xap - , akkor le is szedi a megfelelő AF* erőforrást(?) hozzá - hiába van ott.
A baj az, hogy localhost futtatása esetén van uri-m és akkor a fájl is meg van. Ellenben, ha path adok meg, akkor az alkalmazás betöltődésekor, azt mondja nem uri.
<ArrayOfKeyValueOfstringanyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><KeyValueOfstringanyType><Key>ResourceURI</Key><Value xmlns:d3p1="http://www.w3.org/2001/XMLSchema" i:type="d3p1:string">afile.aspx?AssetId=AF101796071</Value></KeyValueOfstringanyType></ArrayOfKeyValueOfstringanyType>
Gondolom ezt az xml-t az app készíti, így a ResourceURI key-t nincs módomban változtatni.. vagy tévedek?
Tudnátok valami ötlettel szolgálni?
Köszönet érte!
-
Lortech
addikt
Azért ne használjon var-t (még), mert ennek a megfelelő, körültekintő használata, egyáltalán a megértése komolyabb tudást feltételez, mint ami a példából láthatólag megvan. Ha a végrehajtás sorrendje - szekvencia, vagy egy alap beolvasás, kiíratás, egyszerű típushasználat problémát okoz, "proc.", fgv. használatát keveri, akkor még ráér type inference-t használni.
Ezen a szinten konkrétan a példában azért sem szerencsés, mert kezdő számára nem biztos, hogy egyértelmű, hogy melyik változó vagy kifejezés itt milyen típusú lesz, string és numerikus érték, azok konverziója és egy rajtuk végzett művelet is van benne.
A tanulás megfelelő sorrendje is fontos szerintem, először legyen tisztában azzal, hogy hol, milyen típus várható, majd később ráér a compilerre bízni ezt. -
-
-
most a Pascalos programjaimat probalom atirni, csak meg nem ertem nagyon a valtozokat :/
peldaul ez van Pascalban:
program hello;
var
s:string;
begin
writeln('Mit írjak ki?');
readln(s);
writeln(s);
readln;
end.es ezt alkottam (ehhh... azert ez eros igy ~2,5 ora utan
) C#-ban:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace szervusz
{
class Program
{
static void Main(string[] args)
{
string s = "";
Console.WriteLine("Mit írjak ki?");
Console.ReadLine(s);
Console.WriteLine(s);
Console.ReadLine("");
}
}
}[/M]Most itt string vagy var vagy mi kell? Bar itt a ReadLine-os sorokra panaszkodik :/
Nem kell rogton a megoldas, abbol nem tanul az emberJo iranyba indultam el egyebkent?
Udv. core2
-
ArchElf
addikt
Mondjuk itt pont nem törölsz, hanem kiválasztod a nem törlendőket...
Amúgy én utoljára többszálú hálózati szkennelő cuccot csináltam és egy listában voltak a background thread-ek. Abból kellett szinkronizálva törölgetni a megállt threadeket, hogy újakat lehessen a listába beemelni. Mondjuk az még VS.NET 2K5-ben készült XP alá (.NET 2.0) és nem voltak benne ilyen LINQ-es szépségek.
Utólag látom, hogy hülyén csináltam, mert még csak szinkronizálni sem kellett volna...AE
-
Lortech
addikt
Singleton vagy nem singleton, annak ebben a kontextusban sok szerepe nincsen. Ha ugyanazt a listát - legyen az singleton vagy tetszőleges példánya az osztálynak - kell elérnie és műveleteket végeznie rajta több szálnak, meg kell oldani a szinkronizációt pl. egyszerű lockolással, ahogy írta, de ez is változó, hogy mikor milyen megoldásra van szükség.
-
ArchElf
addikt
Nem egyszerűen kitörlöm az első listából, hanem, mivel a lista elemei nem törölhetők közvetlenül a foreach ciklusban, így az elemeket egyesével végignézem, hogy törlendők-e, ha igen hozzáadom egy másik listához (törlendő elemek listája). Ekkor az első listából nem tudok még törölni (mert invalid lesz az iterátor).
A második ciklusban a törlendő elemek listáján lépkedek végig. Ekkor minden elemre kiadom az elsőlista.Remove(ojjektum) parancsot (ahol az ojjektum a törlendő elemek listájának aktuális eleme). Mivel most a második lista iterátorát használom, így nyugodtan eleht az első listából törölni. A második lista végigjátszása után nyugodtan lehet magát a második listát is törölni (mivel már nincs rá szükség).
Még egy apróság: amennyiben több szálon párhuzamosan is elérjük a listát a futás alatt (szükséges lehet bizonyos esetekben), úgy azt az egész cécó alatt lockolni kell.Remélem érthető volt.
Még egy. Ha a listaelemeket nem lehet rendesen egymáshoz hasonlítani akkor lehet index alapján is törölni, ez viszont macerásabb.
Ebben az esetben egy fordított for ciklussal célszerű megcsinálni, mert így az indexek nem keverednek össze:
for(ix = lista.Length-1; ix >= 0; ix--)
{
if(törlendő(lista[ix]))
lista.RemoveAt(ix);
}De láttam ilyet is a neten:
foreach(object o in new List<object>(lista))
{
if (törlendő(o))
lista.Remove(o);
}AE
-
bpx
őstag
azt a listát nem lehet ciklus közepén módosítani, amin épp iterálsz, mert egy exception a jutalom
egyébként én is ezt a változatot használom (ArchElf) a program többi részén (pl. a sakk logika ellenőrzésnél), csak a kérdéses helyen félbehagytam a dolgot, és ott úgy maradt -
Gregorius
őstag
Azonban a struct legnagyobb "hátránya", vagyis az érték szerinti hivatkozás mellett max. 16 KB lehet az összes taggal együtt
Az egyetlen limit, amibe bele lehet ütközni, az a stack overflow valahol 1M környékén (64-bites app esetén kicsit kevesebb, mint 32-bites esetén). De ekkora struct létrehozásához már komolyan trükközni kell egymásba ágyazásokkal, ugyanis a fordító belső limitje miatt egyetlen structnak sem lehet 64k darabnál több fieldje. De ez a limit ugyanúgy vonatkozik classokra is.Megjegyzem az ajánlott struct méret a pár tíz bájt alatt van. Ennél nagyobb structnál már valószínűleg hatékonyabb classt használni. Egy szint fölött túl nagy overhead az egész struct tartalom másolgatása az átadásokkor.
nincs automatikus GC sem
Milyen GC-nek kellene lennie? A struct pont azért tud hatékonyabb lenni adott helyen a classoknál, mert önmagában semmilyen GC-ben nem vesz részt. Ha a stacken foglal helyet, akkor pontosan akkor szabadul fel a memóriaterülete, amikor kiesik a scope-ból. Ellentétben egy class változó által mutatott objektumot adott esetben csak később gyűjt be a GC. Ha boxolva vagy más objektum részeként van a struct a heapen, akkor persze ugyanúgy GC-ződik, mint egy sima class, utóbbi esetben pontosan akkor szabadul fel a területe, mint a tartalmazó objektumé.Ezek szerint nem érdemes C#-ban struct-ot használni?
Kisméretű adatcsomagok tologatására érdemes, ahol szemantikailag is indokolt a használata. Illetve mint az elhangzott P/Invoke esetén gyakran ezt követeli meg a hívás.Van még pár teljesítményprobléma, ami ellenjavallja a structok használatát, de ezek nem a struct jellegéből adódnak, hanem a JIT fordító retardáltságából és idővel valószínűleg megoldódnak.
Továbbá van egy érdekes használati mintája a structnak: hatékony wrappert lehet vele írni, amikor az öröklődés nem megoldható. Ilyenkor ugyanis a struct csak egyetlen objektumreferenciát tartalmaz és ez másolódik mindenhova. Ez gyakorlatilag azt jelenti, hogy a struct többé-kevésbé class szemantikával működik, annak megfelelő a memóriafoglalása is, csak egy rakás másik metódust rá lehet aggatni.
-
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.
-
ArchElf
addikt
Bocs
Write-only üzemmódban voltam - mint általában; ráadásul rendesen túl is bonyolítottam...
A példa minősítésével egyetértek... Nálunk a főiskolán a tanár legnagyobb (saját) programozási eredménye az volt, hogy gombnyomásra át tudta színezni egy textbox hátterét. Látnod kellett volna az arcát, hogy öntötte el a büszkeség komoly műve láttán.
Nem is - egyszer könyvből kimásolt egy drag-and-drop példát (kijelölt elemek áthúzása egyik listboxból a másikba) - igaz megértenie nem sikerült hogy működik, mert egész órán hegesztette, de többet nem tudott kihozni belőle.A másik, amin mosolyogni szoktam, ha eszembe jut(tatják): könyvből leggyorsabban 24 óra alatt lehet megtanulni programozni. Nálunk ez az egyetemen sikerült 20 óra alatt. 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...
Asszem egy emberről tudok a mi évfolyamunkban, akinek ez saját munkája volt.
AE
-
ArchElf
addikt
Ennyi erővel a substring sem volt benne a kiírásban
Mondjuk jó kis feladat lehet substring és Convert nélkül, csak IndexOf-al is
try/catch-et bele sem mertem raknifor lol:
static void Main(string[] args)
{
double átlag = 0;
int szám = 0;
int index = 0;
int újindex = 0;
int számláló = 0;
string számok = "12345";
Console.Write("Kérem adjon meg 3 számot 1-5 között, vesszővel elválasztva: ");
string számsor = Console.ReadLine();
//INDEXOF
while (számláló < 3)
{
újindex = számsor.IndexOf(',', index);
if (újindex < 0 && számláló != 2)
{
Console.Error.WriteLine("Nincs elég szám.");
return;
}
if ((újindex - index != 1) && számláló != 2)
{
Console.Error.WriteLine("Helytelen adatok");
return;
}
szám = számok.IndexOf(számsor[index]) + 1;
if (szám < 1 || szám > 5)
{
Console.Error.WriteLine("Helytelen adatok");
return;
}
átlag += szám;
index = újindex + 1;
számláló++;
}
Console.WriteLine("Az átlag: {0:0.0}", átlag / 3);
}AE
-
j0k3r!
őstag
koszonom.
kod:using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Configuration;
using vp.dsAdatokTableAdapters;
namespace vp
{
public partial class frmUj : Form
{
OleDbConnection con = new OleDbConnection();
public frmUj()
{
InitializeComponent();
con.ConnectionString = ConfigurationManager.ConnectionStrings["vp.Properties.Settings.adatokConnectionString"].ConnectionString;
OleDbDataAdapter adapter = new OleDbDataAdapter();
DataSet ds = new DataSet();
try
{
con.Open();
adapter.SelectCommand = new OleDbCommand("SELECT KategoriaNeve FROM Kategoriak", con);
adapter.Fill(ds);
cbKategoriak.DataSource = ds.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(@"hiba: " + ex.Message);
}
finally
{
con.Close();
}
}
}
}ennek a hatasara a comboboxban lesz 5 db "System.Data.DataRowView".
az 5 az stimmel, csak a nevek nem : ) -
Lakers
tag
Így gondoltam, ahogy az oldalon is van, Ott a project forrásfájlja, és ott van külön egy exe amihez nem kell debugolni stb, csak nyomatja a játékot
-
j0k3r!
őstag
szerintem a wizard csinalhatta, nem emlekszem, hogy belepiszkaltam volna :/
Server Explorer / Connect to Database, aztan
Data source: Microsoft Access Database File (OLE DB)
+kitalloztam neki az mdb filet
User Name: Admin
Password: <nincs>
aztan Test Connection - az nem irt hibat, asszem valahogy igy tortent.
Ú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!
- i5-13600KF, RX 9070, DDR5 32GB, 1 TB M.2, Fractal North TG és sok garancia
- Logitech Combo Touch iPad Pro 11" (1., 2. a 3. gen), szürke - UK billentyűzet ipad tok billentyűzet
- újszerű iPad Pro 11" (3. generációs) (2021) M1 chip Wi-Fi 128GB silver ezüst Apple
- szinte új iPhone 16 Pro Max 256GB desert titanium sivatagi titán független Apple 3 év garancia
- újszerű iPhone 16 Pro 256GB white titanium fehér titán iStyle független Apple 3 év garancia
- ÁRGARANCIA!Épített KomPhone i5 13400F 32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
- Amazon Kindle 10th Generation ébresztős tok
- LG 65C3 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- Keresünk dokkolókat
- Új Apple iPhone 16 Pro 128GB, Kártyafüggetlen, 3 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged