Hirdetés
- Kezdő fotósok digitális fényképei
- Apple asztali gépek
- Milyen billentyűzetet vegyek?
- AMD Navi Radeon™ RX 9xxx sorozat
- Fokozatosan erősít majd a szerverpiacon az Intel
- Projektor topic
- Kiterjesztett valóság ASUS ROG és XREAL recept szerint
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- Apple MacBook
- Azonnali informatikai kérdések órája
-
3000 - 2901
10246 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Neil Watts
veterán
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.
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
-
kingabo
őstag
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
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.
-
kingabo
őstag
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.
Hmm, nem i-vel kellene indexelni, hanem egy segédváltozóval...
int tombIndex =0;
for (int i = 0; i < elemszam; i+=2)
{
Nevek[tombIndex ] = Ossztomb[i];
Pontok[tombIndex ] = Ossztomb[i + 1];
++tombIndex;
} -
Neil Watts
veterán
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.
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
-
bpx
őstag
jó, hát persze, ez így működik, de mi van akkor ha nekem két tömbbe kéne szétválogatnom?

Üdv. core2
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ű)
-
kingabo
őstag
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
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.
-
Neil Watts
veterán
-
bpx
őstag
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
-
Neil Watts
veterán
Az ott nem Nevek[j] akarna lenni Nevek helyett?
Ne mondd, hogy ezt a debugolás nem mutatta meg kapásból?Nevek[j]? Mert? Az első forral feltöltöm a Neveket, az Nevek majd a másikkal a pontokat, az Pontok[j].
-
Neil Watts
veterán
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
-
martonx
veterán
Rosszul fogalamaztam

Szóval ez (Ebben már benne van a ListBoxos kiírás is, marhára nem működik, csak azt nem értem, hogy miért)
A tömböket látszólag normálisan feltölti, csak mért ír ki egy nevet 20x, ez nekem a rejtély.
Köszi!
Üdv. core2
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? -
martonx
veterán
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ödikjaj, emberünk a forma1 pontszámokra gondol, nem pedig .-okra.

De miért van ilyen hülyén tárolva egymás alatt a név és a hozzá tartozó pontszám? -
Neil Watts
veterán
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ödikRosszul fogalamaztam

Szóval ez (Ebben már benne van a ListBoxos kiírás is, marhára nem működik, csak azt nem értem, hogy miért)
A tömböket látszólag normálisan feltölti, csak mért ír ki egy nevet 20x, ez nekem a rejtély.
Köszi!
Üdv. core2
-
bpx
őstag
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
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 -
Neil Watts
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
-
ubid
senior tag
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
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 ?
-
ubid
senior tag
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
-
martonx
veterán
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?

Én igyekszek minél több mindent SQL szinten megcsinálni, kód szinten csak a szükséges minimumot. Tárolt eljárást kódban nem tudsz írni, csak meghívni, valamit félreértesz.
Igen devportal-on is vagyok.
-
Lacces
őstag
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ó.
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?

-
martonx
veterán
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!
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ó.
-
martonx
veterán
erre valóak a viewmodel-ek.
Csinálsz egy osztályt, amibe mindkettőt beletöltöd.
És ezt az osztályt adod oda a View-dnak. -
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. -
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!
-
ubid
senior tag
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
-
WonderCSabo
félisten
-
Jester01
veterán
ööö, 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?

if (text.TrimStart(new char[] { 'n', 'f', 'e' }).Length > 0) ...
-
drkbl
őstag
Elég alacsony szinten nézve a nyelvi cukormázat minden legyen egyenlő, if és goto

-
drkbl
őstag
ööö, 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?

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).
-
WonderCSabo
félisten
Köszi, viszont azért tanulásképpen, leírnád hogyan lehetne ezt LINQval?
-
martonx
veterán
ööö, 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?

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. -
WonderCSabo
félisten
ööö, 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
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!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? -
WonderCSabo
félisten
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();
}Sztem ez akkor nem jó, ha van benne engedélyezett, és nem engedélyezett karakter is, mert akkor is igazat ad vissza. Ez akkor lenne jó, ha a nem engedélyezett karaktereket sorolnám fel.
-
drkbl
őstag
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!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();
} -
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! -
martonx
veterán
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'.
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. -
ubid
senior tag
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'.
-
ubid
senior tag
De a RenderPartial-nak mindenféle képpen kell adnom egy Model. valamit.
és mivel én egy IEnumerable lista alatt akarom megjeleníteni a partial view-mat ezért nem elérhető a Model egyes elemei.
jól gondolom ?
-
martonx
veterán
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.Partial view-t többféleképpen lehet renderelni.
Próbáld ki a html.RenderPartial-t, vagy a htm.Partial-t a RenderAction helyett. -
Lacces
ő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.É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
senior tag
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. -
ubid
senior tag
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.Igen sejtem, hogy arra felé van a hiba... de nem találom sehogy

De az ID-nak mindenféleképpen benne kell lennie, hiszen a comment-nél bele kell pakolni a targetID-ba, hogy tudjam, hogy ő ehhez az eseményhez tartozik.
-
martonx
veterán
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!
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. -
ubid
senior tag
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!
-
Neil Watts
veterán
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
Á. értem, köszi!

-
ArchElf
addikt
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
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
-
Neil Watts
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
-
ArchElf
addikt
Nofene, ráadásul a lényeget kifelejtettem

AE
-
Jester01
veterán
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.
-
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
-
Lacces
őstag
Sziasztok!
Abstract Factory tervezési minta esetén az Abstract Factory(Gyár) és az Abstract Product(termék) helyet Interface-t használok, az nagy bűnnek számít?
-
ArchElf
addikt
Sziasztok!
WPF-be hogy lehet azt megoldani, hogy _egy_ függvényt írok mondjuk 9 imageBox-nak és mindegyikre ha rákattintok, akkor ugyanazt a képet hozza elő (mindegyikbe külön-külön)? Gomboknál ugye meg lehet a ((Button)sender)-el csinálni, de itt nem. Nincs valami általános megoldás erre (ami nem csak imageBox-al működik, hanem bármilyen control-al)? Mert ha megírom az elsőt és azt alkalmazom mindegyikre, akkor mivel az első nevével jött létre, mindegyik arra fogja alkalmazni. Naponta belefutok ebbe és kurva idegesítő.
1) Ne felületen add hozzá az eseménykezelőt, hanem kódból (illetve felületen is hozzá tudod adni a properties ablakban az Event fülön a megflelő sorban ki tudod választani a megfelelő karakterisztikával rendelkező metódusok közül - vagy kézzel beírva új FV nevet a VS létrehozza a megfelelő nevű fv-t).
2) Ne konkét típusra (Button, PictureBox) cast-old a sendert, hanem valami közös ősre: Control. Valószínűleg ennek megvan az a tulajdonsága, amit változtatni szeretnél (Text, Background, Image), illetve az is amit lekérdezel (Name, Tag)...
private void Form1_Load(object sender, EventArgs e)
{
button1.Click +=new EventHandler(OnClickHandler);
pictureBox1.Click +=new EventHandler(OnClickHandler);
}
public void OnClickHandler(object sender, EventArgs e)
{
Control s = sender as Control;
if (s == null) throw new ApplicationException();
//kód
s.BackgroundImage = s.Tag as Image;
}AE
-
martonx
veterán
Sziasztok!
WPF-be hogy lehet azt megoldani, hogy _egy_ függvényt írok mondjuk 9 imageBox-nak és mindegyikre ha rákattintok, akkor ugyanazt a képet hozza elő (mindegyikbe külön-külön)? Gomboknál ugye meg lehet a ((Button)sender)-el csinálni, de itt nem. Nincs valami általános megoldás erre (ami nem csak imageBox-al működik, hanem bármilyen control-al)? Mert ha megírom az elsőt és azt alkalmazom mindegyikre, akkor mivel az első nevével jött létre, mindegyik arra fogja alkalmazni. Naponta belefutok ebbe és kurva idegesítő.
Előre is elnézést kérek látatlanban írok, de szvsz ahogy a gomboknál, úgy itt is megoldható az esemény általánosítása, majd a sender konkretizálása az eseményben.
-
Jhonny06
veterán
Sziasztok!
WPF-be hogy lehet azt megoldani, hogy _egy_ függvényt írok mondjuk 9 imageBox-nak és mindegyikre ha rákattintok, akkor ugyanazt a képet hozza elő (mindegyikbe külön-külön)? Gomboknál ugye meg lehet a ((Button)sender)-el csinálni, de itt nem. Nincs valami általános megoldás erre (ami nem csak imageBox-al működik, hanem bármilyen control-al)? Mert ha megírom az elsőt és azt alkalmazom mindegyikre, akkor mivel az első nevével jött létre, mindegyik arra fogja alkalmazni. Naponta belefutok ebbe és kurva idegesítő.
-
ubid
senior tag
-
amargo
addikt
-
ubid
senior tag
Ha offline a program életciklusa során soha nem változó adatokról van szó, akkor minek vesződsz azzal, hogy runtime töltögeted le?
Az adatok memóriában tartását érdemes meggondolni, nem szerencsés erre támaszkodni. Én maradnék annál, hogy valamilyen adatbázisba tárold le. Akár fájlba - nyilván ez nem feltétlen jó megközelítés - vagy valamilyen előre feltöltött adatbázis fájlt csatolsz fel, majd onnan szeded ki az adatokat.Szerk:
"SQL-CE adatbázist viseli el a WP7 tudtommal, ezért gondoltam azt, hogy abban egyszerűen letárolom az adatokat, majd a felületen megjelenítem, és ámen."
Akkor miért nem ezt csináltad?
A kérdést nem gúnyolódásól teszem fel, hanem tanítási szándékkal. Annyi, hogy nem runtime kell az adatokat feltölteni, hanem már egy olyan sdf-et - akár - adsz hozzá, ami feltöltött. Olvashatsz itt is róla.Erre ma jöttem így rá, hogy SQL CE fájlt is odatehetek mellé

A rutintalanság miatt : D
De igyekszek = )
Tényleg köszönöm a felvilágosításod, és a segítséged !
-
ubid
senior tag
Ha offline a program életciklusa során soha nem változó adatokról van szó, akkor minek vesződsz azzal, hogy runtime töltögeted le?
Az adatok memóriában tartását érdemes meggondolni, nem szerencsés erre támaszkodni. Én maradnék annál, hogy valamilyen adatbázisba tárold le. Akár fájlba - nyilván ez nem feltétlen jó megközelítés - vagy valamilyen előre feltöltött adatbázis fájlt csatolsz fel, majd onnan szeded ki az adatokat.Szerk:
"SQL-CE adatbázist viseli el a WP7 tudtommal, ezért gondoltam azt, hogy abban egyszerűen letárolom az adatokat, majd a felületen megjelenítem, és ámen."
Akkor miért nem ezt csináltad?
A kérdést nem gúnyolódásól teszem fel, hanem tanítási szándékkal. Annyi, hogy nem runtime kell az adatokat feltölteni, hanem már egy olyan sdf-et - akár - adsz hozzá, ami feltöltött. Olvashatsz itt is róla.Valószínüleg azt választom, hogy előre feltöltök egy adatbázist, majd a fájlt csatolom, és abból kérdezgetek le linq-el.
Ez tűnik a legjobb megoldásnak számomra.Egyébként köszönöm szépen a kitartó segítséged !
-
amargo
addikt
persze, szokott változni, de olyankor belenyúlok a kódba úgyis, dobok fel újabb adatokat, de kódból, és nem a felületről.
Kicsit már belekavarodtam

---
Mármint arra gondolsz, hogy listákba pakolja be egyszerűen az adatokat ? És nem is kell mögé adatbázis ?Vagy így grafikus módon berakosgatom az adatokat, és innentől kezdve csak linq-el lekérdezgetem és odarakom ?
Ha offline a program életciklusa során soha nem változó adatokról van szó, akkor minek vesződsz azzal, hogy runtime töltögeted le?
Az adatok memóriában tartását érdemes meggondolni, nem szerencsés erre támaszkodni. Én maradnék annál, hogy valamilyen adatbázisba tárold le. Akár fájlba - nyilván ez nem feltétlen jó megközelítés - vagy valamilyen előre feltöltött adatbázis fájlt csatolsz fel, majd onnan szeded ki az adatokat.Szerk:
"SQL-CE adatbázist viseli el a WP7 tudtommal, ezért gondoltam azt, hogy abban egyszerűen letárolom az adatokat, majd a felületen megjelenítem, és ámen."
Akkor miért nem ezt csináltad?
A kérdést nem gúnyolódásól teszem fel, hanem tanítási szándékkal. Annyi, hogy nem runtime kell az adatokat feltölteni, hanem már egy olyan sdf-et - akár - adsz hozzá, ami feltöltött. Olvashatsz itt is róla. -
ubid
senior tag
"teszem azt megnézem mondjuk a 29-es számú busz menetrendjét. okés. Ezután megnézem az 1-es villamos menetrendjét, majd közvetlen ezután a 29-es buszét mégegyszer."
Ha már egyszer lent van az adat, akkor miért próbálod megint letölteni?
A gondolkodás után jó helyen keresgélsz és a hiba okát is leírtad, de nem látom értelmét, hogy minek runtime akarod letölteni az adatokat, ha utána soha nem törődsz a karbantartásával, akkor egyszerűen csak pakold bele az alkalmazásba és publikáld ki úgy.
De a menettrend azért változni szokott..
Szerk:
Elsőnek gondold végig tüzetesen, hogy mit szeretnél. Az implementálás könnyebb feladat, nyilván kell hozzá a rutin, de egy alapjaiban véve rossz tervezést nehéz foltozgatni/lekódolni.
Kérdezd meg azt is, hogy minek akarsz offline adattároláshoz leszipkázni adatokat, ha már eleve ott is tárolhatnád. Ha viszont az a célod, hogy egyszer képes legyen karbantartani magát, akkor ezt komolyabban kell végig gondolni. Továbbá mintákat is érdemes alkalmazni. Mit ahogy főzni sem úgy szoktunk, hogy mindent egybe öntünk aztán lesz, ami lesz
Mert az sokszor az eszi meg, aki főzte..Igen, tervezésnél vagyok : ) Csak alapokat próbáltam lekódolni.

De van abban valami amit mondasz

Rutinról még azért nem beszélhetünk. írtam pár dolgot már, de ez nem rutin
Azért próbálok gyakorolgatni.Az offline-t úgy értettem, hogy internet egyáltalán nem kell hozzá.
SQL-CE adatbázist viseli el a WP7 tudtommal, ezért gondoltam azt, hogy abban egyszerűen letárolom az adatokat, majd a felületen megjelenítem, és ámen.
-
ubid
senior tag
"teszem azt megnézem mondjuk a 29-es számú busz menetrendjét. okés. Ezután megnézem az 1-es villamos menetrendjét, majd közvetlen ezután a 29-es buszét mégegyszer."
Ha már egyszer lent van az adat, akkor miért próbálod megint letölteni?
A gondolkodás után jó helyen keresgélsz és a hiba okát is leírtad, de nem látom értelmét, hogy minek runtime akarod letölteni az adatokat, ha utána soha nem törődsz a karbantartásával, akkor egyszerűen csak pakold bele az alkalmazásba és publikáld ki úgy.
De a menettrend azért változni szokott..
Szerk:
Elsőnek gondold végig tüzetesen, hogy mit szeretnél. Az implementálás könnyebb feladat, nyilván kell hozzá a rutin, de egy alapjaiban véve rossz tervezést nehéz foltozgatni/lekódolni.
Kérdezd meg azt is, hogy minek akarsz offline adattároláshoz leszipkázni adatokat, ha már eleve ott is tárolhatnád. Ha viszont az a célod, hogy egyszer képes legyen karbantartani magát, akkor ezt komolyabban kell végig gondolni. Továbbá mintákat is érdemes alkalmazni. Mit ahogy főzni sem úgy szoktunk, hogy mindent egybe öntünk aztán lesz, ami lesz
Mert az sokszor az eszi meg, aki főzte..persze, szokott változni, de olyankor belenyúlok a kódba úgyis, dobok fel újabb adatokat, de kódból, és nem a felületről.
Kicsit már belekavarodtam

---
Mármint arra gondolsz, hogy listákba pakolja be egyszerűen az adatokat ? És nem is kell mögé adatbázis ?Vagy így grafikus módon berakosgatom az adatokat, és innentől kezdve csak linq-el lekérdezgetem és odarakom ?
-
amargo
addikt
Az alap koncepció :
Egy sima Menetrend adatbázis : Az adatok soha sem változnak , tehát user esélytelen, hogy változtassa.
hogy a másik kérdésre is válaszoljak .
Azért kattintok mondjuk mégegyszer a gombra :
teszem azt megnézem mondjuk a 29-es számú busz menetrendjét. okés. Ezután megnézem az 1-es villamos menetrendjét, majd közvetlen ezután a 29-es buszét mégegyszer.
Nah hogyha mégegyszer meg akarnám nézni a 29-es buszét megpróbálja feltölteni mégegyszer az adatokat, és PK ütközés.
ennyi az egész.Tehát semmit sem módosíthatok. egyszer felrakom az adatokat, és innentől kezdve csak UI-on megjelenítem, olvasom.
Kis gondolkodás után, meg a hibák tapasztalása

Gondolom rossz helyen van így ez megoldva. nem ott kéne feltölteni az adatokat.
Hanem egyszer feltöltöm és ámen.Mert az a gond, hogy egy függvényt írtam mondjuk : Ez azt csinálja amit már beírtam. tehát contexteet beállítja, csinál egy listát amibe belpakolja az adatokat és feltölti.
na de ha rákkatintok a gombomra akkor ez hívódik meg ! Ami már így akkor rossz is.
"teszem azt megnézem mondjuk a 29-es számú busz menetrendjét. okés. Ezután megnézem az 1-es villamos menetrendjét, majd közvetlen ezután a 29-es buszét mégegyszer."
Ha már egyszer lent van az adat, akkor miért próbálod megint letölteni?
A gondolkodás után jó helyen keresgélsz és a hiba okát is leírtad, de nem látom értelmét, hogy minek runtime akarod letölteni az adatokat, ha utána soha nem törődsz a karbantartásával, akkor egyszerűen csak pakold bele az alkalmazásba és publikáld ki úgy.
De a menettrend azért változni szokott..
Szerk:
Elsőnek gondold végig tüzetesen, hogy mit szeretnél. Az implementálás könnyebb feladat, nyilván kell hozzá a rutin, de egy alapjaiban véve rossz tervezést nehéz foltozgatni/lekódolni.
Kérdezd meg azt is, hogy minek akarsz offline adattároláshoz leszipkázni adatokat, ha már eleve ott is tárolhatnád. Ha viszont az a célod, hogy egyszer képes legyen karbantartani magát, akkor ezt komolyabban kell végig gondolni. Továbbá mintákat is érdemes alkalmazni. Mit ahogy főzni sem úgy szoktunk, hogy mindent egybe öntünk aztán lesz, ami lesz
Mert az sokszor az eszi meg, aki főzte.. -
ubid
senior tag
Én a helyedben magamra szednék egy minimális adatbázis tudást (vagy LINQtoSQL tudást), aztán DB oldalon kezelném az egész problémát. Mivel SQL CE, így ott tárolt eljárás nem játszik, mint lehetőség.

WP7-en SQL CE-nél rendesebb DB kezelőt nem lehet használni? Mondjuk SQLite-ot? Abban lenne tárolt eljárás lehetőség is.Szerintem lehet LITE_ot is.
De nem hiszem, hogy egyetlen lekérdezéshez kellene használnom tárolt eljárást.
Mert se beszúrni, se törölni, se update-elni nem kell.
-
martonx
veterán
Az alap koncepció :
Egy sima Menetrend adatbázis : Az adatok soha sem változnak , tehát user esélytelen, hogy változtassa.
hogy a másik kérdésre is válaszoljak .
Azért kattintok mondjuk mégegyszer a gombra :
teszem azt megnézem mondjuk a 29-es számú busz menetrendjét. okés. Ezután megnézem az 1-es villamos menetrendjét, majd közvetlen ezután a 29-es buszét mégegyszer.
Nah hogyha mégegyszer meg akarnám nézni a 29-es buszét megpróbálja feltölteni mégegyszer az adatokat, és PK ütközés.
ennyi az egész.Tehát semmit sem módosíthatok. egyszer felrakom az adatokat, és innentől kezdve csak UI-on megjelenítem, olvasom.
Kis gondolkodás után, meg a hibák tapasztalása

Gondolom rossz helyen van így ez megoldva. nem ott kéne feltölteni az adatokat.
Hanem egyszer feltöltöm és ámen.Mert az a gond, hogy egy függvényt írtam mondjuk : Ez azt csinálja amit már beírtam. tehát contexteet beállítja, csinál egy listát amibe belpakolja az adatokat és feltölti.
na de ha rákkatintok a gombomra akkor ez hívódik meg ! Ami már így akkor rossz is.
Én a helyedben magamra szednék egy minimális adatbázis tudást (vagy LINQtoSQL tudást), aztán DB oldalon kezelném az egész problémát. Mivel SQL CE, így ott tárolt eljárás nem játszik, mint lehetőség.

WP7-en SQL CE-nél rendesebb DB kezelőt nem lehet használni? Mondjuk SQLite-ot? Abban lenne tárolt eljárás lehetőség is. -
ubid
senior tag
Mennyire állnak rendelkezésedre változás követő adatok, ha publikus helyről szeded nincs a kezedbe a kiszolgáló szerver, nincs jól beállítva, akkor csak sakkozni lehet. Bár érdekelne hátha van valami más megoldás, mert engem is érdekel.
Itt gyakorlatilag ugyan azt írtad le, mint előtte és ugyan olyan rossz is a megközelítés.
Elmondom nálam, hogy működik egy ilyen többszöri hívás esetén. Elsőnek nyilván feltöltöd az adatbázis itt nincs semmi extra, kb erre való a kódod.
Majd második hívás esetén megnézed, egy timestamp, akármi alapján hogy van-e változás azaz érdemes-e letölteni - és mit -.
Nyilván itt megfontolandó, hogy a UI-nak átadsz-e már cache adatot vagy megvárod, amíg minden a kezedben van. Közben háttérben a változást betöltöd a cache/DB-be.Te esetedbe az lehet a megoldás, hogy nem ismered a változást tartalmát ezért a kódban kell megnézned, erre adtam példád. Nyilván a cache és dynamic data-t össze kell hasonlítanod, de ezt még mindig nem teszed meg, csak letöltöd és folyton beleakarod tölteni a DB-be.
Az alap koncepció :
Egy sima Menetrend adatbázis : Az adatok soha sem változnak , tehát user esélytelen, hogy változtassa.
hogy a másik kérdésre is válaszoljak .
Azért kattintok mondjuk mégegyszer a gombra :
teszem azt megnézem mondjuk a 29-es számú busz menetrendjét. okés. Ezután megnézem az 1-es villamos menetrendjét, majd közvetlen ezután a 29-es buszét mégegyszer.
Nah hogyha mégegyszer meg akarnám nézni a 29-es buszét megpróbálja feltölteni mégegyszer az adatokat, és PK ütközés.
ennyi az egész.Tehát semmit sem módosíthatok. egyszer felrakom az adatokat, és innentől kezdve csak UI-on megjelenítem, olvasom.
Kis gondolkodás után, meg a hibák tapasztalása

Gondolom rossz helyen van így ez megoldva. nem ott kéne feltölteni az adatokat.
Hanem egyszer feltöltöm és ámen.Mert az a gond, hogy egy függvényt írtam mondjuk : Ez azt csinálja amit már beírtam. tehát contexteet beállítja, csinál egy listát amibe belpakolja az adatokat és feltölti.
na de ha rákkatintok a gombomra akkor ez hívódik meg ! Ami már így akkor rossz is.
-
drkbl
őstag
Azt hogy tehetem meg, hogy van egy táblaszerkezet és hogy minden tábla olyan szerkezetű legyen amit csinálok ?
Valamint továbbra se tudtam megoldani hogyha mondjuk rákattintok a 22-es busz gombjára egy listbox-ba letöltöm az adatokat. de ha mégegyszer ugyan arra a gombra kattintok elszáll, mert mégegyszer föl akarja tölteni az adatokat.
Jelenleg így van : ( de csak ez az egy táblám van )
Ebbe az osztályba kell írnom több belső osztályt ? Elvesztem picit

[Table]
public class MenetrendTablak
{
[Column(IsPrimaryKey = true, IsDbGenerated = false, DbType = "INT NOT NULL", CanBeNull = false)]
public int Id { get; set; }
[Column]
public int Jarat { get; set; }
[Column]
public int Hour { get; set; }
[Column]
public int Sec { get; set; }
}Így van a DataContext :
public MenetrendContext()
: base("Data Source=isostore:/MenetrendDB.sdf")
{
}
public Table<MenetrendTablak> Busz12;És így készítem el az adatokat :
public class Busz22Adatok
{
public List<MenetrendTablak> Busz22Lista = new List<MenetrendTablak>();
public void Feltolto()
{
var MenetrendContext = new MenetrendContext();
if (!MenetrendContext.DatabaseExists())
{
MenetrendContext.CreateDatabase();
}
Busz22Lista.Add(new MenetrendTablak() { Id = 72, Jarat = 22, Hour = 7, Sec = 35 });
Busz22Lista.Add(new MenetrendTablak() { Id = 73, Jarat = 22, Hour = 7, Sec = 54 });
Busz22Lista.Add(new MenetrendTablak() { Id = 74, Jarat = 22, Hour = 8, Sec = 10 });
Busz22Lista.Add(new MenetrendTablak() { Id = 75, Jarat = 22, Hour = 8, Sec = 44 });
Busz22Lista.Add(new MenetrendTablak() { Id = 76, Jarat = 22, Hour = 9, Sec = 10 });
foreach (var l in Busz22Lista)
{
MenetrendContext.Busz22.InsertOnSubmit(l);
MenetrendContext.SubmitChanges();
}
}
}Miért kattint mégegyszer a feltöltőgombra? Mert változtak az adatok. Hogy működjön? Automatikusan? Akkor a gombnyomásra elsőnek törölje az adott busz adatait, aztán vigye fel újra. Manuálisan? Ha van az adott busznak rekordja, akkor kérdezze meg, törölni akarja-e a régi adatokat. Brutálisan? Miután kattintott és lefutott a rutin, tiltsa le a gombot

Továbbá lehet kezdeti állapot (ha külön gomb van a törlésre):
Gomb engedélyezve=van adatbázis ÉS nincs benne adott busz rekord -
amargo
addikt
Azt hogy tehetem meg, hogy van egy táblaszerkezet és hogy minden tábla olyan szerkezetű legyen amit csinálok ?
Valamint továbbra se tudtam megoldani hogyha mondjuk rákattintok a 22-es busz gombjára egy listbox-ba letöltöm az adatokat. de ha mégegyszer ugyan arra a gombra kattintok elszáll, mert mégegyszer föl akarja tölteni az adatokat.
Jelenleg így van : ( de csak ez az egy táblám van )
Ebbe az osztályba kell írnom több belső osztályt ? Elvesztem picit

[Table]
public class MenetrendTablak
{
[Column(IsPrimaryKey = true, IsDbGenerated = false, DbType = "INT NOT NULL", CanBeNull = false)]
public int Id { get; set; }
[Column]
public int Jarat { get; set; }
[Column]
public int Hour { get; set; }
[Column]
public int Sec { get; set; }
}Így van a DataContext :
public MenetrendContext()
: base("Data Source=isostore:/MenetrendDB.sdf")
{
}
public Table<MenetrendTablak> Busz12;És így készítem el az adatokat :
public class Busz22Adatok
{
public List<MenetrendTablak> Busz22Lista = new List<MenetrendTablak>();
public void Feltolto()
{
var MenetrendContext = new MenetrendContext();
if (!MenetrendContext.DatabaseExists())
{
MenetrendContext.CreateDatabase();
}
Busz22Lista.Add(new MenetrendTablak() { Id = 72, Jarat = 22, Hour = 7, Sec = 35 });
Busz22Lista.Add(new MenetrendTablak() { Id = 73, Jarat = 22, Hour = 7, Sec = 54 });
Busz22Lista.Add(new MenetrendTablak() { Id = 74, Jarat = 22, Hour = 8, Sec = 10 });
Busz22Lista.Add(new MenetrendTablak() { Id = 75, Jarat = 22, Hour = 8, Sec = 44 });
Busz22Lista.Add(new MenetrendTablak() { Id = 76, Jarat = 22, Hour = 9, Sec = 10 });
foreach (var l in Busz22Lista)
{
MenetrendContext.Busz22.InsertOnSubmit(l);
MenetrendContext.SubmitChanges();
}
}
}Mennyire állnak rendelkezésedre változás követő adatok, ha publikus helyről szeded nincs a kezedbe a kiszolgáló szerver, nincs jól beállítva, akkor csak sakkozni lehet. Bár érdekelne hátha van valami más megoldás, mert engem is érdekel.
Itt gyakorlatilag ugyan azt írtad le, mint előtte és ugyan olyan rossz is a megközelítés.
Elmondom nálam, hogy működik egy ilyen többszöri hívás esetén. Elsőnek nyilván feltöltöd az adatbázis itt nincs semmi extra, kb erre való a kódod.
Majd második hívás esetén megnézed, egy timestamp, akármi alapján hogy van-e változás azaz érdemes-e letölteni - és mit -.
Nyilván itt megfontolandó, hogy a UI-nak átadsz-e már cache adatot vagy megvárod, amíg minden a kezedben van. Közben háttérben a változást betöltöd a cache/DB-be.Te esetedbe az lehet a megoldás, hogy nem ismered a változást tartalmát ezért a kódban kell megnézned, erre adtam példád. Nyilván a cache és dynamic data-t össze kell hasonlítanod, de ezt még mindig nem teszed meg, csak letöltöd és folyton beleakarod tölteni a DB-be.
-
ubid
senior tag
Hasonlítsd össze a két lista elem tartalmát, LINQ Except. Nyilván csak a változást kell elmentened.
Kihagyok alapvető részleteket, inkább csak a problémára adok egy megoldás vázlatot.
private void setInDB()
{
var query = (from q in DB.Buszs select q).ToList();
var insertKeys = Buszs.Select(s => s.Jarat).Except(query.Select(s => s.Jarat)).Select(s => new BuszModel { Jarat = s });
var removeKeys = query.Select(s => s.Jarat).Except(Buszs .Select(s => s.Jarat ));
foreach (var rKey in removeKeys)
{
var jarat = DB.Buszs.Where(w => w.Jarat.Equals(rKey)).FirstOrDefault();
DB.Buszs.DeleteOnSubmit(jarat);
}
foreach (var iKey in insertKeys)
{
DB.Buszs.InsertOnSubmit(iKey);
}
DB.SubmitChanges();
Messenger.Default.Send<GenericMessage<Table<JaratModel>>>(new GenericMessage<Table<JaratModel>>(DB.Buszs));
}Továbbá, nem ártana csak akkor leszedni az adatokat ha változás van.
Azt hogy tehetem meg, hogy van egy táblaszerkezet és hogy minden tábla olyan szerkezetű legyen amit csinálok ?
Valamint továbbra se tudtam megoldani hogyha mondjuk rákattintok a 22-es busz gombjára egy listbox-ba letöltöm az adatokat. de ha mégegyszer ugyan arra a gombra kattintok elszáll, mert mégegyszer föl akarja tölteni az adatokat.
Jelenleg így van : ( de csak ez az egy táblám van )
Ebbe az osztályba kell írnom több belső osztályt ? Elvesztem picit

[Table]
public class MenetrendTablak
{
[Column(IsPrimaryKey = true, IsDbGenerated = false, DbType = "INT NOT NULL", CanBeNull = false)]
public int Id { get; set; }
[Column]
public int Jarat { get; set; }
[Column]
public int Hour { get; set; }
[Column]
public int Sec { get; set; }
}Így van a DataContext :
public MenetrendContext()
: base("Data Source=isostore:/MenetrendDB.sdf")
{
}
public Table<MenetrendTablak> Busz12;És így készítem el az adatokat :
public class Busz22Adatok
{
public List<MenetrendTablak> Busz22Lista = new List<MenetrendTablak>();
public void Feltolto()
{
var MenetrendContext = new MenetrendContext();
if (!MenetrendContext.DatabaseExists())
{
MenetrendContext.CreateDatabase();
}
Busz22Lista.Add(new MenetrendTablak() { Id = 72, Jarat = 22, Hour = 7, Sec = 35 });
Busz22Lista.Add(new MenetrendTablak() { Id = 73, Jarat = 22, Hour = 7, Sec = 54 });
Busz22Lista.Add(new MenetrendTablak() { Id = 74, Jarat = 22, Hour = 8, Sec = 10 });
Busz22Lista.Add(new MenetrendTablak() { Id = 75, Jarat = 22, Hour = 8, Sec = 44 });
Busz22Lista.Add(new MenetrendTablak() { Id = 76, Jarat = 22, Hour = 9, Sec = 10 });
foreach (var l in Busz22Lista)
{
MenetrendContext.Busz22.InsertOnSubmit(l);
MenetrendContext.SubmitChanges();
}
}
} -
ubid
senior tag
Hasonlítsd össze a két lista elem tartalmát, LINQ Except. Nyilván csak a változást kell elmentened.
Kihagyok alapvető részleteket, inkább csak a problémára adok egy megoldás vázlatot.
private void setInDB()
{
var query = (from q in DB.Buszs select q).ToList();
var insertKeys = Buszs.Select(s => s.Jarat).Except(query.Select(s => s.Jarat)).Select(s => new BuszModel { Jarat = s });
var removeKeys = query.Select(s => s.Jarat).Except(Buszs .Select(s => s.Jarat ));
foreach (var rKey in removeKeys)
{
var jarat = DB.Buszs.Where(w => w.Jarat.Equals(rKey)).FirstOrDefault();
DB.Buszs.DeleteOnSubmit(jarat);
}
foreach (var iKey in insertKeys)
{
DB.Buszs.InsertOnSubmit(iKey);
}
DB.SubmitChanges();
Messenger.Default.Send<GenericMessage<Table<JaratModel>>>(new GenericMessage<Table<JaratModel>>(DB.Buszs));
}Továbbá, nem ártana csak akkor leszedni az adatokat ha változás van.
Azt, hogy tudom, hogy csak azokat az adatokat szedje le ?
Köszönöm egyébként ; ) kihozok belőle valamit

-
amargo
addikt
Helló!
Biztos hogy nagyon egyszerű a válasz, de valahogy én nem jövök rá .
Szóval :
Egy WP7-es alkalmazást csinálok, a helyi menetrendek nézegetésére.
SQL CE- adatbázist használok mögötte, hogy offline böngészés is biztosítva legyen.
Az egyes buszok adatait mindig külön osztályba rakom, és ott is töltöm föl, tehát egy 22-es busz körülbelül így néz ki :
class busz22 {
public List<TableStructure> Busz22Lista = new List<TableStructure>();
// lista létrehozása, amibe beletologatom az elemeket.ezen belül van egy metódus, ami feltölti az adatokat : kb így néz ki :
var MenetrendContext = new MenetrendContext();
if (!MenetrendContext.DatabaseExists())
{
MenetrendContext.CreateDatabase();
}majd az adatok létrehozása.
Busz22Lista.Add(new TableStructure() { Id = 72, Jarat = 22, Hour = 7, Sec = 35 });satöbbisatöbbi.
és végül egy foreach-el végigmegyek az elemeket és feltöltögetem így :
foreach (var l in Busz22Lista)
{
MenetrendContext.Busz22.InsertOnSubmit(l);
MenetrendContext.SubmitChanges();
}ez a feltöltő metódus a gombnyomásra hívódik meg.
Tehát ha a felhasználó mondjuk a 22-es menetrend gombját megnyomja, akkor ez így legenerálódik és elkészül.viszont, ha mégegyszer rákattint, akkor szépen elszáll az alkalmazás, merthogy PK már van olyan... nem duplikálható nyilván.
Tehát a porbléma : Hogyan tudom azt leellenőrizni , hogy ez a PK már van e. mert ha van akkor nyilván ne töltsük föl.
Hogyha meg mondjuk átállítom auto incerementre a PK-t akkor gondolom működne, de minden benne lenne előbb vagy utóbb ötszázszor a táblába :S
Nincs erre is valami, mint pl a tábla létrehozásánál a DatabaseExist ?
Köszönöm a segítséget.
Hasonlítsd össze a két lista elem tartalmát, LINQ Except. Nyilván csak a változást kell elmentened.
Kihagyok alapvető részleteket, inkább csak a problémára adok egy megoldás vázlatot.
private void setInDB()
{
var query = (from q in DB.Buszs select q).ToList();
var insertKeys = Buszs.Select(s => s.Jarat).Except(query.Select(s => s.Jarat)).Select(s => new BuszModel { Jarat = s });
var removeKeys = query.Select(s => s.Jarat).Except(Buszs .Select(s => s.Jarat ));
foreach (var rKey in removeKeys)
{
var jarat = DB.Buszs.Where(w => w.Jarat.Equals(rKey)).FirstOrDefault();
DB.Buszs.DeleteOnSubmit(jarat);
}
foreach (var iKey in insertKeys)
{
DB.Buszs.InsertOnSubmit(iKey);
}
DB.SubmitChanges();
Messenger.Default.Send<GenericMessage<Table<JaratModel>>>(new GenericMessage<Table<JaratModel>>(DB.Buszs));
}Továbbá, nem ártana csak akkor leszedni az adatokat ha változás van.
-
ubid
senior tag
Helló!
Biztos hogy nagyon egyszerű a válasz, de valahogy én nem jövök rá .
Szóval :
Egy WP7-es alkalmazást csinálok, a helyi menetrendek nézegetésére.
SQL CE- adatbázist használok mögötte, hogy offline böngészés is biztosítva legyen.
Az egyes buszok adatait mindig külön osztályba rakom, és ott is töltöm föl, tehát egy 22-es busz körülbelül így néz ki :
class busz22 {
public List<TableStructure> Busz22Lista = new List<TableStructure>();
// lista létrehozása, amibe beletologatom az elemeket.ezen belül van egy metódus, ami feltölti az adatokat : kb így néz ki :
var MenetrendContext = new MenetrendContext();
if (!MenetrendContext.DatabaseExists())
{
MenetrendContext.CreateDatabase();
}majd az adatok létrehozása.
Busz22Lista.Add(new TableStructure() { Id = 72, Jarat = 22, Hour = 7, Sec = 35 });satöbbisatöbbi.
és végül egy foreach-el végigmegyek az elemeket és feltöltögetem így :
foreach (var l in Busz22Lista)
{
MenetrendContext.Busz22.InsertOnSubmit(l);
MenetrendContext.SubmitChanges();
}ez a feltöltő metódus a gombnyomásra hívódik meg.
Tehát ha a felhasználó mondjuk a 22-es menetrend gombját megnyomja, akkor ez így legenerálódik és elkészül.viszont, ha mégegyszer rákattint, akkor szépen elszáll az alkalmazás, merthogy PK már van olyan... nem duplikálható nyilván.
Tehát a porbléma : Hogyan tudom azt leellenőrizni , hogy ez a PK már van e. mert ha van akkor nyilván ne töltsük föl.
Hogyha meg mondjuk átállítom auto incerementre a PK-t akkor gondolom működne, de minden benne lenne előbb vagy utóbb ötszázszor a táblába :S
Nincs erre is valami, mint pl a tábla létrehozásánál a DatabaseExist ?
Köszönöm a segítséget.
-
9600se93
csendes tag
Köszönöm a segítséget, bár még nem nagyon értem ami ott le van írva a linkben. A program amúgy az angoltanulásomhoz kellene, mert a párbeszédeket nem lehet lestoppolni a játékban, ha meg videót veszek föl és úgy fordítom nagyon lassú és ez a program sokat segítene a fordításban.
-
ArchElf
addikt
-
Jester01
veterán
Sziasztok!
Egy ideje programozgatok C#-ban gagyi szinten és jött egy probléma amit nem tudok megoldani pedig nagyon fontos lenne. Egy olyan program kellene ami egy előre kiválasztott processt le tud stoppolni gombnyomásra de ha következőnek megnyomom a gombot már újra fut onnan ahol abbahagyta. Találtam is ilyen programot, de az a baj vele, hogy nem képes a háttérben futni és gyorsbillentyűre reagálni (3d-s teljes képernyős alkalmazás leállítására kellene). Tehát egy olyan program kéne ami háttérben fut, 2 gyorsbillentyűt kezel, az egyik lestoppolja/folytatja a processt a másik meg leteszi asztalra az adott 3d-s alkalmazást. Azt sem tudom hol kezdjek neki mivel nem ilyen stílusú dolgokat írtam meg béna is vagyok és nagyon fontos lenne a program. Ha valahogy tudtok segíteni köszönöm!Inkább ne játssz munkaidőben

suspend/resume-ra gugli például rögtön ezt köpte ki. Ezen felül kell még a gyorsbillentyű kezelés meg a minimalizálás. Biztos millió példa van rá. -
9600se93
csendes tag
Sziasztok!
Egy ideje programozgatok C#-ban gagyi szinten és jött egy probléma amit nem tudok megoldani pedig nagyon fontos lenne. Egy olyan program kellene ami egy előre kiválasztott processt le tud stoppolni gombnyomásra de ha következőnek megnyomom a gombot már újra fut onnan ahol abbahagyta. Találtam is ilyen programot, de az a baj vele, hogy nem képes a háttérben futni és gyorsbillentyűre reagálni (3d-s teljes képernyős alkalmazás leállítására kellene). Tehát egy olyan program kéne ami háttérben fut, 2 gyorsbillentyűt kezel, az egyik lestoppolja/folytatja a processt a másik meg leteszi asztalra az adott 3d-s alkalmazást. Azt sem tudom hol kezdjek neki mivel nem ilyen stílusú dolgokat írtam meg béna is vagyok és nagyon fontos lenne a program. Ha valahogy tudtok segíteni köszönöm! -
ubid
senior tag
Több ismerősöm is publikált felhőbe / jelenleg is van projektje, és csak dícsérik, semmi lehúzás nincs benne szerintük.
-
martonx
veterán
Ember ezt írhattad volna a legelső felhő áras kérdésemre is. Ha azt mondod, hogy fingod sincs, mert a cég fizeti / trial időszakban vagy, akkor nem erőlködök.
-
ubid
senior tag
Biztos igazad van
de itthon raját környezetemben nem tervezek felrakni semmit sem 
maximum céges környezet, viszont az nem nekem "fáj"

-
martonx
veterán
Pedig igaz. Persze olyankor nincs process díj, de adattárolás, adatbázis tárolási díj olyankor is ketyeg. Semmi gond, nem akartam vitatkozni, majd meglátod úgyis előbb-utóbb.
-
ubid
senior tag
hehehe, akkor nagyot fogsz nézni, amikor megkapod a fizetési értesítést.
Pont ez a vicc a felhőben, hogy szinte mindegy, hogy futtatod, vagy leállítod az alkalmazásodat. A helyet foglalja, sql szervert foglalja.
Gondolom még mostanában regisztráltál, és ha jól rémlik 90 napig amúgy is ingyenes.
Ha nincs sok pénzed, a helyedben nagyon odafigyelnék az Azure számlámra, mert hipp-hopp röpülnek majd az ezresek a kb. semmire (Amazon WS-es tapasztalat, ami ránézésre még olcsóbb is, mint az Azure).Szerintem aki nem tudja, ne használja.
Már volt hozzá szerencsém, de sose kaptam számlát. És ez pedig nem igaz, hogyha leállítod akkor is kapod a számlát ; ) -
martonx
veterán
hehehe, akkor nagyot fogsz nézni, amikor megkapod a fizetési értesítést.
Pont ez a vicc a felhőben, hogy szinte mindegy, hogy futtatod, vagy leállítod az alkalmazásodat. A helyet foglalja, sql szervert foglalja.
Gondolom még mostanában regisztráltál, és ha jól rémlik 90 napig amúgy is ingyenes.
Ha nincs sok pénzed, a helyedben nagyon odafigyelnék az Azure számlámra, mert hipp-hopp röpülnek majd az ezresek a kb. semmire (Amazon WS-es tapasztalat, ami ránézésre még olcsóbb is, mint az Azure). -
ubid
senior tag
-
martonx
veterán
-
ubid
senior tag
Egyébként gondolom szinte mindenki használ facebook-ot.
A facbook-on van egy külön C# -os programozóknak készült csoport, amibe jelenleg 54 -tag van.
Köztük sok ismertebb név is előfordul : pl
eitner István (C#-os könyv írója
Balassy György, Túróczy Attila, Fár Attila Gergő,Gondolom ezek a nevek nektek is mondanak valamit.
Készségesen áll mindenki a rendelkezésünkre.
Eddig bármi felől érdeklődtem volna, mindig érkezett rá egy órán belül válasz.A csoport ugyan zárt, de be tudok rakni embereket.
Úgyhogy akit érdekel, az írjon privátba. Garantáltan nem bánja meg = )
-
ubid
senior tag
-
ubid
senior tag
-
ubid
senior tag
Hát ezt nehéz ìgy megmondani. Talán ha kól emlékszem 1 gigáig 20-30 ft per hó. De lehet rosszul emlékszem. Aki tudja cáfolja meg! Köszi
-
martonx
veterán
Látom nagyon rajta vagy az Azure témán. Mibe kerül havonta tokkal-vonóval az Azure egy nálad látott minimalista webalkalmazás esetén?
Mert van kalkulátoruk, de a franc se fogja tudni megsaccolni az IO számot, meg sávszélesség használatot satöbbit. -
blex
senior tag
fél éve járok info faktra, most kezdtünk el grafikus programokat írni, úgyhogy erősen hiányos a tudásom..
van egy program tele pictureboxokkal és azt szeretném elérni, hogy aszerint jelenítsen meg valamelyikben egy képet, hogy melyik neve van eltárolva egy változóban. tehát ha a picbox változó értéke harmadik, akkor a harmadik nevű dobozba kéne betöltenie a képet. természetesen első körben lazán írtam egy ilyet
picbox.Image = global::sakktabla.Properties.Resources.q;
de nem sokra mentem vele és azóta sem jöttem rá, hogy hogyan lehetne ezt rendesen megcsinálni - szóval köszönöm előre is annak, aki kisegít
-
ubid
senior tag
-
atti1848
senior tag
Ha ezt egy kicssit továbbfejleszted úgy hogy a képek nem látszanak alapból és a buttonok helyett checkboxot használsz button formában gyakorlatilag memóriajátékot csinálsz - szerintem ez már elég lehet a kettesért. De ha már ötletek - tag mezőbe ne magát a képet rakd be, hanem csinálj egy List<Image> - et, amiből csak az indexet teszed bele a Tag-be. Jobban is néz ki, és szerintem jobban is értékeli a tanerő.
Tipp: esemény kezelésnél ne buttononként generálj kezelő eseményt, hanem csak egyet csinálj, ami az összes button eseményét lekezeli. Bár jobban belegondolva szerintem már neked is eszedbe jutott, amikor kipattant az ötlet

AE
Az őszintét megmondva még nem jutott eszembe semmi komoly,de ímit írtál mindenféle képen ki fogom próbálni és az,hogy egy eseményt kezelek le és ezt adom át mindegyiknek,ez nagyon jó megoldás.
Köszönöm a segítséget.

-
ArchElf
addikt
Ha ezt egy kicssit továbbfejleszted úgy hogy a képek nem látszanak alapból és a buttonok helyett checkboxot használsz button formában gyakorlatilag memóriajátékot csinálsz - szerintem ez már elég lehet a kettesért. De ha már ötletek - tag mezőbe ne magát a képet rakd be, hanem csinálj egy List<Image> - et, amiből csak az indexet teszed bele a Tag-be. Jobban is néz ki, és szerintem jobban is értékeli a tanerő.
Tipp: esemény kezelésnél ne buttononként generálj kezelő eseményt, hanem csak egyet csinálj, ami az összes button eseményét lekezeli. Bár jobban belegondolva szerintem már neked is eszedbe jutott, amikor kipattant az ötlet

AE
-
martonx
veterán
-
atti1848
senior tag
-
drkbl
őstag
Légyszi mindenki!
Ha valaki minimális kiinduló pontot tudna adni a problémámhoz nagyon megköszönném!
Sziasztok,
AForge.NET témakörben kérdeznék egy olyat, ha esetleg valaki tudna válaszolni, hogy:
ColorFiltering filter = new ColorFiltering();
filter.Red = new IntRange(0, 150);
filter.Green = new IntRange(170, 255);
filter.Blue = new IntRange(0, 190);
filter.ApplyInPlace(uimage);Ezzel a kódrészlettel lehet beállítani azt, hogy a program a képen melyik színre reagáljon. Ez perpillanat a zöld színt képes megtalálni. Próbálkoztam már más szín range-ének megadásával, de ezen kívül semmi másra nem reagál. Kerestem google-ban ilyet, hogy range calculator (lehet ez egy naív ötlet volt), de ilyet se találtam. Ha esetleg valaki foglalkozott már ezzel, megköszönném ha kisegítene. Legfőképpen még a kék, piros és sárga színek kellenének nekem, de igazából ha tudja valaki mi alapján lehet belőni neki a színeket, azt mégjobban megköszönném.
Előre is köszönöm a válaszokat!
Tudom, hogy már egyszer kérdeztem ugyan ezt, de gondoltam megpróbálom még egyszer, hátha most valakinek lesz egy félmondatnyi ötlete!
Előre is köszi!Pl. a [link] címen megnézheted vizuálisan, neked mettől meddig terjed egy szín. Az Adjust scheme lapon is játszanod kell a telítettséggel.
-
hc89yk
csendes tag
Légyszi mindenki!
Ha valaki minimális kiinduló pontot tudna adni a problémámhoz nagyon megköszönném!
Sziasztok,
AForge.NET témakörben kérdeznék egy olyat, ha esetleg valaki tudna válaszolni, hogy:
ColorFiltering filter = new ColorFiltering();
filter.Red = new IntRange(0, 150);
filter.Green = new IntRange(170, 255);
filter.Blue = new IntRange(0, 190);
filter.ApplyInPlace(uimage);Ezzel a kódrészlettel lehet beállítani azt, hogy a program a képen melyik színre reagáljon. Ez perpillanat a zöld színt képes megtalálni. Próbálkoztam már más szín range-ének megadásával, de ezen kívül semmi másra nem reagál. Kerestem google-ban ilyet, hogy range calculator (lehet ez egy naív ötlet volt), de ilyet se találtam. Ha esetleg valaki foglalkozott már ezzel, megköszönném ha kisegítene. Legfőképpen még a kék, piros és sárga színek kellenének nekem, de igazából ha tudja valaki mi alapján lehet belőni neki a színeket, azt mégjobban megköszönném.
Előre is köszönöm a válaszokat!
Tudom, hogy már egyszer kérdeztem ugyan ezt, de gondoltam megpróbálom még egyszer, hátha most valakinek lesz egy félmondatnyi ötlete!
Előre is köszi! -
ArchElf
addikt
Sziasztok.
Egy elég furcsa kérdésem lenne.
Programozás órára kell írnom egy egyszerű programot Visual Studioban C# nyelvben.Tippet kérnék,hogy mégis mit lehetne megvalósítani egy elégséges jegyre.
Legelső gondolatom egy kép párosító kicsike program: lenne több kép egy form-ban, persze mindből 2db.Úgy gondoltam,hogy valahogy button-el kellene,hogy először mind sima üres gomb legyen majd rákattintok 1-re megjelenik rajta a kép, másikra ugyan ez, max egy menetben 2 gombra lehessen kattolni.A gombok minden indításnál máshol jelennének meg,persze nem érintkeznének.
Meg lehetne ezt oldani valahogy?Olvasgattam és az egyforma képeknek ugyan azt a TAG tul.-ot adnám,meg ezzel hasonlítva őket.Ha épp ugyan az 2db kép jelent meg akkor azok eltünnének.Hogy kellene eltüntetni gombokat, vagy forgatni,hogy egyszer üres,másszor kép legyen, hogy kell a gombokat random rakosgatni?
Szerintetek elég lenne ez elégségesért?És kivitelezhető?
Tippeket és segítségeteket nagyon köszönöm előre is.

Szerintem fogalmunk sincs, hogy mit fogadnak el nálatok egy kettesért (hacsak nincs közöttünk a tanárod is
)AE
-
kingabo
őstag
Az egészben az a legszörnyűbb, hogy mindig megkeresi valaki a hibát helyette...
Meg mellékesen odaírja a debuggert, de mivel megvan a hiba ki nem próbálná. 
-
drkbl
őstag
-
Neil Watts
veterán
1) Felveszel egy boolean mezőt az osztályba, amit igazra állítasz az első lefutás előtt, majd az eseménykezelőben nézed, hogy hamis-e még, csak akkor fut le a ciklus
bool Feltoltve = false; // [L:http://msdn.microsoft.com/en-us/library/83fhsxwc(v=VS.80).aspx]a default false[/L], de így talán érthetőbb a kód
private void buttonBeolvas_Click-be az új kódod az alábbi, régi szerint:
if (!Feltoltve) {
for (int i = 0; i < elemszam; i++) {
Nevek[elemszam] = Benevek[i];
Azon[elemszam] = BeAzon[i];
elemszam++;
}
Feltoltve=true;
}vagy
2) buttonLista.Enabled = true; után buttonBeolvas.Enabled=false; így rá sem tud kattintani még1x

thx, köszi
Új hozzászólás Aktív témák
-
3000 - 2901
10246 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Ubuntu Linux
- Forza sorozat (Horizon/Motorsport)
- Kezdő fotósok digitális fényképei
- Lexus, Toyota topik
- Google Pixel topik
- Apple asztali gépek
- Háztartási gépek
- One otthoni szolgáltatások (TV, internet, telefon)
- Android alkalmazások - szoftver kibeszélő topik
- Milyen billentyűzetet vegyek?
- További aktív témák...
- HP Omen 16" FHD+ IPS Ryzen 9 8940HX RTX 5070 32GB 1TB NVMe gar
- GoPro HERO11 Black Creator Edition KOMPLETT, eredeti doboz, alig használt
- Bomba ár! Lenovo TP Yoga 370 - i5-7G I 8GB I 512SSD I 13,3" FHD Touch I Cam I W11 I Gari
- Bomba ár! Lenovo ThinkPad X390 - i7-8G I 16GB I 256SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- playseat evolution black actifit
- GeForce RTX 2060 (OEM HP) Garanciával
- Eladó Dell Latitude 5340 i5-1345U 16 GB DDR5
- Apple iPhone 17 Pro Max 256GB Deep Blue Karcmentes állapotban 100% akkumulátor (99 ciklus)
- BESZÁMÍTÁS! Gigabyte B450M R5 2600 16GB DDR4 256GB SSD GTX 1060 6GB Formula Air Mesh G3 Chieftec500W
- Intel Core i9-10850K 10-Core 3.6GHz LGA1200 (20M Cache, up to 5.20 GHz)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest






De valamit nagyon!









