- Rövid előzetesen a S.T.A.L.K.E.R. 2: Heart of Chornobyl
- War Thunder - MMO Combat Game
- Battlefield 2042
- Dark Souls sorozat
- Xbox Series X|S
- Megjelenési dátumot kapott végre a Men of War II (PC)
- Call of Duty: Modern Warfare III (2023)
- Forza sorozat (Horizon/Motorsport)
- Le Mans Ultimate
- Escape from Tarkov
Új hozzászólás Aktív témák
-
ArchElf
addikt
Sok különbség nincs:
- class csak egy abstract class leszármazottja lehet, de több interface-t implementálhat
- interface-nek csak metódusai lehetnek, míg abstract class-nak lehetnek property-jei isAmúgy szvsz nem gáz.
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
Jester01
veterán
válasz ArchElf #2951 üzenetére
interface-nek csak metódusai lehetnek, míg abstract class-nak lehetnek property-jei is
Nem igaz, interface-nek is lehetnek property-jei.
MOD: Általános esetben fontos különbség viszont, hogy az abstract class-ban lehet implementáció, interface-ben pedig nem.
[ Szerkesztve ]
Jester
-
veterán
Sziasztok!
Ezt inkább kiraktam pastebinre a hossza miatt: klikk
Szóval a történet a következő... MSDN-t, és C#-os jegyzeteket böngészve, meg logika alapján megpróbáltam egy kis letöltő cuccot összerakni.
Átnéztem, a Letöltés gombar nem csinál semmit, debug módban sem, teljes halál. Már csak arra tudok gondolni, hogy meg kéne cserélnem a szekvencuális végrehajtás miatt a button clickjét a metódussal/osztállyal. Be kéne tolnom az elejére.
Már tényleg nem tudom mi van. Mondom, Debug sem adott semmit.
Üdv. core2
[ Szerkesztve ]
-
ArchElf
addikt
válasz Neil Watts #2954 üzenetére
Be van csatolva a metódus (btnLetoltes_Click) a Click eseményre?
Debugban belelép - ha nem lép bele, akkor valamit elcsesztél az esemény létrehozásásnál (btw itt nem elég létrehozni a "megfelelő" nevű metódust, mint régen a VB-ben, itt össze kell linkelni az eseményeket és az eljárásokat - többek között ezt is az InitializeComponent() eljárásban teszi meg a program, ha jól kattintgattad össze).AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
veterán
-
ubid
őstag
Sziasztok!
Ismét egy kis segítséget szeretnék kérni = ) Kicsit bonyolultabb elmagyarázni, de remélem megértitek mi a problémám, és tudtok segíteni is !
Előre is köszönöm !Tehát :
Egy asp.net mvc3 webalkalmazás darabját készítem jelenleg. A feladat : Események létrehozása, majd miután létrehoztuk az eseményeket visszadob egy lapra, ahol az események listája látszik. minden eseményhez van egy link, ami tulajdonképpen a details- lapja, viszont ott alatta lehet kommentelni az adott eseményt. ( természetesen mindent adatbázisba mentünk le az eseményeket az események táblába, a kommenteket a komment táblába, viszont kapcsolat nem lehet közöttük, mert az alkalmazás során máshova is kell majd kommentelni )
Ezt , hogy oda varázsolja a komment felületet egy a details view-ba varázsolt RenderAction-el oldottam meg.
így : @{Html.RenderAction("CommentCreate", "Comment");}Mivel a details lapon van a kommentelő felület ( ide listázza ki, és alatta van egy form is, ahol beírható a komment és küldhető ) ezért nyilván ide is postol vissza, ezért ennek a controllerébe ( jelen esetben ez az event controller ) írtam a details-hoz egy HTTP-s actionresult-ot, aminél kezdődik a gond.
Az a problémám, hogy valamiért az event ID-jét egyből belenyomja nekem kérés nélkül a komment ID-jába, amitől nyilván több kommentet nem is vihetek fel, mert ütközés van.
( a kommentnek van egy TARGETID-ja ami nem egyedi, én ebbe szeretném, hogy megjelenjen az adott esemény ID-ja abból a célból, hogy minden esményhez csak a hozzá tartozó kommenteket listázza ki )A kód így néz ki : public ViewResult Details(int id,Comment newComment)
ebben ugye azért írtam be az ID-t mert szeretném , hogy a TARGETID-ba majd ez bekerüljön ( ez így rendben is van szerintem, mert az URL-be már úgyis benne van az esmeényünk ID-ja , ezáltal bele is tudom rakni a TARGETID-ba.
Viszont a sima ID ( aminek csak akkor kéne értéket kapnia amikor mentődik az adatbázisba, mivel ott számolódik ki (PK) )a kód további része így néz ki :
{
newComment.Added = DateTime.Now;
MembershipUser currentUser = Membership.GetUser();
Guid userId = new Guid(currentUser.ProviderUserKey.ToString());
newComment.UserID = userId;
newComment.TargetID = id;
db.Comments.AddObject(newComment);
db.SaveChanges();
return View();
}Mutatok egy képet is, hogy lássátok miről beszélek :
Tehát látható, hogy még a db save-ig el se jutott, de már ott felvette azt az ID-t ami nem is az övé lénne.
A partial-view-nak pedig így néz ki az érdemi része :
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.TargetID)
</td>
<td>
@Html.DisplayFor(modelItem => item.TargetType)
</td>
<td>
@Html.DisplayFor(modelItem => item.Text)
</td>
<td>
@Html.DisplayFor(modelItem => item.UserID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Added)
</td>
<td>
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
</td>
</tr>
}
</table>
@using (Html.BeginForm())
{
<textarea rows="5" cols="30" id="text" name="text"></textarea>
<input type="submit" value="Küldés" />
}Aki tud segítsen , hogy miért lehet ez.
Előre is köszönöm!
-.-
-
martonx
veterán
Rosszul hívod meg a Details függvényt. Bár a sok - sok felesleges programrész, meg képernyő mentés közül csak pont ezt a lényeget nem láttatod.
Így mikor a motor parse-olja a kapott POST-ot, mivel abban benne van az Id-is, így azt a mezőt is kitölti az entitásban.
Ezt könnyen nyomon tudod követni böngészpben F12 Network fül, bármilyen böngészőben (na jó IE8 és ennél régebbieknél nincs Network fül). Nézd meg, hogy a böngésző miket post-ol a szervernek.
Úgyhogy valahol a view-knál, partialview-knál vizsgálódnék, mert ott lesz a hiba.Én kérek elnézést!
-
ubid
őstag
A partial view-nak hogyan lehet megoldani, hogy ne renderelje oda a master page-et ?
Valamiért odarakja mindig, de nem látom a kódrészletet, ami odarakja...
Ezzel hívom a partial view-t
@{Html.RenderAction("Details", "Tourism");}
A partial view-t meg úgy készítettem ahogy kell bepipáltam, hogy te egy partial view vagy és kész.
-.-
-
Lacces
őstag
Évekkel ezelőtt a RenderAction függvénnyel volt nekem is valami baj
Ezt nézd át, hogy hogyan történik egy partial view, igaz angol, de kód szinten látod, egyszerű
Illetve mivel látok itt ID átvitelt is az előző hszeknél, akkor talán még ez is segíthet:
RenderAction id-val -
ubid
őstag
Egyébként Render Partial-lal elszáll ezzel a hibaüzenettel : ( első változatát tudom csak használni, mert IEnumerable-ben vagyok és nem elérhető így a Model-em )
The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[BorsodBiz.Models.Tourism]', but this dictionary requires a model item of type 'BorsodBiz.Models.Tourism'.
-.-
-
martonx
veterán
A hibaüzenet alapján, te egy listát adtál át modellként, de egy darab entitást kellene átadnod.
Egy fórumban nem lehet megfelelően komplex problémákra rendes választ adni.
Ameddig az a feladat, hogy pistike ki akarja választani 1-10-ig a páros számokat, addig oké a segítség. Amikor már ennél komplettebb, akkor elég nehéz a segítség. És nem azért mert nincs meg a tudásunk.Én kérek elnézést!
-
WonderCSabo
félisten
Hello!
Hogyan tudnám okosan ellenőrizni, hogy a stringem tartalmaz-e általam nem érvényesnek tartott karaktereket (az érvényesek ismeretében). Az okos alatt úgy értem, hogy nem for -al és if - el, hanem mondjuk LINQ-val. Köszi!
-
drkbl
őstag
válasz WonderCSabo #2966 üzenetére
Nem LINQ, de szerintem okos: [link]
Az általam kiemelt részlet:
if (e.Label.IndexOfAny(new char[]{'@', '.', ',', '!'}) == -1)
{
// Stop editing without canceling the label change.
e.Node.EndEdit(false);
}
else
{
/* Cancel the label edit action, inform the user, and
place the node in edit mode again. */
e.CancelEdit = true;
MessageBox.Show("Invalid tree node label.\n" +
"The invalid characters are: '@','.', ',', '!'",
"Node Label Edit");
e.Node.BeginEdit();
} -
martonx
veterán
válasz WonderCSabo #2966 üzenetére
nem érvényesnek tartott karaktereket (az érvényesek ismeretében) - ezt kicsit részleteznéd?
Ha van benne A, akkor de csakis akkor ne legyen benne B? Tehát pl. BCDVFG érvényes, de ABCDVF nem érvényes?Én kérek elnézést!
-
WonderCSabo
félisten
válasz martonx #2969 üzenetére
ööö, ez egy baromi egyszerű probléma, ennyire bonyolultan írtam le ?
A stringben csak a kövi 3 karakter lehet: n, f, e . Ha bmi egyéb más akár csak egyszer is előfordul benne, akkor már nem valid.
Egyébként közben rájöttem, hogy regexel baromi egyszerűen megoldható. Esetleg van még egyszerűbb megoldás?
-
martonx
veterán
válasz WonderCSabo #2970 üzenetére
A regex valóban tökéletes erre. LINQ is ugyanilyen jó, viszont szólok, hogy a LINQ ebben az esetben csak elfedné a for ciklust, azaz a háttérben egy for -os keresést csinál, csak a kódot olvasva szebb, és tömörebb.
Én a regex-re szavazok.Én kérek elnézést!
-
drkbl
őstag
válasz WonderCSabo #2970 üzenetére
Szerintem nincs, szvsz. a LINQ itt igen nagy overkill.
LINQ: ha esetleg nem ismered: [link]A
(from char s in "bad input"
where !(from char c in "okchars" select c).Contains(s)
select s).Count()kifejezés a nem megfelelő karakterek számát adja vissza (9 karakterből csak az "a" szerepel a megfelelő karakterek között, az eredmény 8).
[ Szerkesztve ]
-
Jester01
veterán
válasz WonderCSabo #2970 üzenetére
if (text.TrimStart(new char[] { 'n', 'f', 'e' }).Length > 0) ...
Jester
-
ubid
őstag
MVC3-ban lehet olyat, hogy egy return View()-ban több dolgot adok vissza ?
Tehát mondjuk egy adatbázisból szedett listát, meg egy azure blob storage-ből szedett képeket ?
Vagy akkor mindenféle képpen partial view-t kell használni ?:S
[ Szerkesztve ]
-.-
-
Lacces
őstag
Sziasztok!
Ez lehet lüke kérdés lesz, de muszáj feltennem.
ASP.NET-ben az adatbázishoz kapcsolódáshoz / műveletek végrehajtása használhatom-e az ADO.NET-et? Vagy inkább a LINQ vagy EntityFramework a nyerő?
Most megkellett álnom az ADO.NET tanulásban, másra kell fordítanom az időt. De nagyon tetszett nekem. Bár azon belül is 1 fejezet volt az Object Data Source témakör, de megfogott (igaz desktop alkalmazás)
Lesz egy weboldal ahol statisztikához, grafikonhoz kérek le adatb-ből állandóan adatokat. Ez elég interaktív lenne.
A másiknál meg egy félig közösségi oldal jellegű. De ha befutna, akkor napi 1000 felhasználó kiszolgálásától ne rémüljön meg.ubid Ez jó kérdés, tetszik +1 neki!
-
martonx
veterán
oké, csak sokan azt hiszik, hogy a LINQ az valami csoda. Félreértés ne essék, szeretem a LINQ-et, csak azt akartam jelezni, hogy pl. futásidőben nem nyerünk semmit, ha LINQ-et használunk.
Máshol pl. kódolás hatékonysága, kód olvashatósága stb... persze sok előnye van a LINQ-nek.
Mégis erre a feladatra a regexp szvsz hatékonyabb, mint a LINQ.Én kérek elnézést!
-
martonx
veterán
Bármelyiket használhatod.
Egyszerűsége, illetve MVC-ben használhatósága miatt én a LINQtoEntites-t favorizálom.
Persze ha fontos a teljesítmény, akkor mindenre tárolt eljárást írok, és az EF-et, csak ezek meghívogatására, illetve a válaszok objektumosítására használom.
Napi 1000 felhasználó semmit nem jelent. A nagy kérdés mindig az, hogy ebből mennyi az egyidejű, konkurens felhasználó.Én kérek elnézést!
-
Lacces
őstag
válasz martonx #2981 üzenetére
Aham, amúgy a tárolt eljárás megírását az SQL-ben végzed el és ASP.NET-ben meghívod, vagy ASP.NET-ben írod meg és ott is kerül meghívásra (természetesen EF segítséggel).
Én láttam minden fajtát, és nekem nem tetszett, hogy a programkódban egy String-ben megírják a tárolteljárást. Jobb szeretem csak meghívni
Devportálon is martonx néven vagy jelen?
-
ubid
őstag
Még egy kérdésem lenne nekem is : ) mert valahogy nem találok rá választ...
Azure blob storage-be töltök fel képet. idáig rendben is van.
List<string> blobs = new List<string>();
foreach (var blobItem in blobContanier.ListBlobs())
{
blobs.Add(blobItem.Uri.ToString());
}így. De ez visszaadja az összes elemet...
Én pedig neve szerint szeretnék egyet visszakapni.
Ezt hogy lehetne megvalósítani ?
köszi a segítséget
-.-
-
ubid
őstag
Megválaszolom magamnak : ) Aztán aki tudja, az helyeseljen, aki nem tudta az meg mostmár tudja : )
Bár jónak látszik, de lehet van szebb is : )
szóval egy foreach ciklusban végigmenve :
CloudBlockBlob block = new CloudBlockBlob(blobItem.Uri.ToString());
int filename = int.Parse(block.Name);
és ebbe benne van a filename : )
Helyes ez így ?
-.-
-
veterán
Sziasztok!
Van egy kis gondom.
Ez egy olyan program lenne, hogy van nekem egy textfájlom benne nevek és pontok egymás alatt. Na ezt kéne két tömbbe szétválogatni. Próbáltam már sok mindent. Ennél pl az első for nem kap értéket, ne töltődik a tömb.
ha
for (int i = 0; i < elemszam; i+=2)
{
Nevek[i] = Ossztomb[i];
{
for (int j = 1; j < elemszam; j += 2)
{
Pontok[j] = Ossztomb[j];
}
}
}formában írom, akkor meg meghülyül, végtele ciklus szerűséget kapok. Pedig fontos lenne, hogy az indexek megegyezzenek.
Biztos nagyon pici dolog amit nem veszek észre.
Köszi a segítséget! Megyek vissza debuggolni.Üdv. core2
[ Szerkesztve ]
-
bpx
őstag
válasz Neil Watts #2986 üzenetére
pedig ez ránézésre működik, csak eléggé távol van az optimálistól
no meg az értelmét sem látom, mert egy ilyen bemenetből:A
.
B
..ilyen lesz a két tömb:
nevek: "A", null, "B", null
pontok: null, ".", null, ".."egyébként meg mi az hogy a for nem kap értéket? a ciklusváltozó kap értéket (i=0)
végtelen ciklus sincs, csak egymásba ágyazott, aminek semmi értelme nincs, és csak a feladat egyszerűsége miatt működik -
martonx
veterán
válasz Neil Watts #2988 üzenetére
miért két tömbben tárolod az egybe tartozó adatokat?
Másrészt a 20X-ozódás azért van, mert a a nevek tömb index-ét nem növeled. Az ott nem Nevek[j] akarna lenni Nevek helyett?
Ne mondd, hogy ezt a debugolás nem mutatta meg kapásból?Én kérek elnézést!
-
veterán
válasz martonx #2989 üzenetére
Csak
Bővebben: Egy 300 bejegyzést tartalmazó textfilet nem fogok most kezdeni átszerkesztgetni a ha nem gond.
Arra viszont még mindíg nem sikerült rájönnöm hogy miért nem megy, hisz végig kéne mennie mindkét cikluson, maj a másodikban ki kéne írnia a két tömb tartalmát egymás mellé, nem de? Mármint valójában ezt kéne tennie, de mégsem teszi. Már nincs ötletem, hogy mit szúrhattam el De valamit nagyon!
MOD: Amúgy azért, mert egymás mellé kell kerüliük az értékeknek index szerint.
Üdv. core2
[ Szerkesztve ]
-
veterán
-
bpx
őstag
válasz Neil Watts #2991 üzenetére
-
veterán
-
kingabo
őstag
válasz Neil Watts #2986 üzenetére
Te, le tudnád írni saját szavaiddal, hogy mit csinál a beidézett kódod? Minek ehhez 2 ciklus? A 4. sorban minek a '{' ?
Ha jól értem neked ennyi kéne:
for (int i = 0; i < elemszam; i+=2)
{
Nevek[i] = Ossztomb[i];
Pontok[i] = Ossztomb[i + 1];
}Ill érdekelne hogy hogyan debuggolsz. Ha lépésenként futtatod a progid észre kellene venned, hogy valami nagyon nem kerek...
ui: nem sértésből írtam amit, csak sokadjára jönnek elő olyanok, amik minimális debuggal meg lehet találni.
[ Szerkesztve ]
-
bpx
őstag
válasz Neil Watts #2994 üzenetére
semmi, +2 sor
for (int i = 0; i < elemszam; i+=2)
{
Nevek[i] = Ossztomb[i];
Pontok[i+1] = Ossztomb[i+1];
listBoxFeltolt.Items.Add(Ossztomb[i] + " , " + Ossztomb[i+1]);
}(csak hogy az eredeti elképzeléssel legyen egyenértékű)
[ Szerkesztve ]
-
veterán
válasz kingabo #2995 üzenetére
Oké.
Beolvasom a fájl tartalmát az Ossztombbe.
Majd 0-tól indulva elmegyek kettesével elemszámig.
Ezt beleíratom a Nevek vektorba.Aztán egy másik for-ral - ami 1-től indul - elmegyek ugyancsak elemszámig, kettesével, ezzel rakom bele a pontokat a Pontok vektorba.
Végül még ebben a for ciklusban kiíratom a Nevek-t és a Pontok[j]-t
Tehát értelmezésem szerint, a következő outputnak kéne lenni a két ciklus lefutása után kiíráskor
[0. Név] [0. Pont]
[1. Név] [1. Pont].
.
.
s így végig.Amúgy simán feltölti a vektorokat úgy ahogy -Zeratul- írta, csak épp nem írja ki őket.
Üdv. core2
-
kingabo
őstag
válasz Neil Watts #2997 üzenetére
Nem teljesen
"Majd 0-tól indulva elmegyek kettesével elemszámig.
Ezt beleíratom a Nevek vektorba.Aztán egy másik for-ral - ami 1-től indul - elmegyek ugyancsak elemszámig, kettesével, ezzel rakom bele a pontokat a Pontok vektorba."
Ugyanis a második cilkus benne van az elsőben. Emiatt írodik ki a nevek rengetegszer a összes lehetséges pont-tal.szerk: most nézem a PasteBin-es kódod. Sokkal szebb lenne, ha az Ossztomb-öt a méret ismeretében (ezt nem tudom hol kapértéket) a beolvasás előtt, a Nevek és a Pontok tömböt a beolvasás után foglalnád le. Így nem pazaréloknál el rengeteg memóriát feleslegesen.
[ Szerkesztve ]
-
veterán
válasz kingabo #2999 üzenetére
Ez is oké már erre is rájöttem, de akkor a kérdésem annyi, hogy: Ha nincs egymásban a két for akkor hogy íratod ki egymás mellé a listboxba a két változót?
Mert így max az érhető el hogy jönnek a neve, majd utána a pontszámok, nem pedig az, hogy:
[0. Név] [0. Pont]
[1. Név] [1. Pont]Az egymásba ágyazott for ciklus tűnt jó megoldásnak, de mégse' megy.
A szerkesztett részre: Oké, köszönöm a tanácsot, így fogok tenni.
Üdv. core2
[ Szerkesztve ]
Ú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!
- -56% HP EliteBook 840 G8:i7 1165G7,16GB RAM,512GB NMVe SSD,Iris Xe,IR kam.+ujj.olv.,vil.MAGYAR bill.
- Monitortató plexi konzol több elérhető készletről MONITORCENTER
- -50% HP EliteBook 840 G8: i7 1165G7,32GB RAM,1TB NMVe SSD,Iris Xe,IR kam.+ujj.olv.,vil.MAGYAR bill.
- 1.250.000 FT helyett 940.000 FT !! MacBook Pro 16" M3 Pro 12CPU / 18GPU / 18GB / 512 SSD
- RTX 2080TI ROG STRIX GAMER PC