Új hozzászólás Aktív témák
-
-
Sziasztok
XML Beolvasást csinálok így:
if (File.Exists(filename) == true)
{
toolStripStatusLabel1.Text = "Setup Loading";
XDocument doc = XDocument.Load(filename);
var data = from item in doc.Descendants("NemoControlData")
select new
{
DPCO = item.Element("Data").Element("PCO").Value,
DCaption = item.Element("Data").Element("Caption").Value,
SConnect = item.Element("Data").Element("Connection").Value,
N1 = item.Element("Name").Element("Name_IN").Value,
...A programom elszáll ha nincs a struktúrában az elem. Lehet valahogy ez ellen védekezni?
-
Karma
félisten
válasz
Pttypang #5194 üzenetére
"Ha jól látom akkor a leírásodban említett ObservableObject ősosztály akkor nem is szükséges, mert az sqlmetal által legenerált kódban implementálva van?"
Pontosan.
"habár ha a LayoutRoot-nak adom át a menetrend db-t,"
Ez nekem kicsit meredek így kódrészlet nélkül, de ha bemásolnád, mondhatnék rá valamit. Egyébként ha binding hiba történik, az Output fülön elég részletes rókát hagy ott az engine: honnan, mit, milyen típust hova, milyen típusként, miért nem tudott bekötni.
Ilyen "üres a lista" szituációkban érdemes ránézni.
-
Ha jól látom akkor a leírásodban említett ObservableObject ősosztály akkor nem is szükséges, mert az sqlmetal által legenerált kódban implementálva van?
A listpickert pedig sikerült a silverlight toolkittel beszereznem. Innentől már csak a gyakorlati binding alkalmazása van hátra, habár ha a LayoutRoot-nak adom át a menetrend db-t, utána kötném az egyik oszlopot a listpickerhez, de nem jeleníti meg az adatokat, üres a listpicker listája. o.O
-
Karma
félisten
válasz
Pttypang #5191 üzenetére
Apránként olvasd az osztályt, és lesz értelme
Annyiban bonyolultabb az én osztályomnál, hogy több tábla van benne - a Menetrend osztály Avasrol, Honnan és Jaratlista propertyjeivel érheted el ezeket.
Felhasználás szempontjából én húznék egy ViewModel réteget ez elé, mert bár közvetlenül erre az osztályra is bindolhatsz, de plusz logikát (pl. szűrést, számítást) nem tudsz hozzátenni.
-
Kommy
veterán
Na haladtam de megint elkezdte a nem adok eredményt szindrómát.
ugye van egy 4 oszlopból és 8 sorból álló beviteli mezőm, az utolsó oszlop az első 3 összege így az nem módosítható.
A lényeg, hogy itt soronként végig tudjak menni TAB-al, így a tabindex-et beállítottam szépen sorba, 1-24-ig.
Viszont a 3,6,9,..,21-es indexű elemeket nem tudom olvasni a 24-es megy, sőt ha átírom a 3-ast 2-esre (ekkor kettő van ilyen), de működik mind a kettő, tehát összeadja szépen a sorban levőket. -
Karma
félisten
-
Kommy
veterán
Nem nagyon értem most beraktam tesztként egy új textbox-ot textBox1 néven és egy labelt label1 néven, majd bemásoltam a kódodat és ugyan úgy nem működik.
kiírja, hogy Nem sikerült: ...Viszont amit észrevettem szerintem ennek se így kéne működnie, ugye van a label1 label amiben benne hagytam a szöveget és amikor beleírja a kódod akkor lesz belőle: label1 került: ...
-
Karma
félisten
Pedig ránézésre azon túl, hogy túl hosszan fogalmaztál, rendben van a kód.
Ezt írtam próbaképp és működik is:
private void textBox1_TextChanged(object sender, EventArgs e)
{
int value;
if (int.TryParse(textBox1.Text, out value))
{
label1.Text = string.Format("Siker: {0}", value);
}
else
{
label1.Text = string.Format("Nem sikerult: '{0}'", textBox1.Text);
}
}Két dolgot próbálnék meg:
1) Breakpointot tegyél a metódus elejére, és kövesd végig milyen adatokat lát a kód.
2) A TryParse-ot cseréld ki Parse-ra, ami exceptiont dob -> abból láthatod, hogy mi akadályozta meg a feldolgozást.(#5183) Kommy: Nem lehet, hogy elnézted a nevét a controlnak, és a Round11 egy Label, nem pedig a TextBoxod? Vidd fölé a kurzort az IDE-ben, és tooltipben kiírja a típusát. Debuggolás közben meg meg tudod nézni akár azt is, hogy a sender kicsoda (pl. mi a neve).
-
Kommy
veterán
sziasztok lenne egy olyan gondom, hogy van egy textbox-om, amit ha változtatok akkor ellenőriznem kellene, hogy szám van e benne mivel számolnom kell vele.
AMivel próbálkozok:
private void Round11_TextChanged(object sender, EventArgs e)
{
string value = Round11.Text;
int myNumber = 0;
if (!string.IsNullOrEmpty(value))
{
int.TryParse(value, out myNumber);
if (myNumber > 0)
{
Console.WriteLine("Beírt szám: " + myNumber);
}
}
}A gondom az , hogy teljesen mindegy mit írok be sehogy sem jó mindig 0-át ad vissza, tehát nem is lép bele az if-be, hogy kiírja a beírt számot.
A múltkori kérdésem megoldódott, kivettem a groupbox-ból a szövegeket és jó lett, de most textbox-okkal van ugyan ez a probléma, amibe írni is lehet, ha nincs alap adat.
-
Karma
félisten
Hátha valaki másnak is hasznos: tegnap estétől mostanáig összeütöttem egy PCL libraryt, amivel a pusher.comra lehet üzeneteket küldeni. Csak küldeni tud, feliratkozni és fogadni nem, de nekem pont ez kellett telefonon és Win8-on.
Meg ha a szolgáltatás nem is, talán arra érdekes példa, hogy egy PCL projekt hogyan szolgál ki három platformot párhuzamosan.
Igazából tavalyelőtt már használtam élesben egy koszosabb változatot, de most voltam úgy vele, hogy letisztázom és felteszem közösbe.
-
zsolt13
csendes tag
válasz
Peter Kiss #5152 üzenetére
Legközelebb akkor válaszolj csak, ha építő jellegű hozzászólásod van! Köszönöm.
-
amargo
addikt
-
Karma
félisten
Milyen alkalmazás? Ha WPF, akkor van hozzá szofisztikált eszköz, WP-n és Store-n pedig van beépített counter.
-
-
ubid
senior tag
Sziasztok!
Tud valaki egy olyan ALKALMAZÁST amivel a saját alkalmazásom FPS-ét meg tudom mérni ?
-
válasz
sztanozs #5163 üzenetére
Azt hiszem megvan! Köszönöm!!
private void DBCONNECT(string SQCMD)
{
if (SQCMD != null & SQCMD!="" & SQCMD!=" ")
{
NCD.DBQuery.Clear();
OdbcConnection Conn = new System.Data.Odbc.OdbcConnection(NCD.SConnect);
OdbcCommand catCMD = new OdbcCommand(SQCMD, Conn); //exec dbo.ccTV '05kM'
Conn.Open();
OdbcDataReader myReader = catCMD.ExecuteReader();
int fCount = myReader.FieldCount;
for (int i = 0; i < fCount; i++)
{
String fName = myReader.GetName(i);
}
int fRcount = 0;
while (myReader.Read())
{
NCD.DBQuery.Add(new List<String>()); //egy új allista hozzáadása
for (int i = 0; i < fCount; i++)
{
NCD.DBQuery[fRcount].Add(myReader[i].ToString());
}
fRcount++;
}
myReader.Close();
Conn.Close();
}
} -
-
sztanozs
veterán
válasz
Flashback #5162 üzenetére
Miért nem valami data típust töltesz fel "adatbázis" jellegű adattal, miért kell tömböt használni?
Vagy használj List<string[]>-et és a header beolvasásánál már tudod, mire kell mindig inicializálni a string[]-t. így legalább nem kell kétszer beolvasni az egész fájlt... -
válasz
Alexios #5161 üzenetére
MEgoldottam Sting Arrayel. De csodálkozom hogy nem lehet C#-ban dinamikus tömbnek értéket adni...
Megoldás:int fCount = myReader.FieldCount;
for (int i = 0; i < fCount; i++)
{
String fName = myReader.GetName(i);
}
int fRcount = 0;
while (myReader.Read())
{
fRcount++;
}
myReader.Close();
string[,] Query = new string[fRcount, fCount];
myReader = catCMD.ExecuteReader();
int fRcount2 = 0;
while (myReader.Read())
{
for (int i = 0; i == fCount-1; i++)
{
Query[fRcount2, i] = myReader[i].ToString();
}
fRcount2++;
} -
válasz
Alexios #5159 üzenetére
Ilyenkor hogy működik az értékadás?
while (myReader.Read())
{
fRcount++;
Query[fRcount][0] = myReader[0].ToString();
Query[fRcount][1] = myReader[1].ToString();
Query[fRcount][2] = myReader[2].ToString();
}Így próbáltam de azt mondta: Additional information: Az index az engedélyezett tartományon kívül esett. Az index nem lehet negatív, és kisebbnek kell lennie a gyűjtemény méreténél.
-
-
Sziasztok
SQL lekérdezés kimenetelét egy 2D-s string tömben szeretném tárolni.
Én így gondoltam:
int fRcount = 0;
string[,] Query;
while (myReader.Read())
{
fRcount++;
Query[fRcount,0] = myReader[0].ToString();
Query[fRcount,1] = myReader[1].ToString();
Query[fRcount,2] = myReader[2].ToString();
}Hibaüzenet:
Error 1 Use of unassigned local variable 'Query'Miért nem érvényes a ciklusban a változó? Hogy csináljam meg?
-
Kommy
veterán
Sziasztok!
Leírom mit szeretnék csinálni egy 7 oszlopos táblázatszerűséget (de nem akarom hogy úgy nézzen ki), az első 3 oszlop egy adatbázisból jön (név, azonosító, életkor), utána levő 3 oszlop számot kér be (vagy ha már ki van töltve az adatbázisban akkor beírja onnan az adatokat), az utolsó oszlop pedig összeadja az előző 3 oszlop értékeit.
Gondoltam megcsinálnám a kinézetet label-ekkel és a átírnám a szövegét, a labelek-nek, de sajnos valami miatt nem írja át a label-t
textlabel.Text = "név";
sorral, amikor fut a DataReader akkor bele is írom az adott label-be a megfelelő "értéket", de nem változik meg.Valami ötlet, hogy hogy tudnám ezt megoldani, vagy valami más elgondolás, hogy ez normálisan is nézzen ki, ne pedig egy táblázat legyen.
-
j0k3r!
őstag
válasz
zsolt13 #5149 üzenetére
Előrevetem, hogy 1-2 mórickánál komolyabban soha sem foglalkoztam WindowsForms-szal.
A dependency injection résznek valahogy így kezdenék neki:
- egyik Form osztályodban se legyen semmiféle "közvetlen" adatelérés/adatmódosítás, csak Service/Manager osztályokon keresztül (lásd később)
- egyik Form osztályodból se lehessen elérni a DbContextet
- a Form osztályaid használják a már fentebb említett Service/Manager osztályokat
- a Service/Manager osztályok használják az éppen szükséges Repository-katÍgy már látható, hogy kinek-mire van szüksége (függősége). Valahogy így képzelek el egy Button Click eventet:
1, összeszeded a bejövő adatokat (ez rád van bízva)
2, ezekből az adatokból, ha szükséges, akkor Model/ViewModel-eket hozol létre
3, ezeket a Modelleket átadod a Service/Manager osztályoknak
4, a Service/Manager osztályokon belül módosítasz/lekérdezel adatokat a Repository-kon keresztül
5, a Repository(k) kezeli(k) az adatbázist közvetlenMegpróbálom kóddal is szemléltetni, hátha úgy jobban érthető:
1,2,
var model = new AuthenticationModel(txtUserName.Text, txtPassword.Text);
3,
if(userService.AuthenticateUser(model))
{
// todo
}
4, IUserService-en belül vagyunk:
public bool AuthenticateUser(AuthenticationModel model)
{
return userRepository.Get(u => u.UserName == model.UserName && u.Password == model.Password) != null;
}5, ilyesmi: [link]
Remélem valamennyire érthető volt, amit leírtam. Illetve, ha hülyeséget írtam valahol, akkor jöhetnek a vélemények.
egyébként melyik iskola ez? jöhet privátba is akár
-
martonx
veterán
válasz
zsolt13 #5149 üzenetére
Pedig a neten vannak ezekhez teljesen jó leírások. Joker DI-ra már javasolt is pár megoldást (Unity, NInject, Autofac ...). Bármelyiket beüzemelni nem nagy ügy.
Viszont előbb a DB repository-dat csináld meg, és majd azt használd DI-al. Ehhez semmi extra nem kell, pusztán kód szervezés kérdése. Csinálsz egy plusz réteget a DB réteg fölé. Ehhez is rengeteg magyarázó anyag van a neten. -
zsolt13
csendes tag
Először is köszi a választ.
Hogy jobban megértsd a problémámat:
A programom lényegében nem tesz többet, mint adatokat kér le egy MSSQL szervertől és ezeket különböző formátumokban (gridview, map, stb) megjeleníti adott esetben módosítja, mondjuk a felhasználók adatait. Ehhez a lekérdezéseket LINQ-val írtam meg, ami működik is szépen, de a konzulensem leszúrt, hogy nem használtam repository-t és DI-t.Ebbe kellene valahogy beleokoskodni ezt a két technikát, mivel szeretnék látni a szakdolgozatomban.... -
amargo
addikt
válasz
trisztan94 #5145 üzenetére
Az ablakok ismerik a LocalizedStrings-et?
Hova vetted fel?
A LocalizedResources-ra mi szükséged van a path leírásnál valami static-ot akarsz behúzni?Ha az App.xaml-be felveszed a <localization:LocalizedResources x:Key="LocalizedStrings" />
xmlns:localization="clr-namespace:SOMETHING.Localization"
Akkor ennyi is elég:
{Binding Path=LoggedInText, Source={StaticResource LocalizedStrings}} -
j0k3r!
őstag
válasz
zsolt13 #5146 üzenetére
Helló!
Kicsit mesélhetnél az alkalmazásról. Hogy tervezed a BLL-t (adatbázis, ORM, stb.)?
Nagyon röviden: a Repository az én fejemben valahol a DAL és a BLL között helyezkedik el, azaz egy köztes rétegként funkcionál a kettő közt, így az adatok kezelése ezen keresztül kell, hogy történjen legvégül.
Dependency Injection: [link]
Habár valószínűleg nem maga a "Dependency Injection" lesz számodra a lényeges, hanem valami DI Container framework (pl.: Unity, Ninject). Ha nagyon unatkozol, akkor valami faék egyszerű containert te is tudsz biztosan írni, hogy biztosan megértsd, hogy mire is jó.
-
zsolt13
csendes tag
Sziasztok!
C# winform appomban repository patternt és dependeny injectiont kéne használnom, de lövésem sincs, hogy ezek mire jók pontosan. Ha valaki egy példán keresztül elmagyarázná, hogyan álljak neki és mire kell odafigyelni nagy segítség lenne, amiket eddig találtam keresgélés közben, vagy példa, vagy magyarázat hiányzott...
Zsé
-
trisztan94
őstag
válasz
Alexios #5144 üzenetére
No, belekezdtem a data bindingba,de egy kis problémába ütköztem:
Első körben az összes stringet ami az alkalmazásban van beraktam az AppResources.resx fájlba, mivel kétnyelvű lesz a program (angol és magyar). Minden flottul megy, gombokra működik a binding:
<Button
Name="login"
BorderThickness="0"
Height="70"
Click="login_Click"
Margin="311,388,265,22"
Content="{Binding Path=LocalizedResources.LogInText, Source={StaticResource LocalizedStrings}}">
<Button.Background>
<ImageBrush ImageSource="/Assets/Menu/mainMenuButton@2x.png"/>
</Button.Background>
</Button>Szépen megjelenik a string amikor futtatom az alkalmazást.
Viszont valamiért TextBlock-al nem működik. Nem egy darabbal, az összessel. Így használom:
<TextBlock
Name="sudentNameText"
Text="{Binding Path=LocalizedResources.LoggedInText, Source={StaticResource LocalizedStrings}}"
Margin="31,0,670,451"/>Természetesen ugyanúgy benne van a resource fájlban a string. Mint mondtam, egyik TextBlock-al sem működik a binding valamiért
Ha implicit beírom a Text attribútumba a szöveget, akkor megjelenik.
Mit csinálok rosszul?
Bocsi a sok hülye kérdésért
-
Alexios
veterán
válasz
trisztan94 #5143 üzenetére
pl. MVVM pattern használatával, kb adja magát wp alatt, amúgyis lényegében a bindingra van kitalálva az egész
-
trisztan94
őstag
Az app főmenüjében van 4 almenü, összesen kb. 20 eseménykezelővel. Még amikor Java-ban fejlesztettem, emlékszem ott úgy csináltam, hogy egy külön Event Handler osztályba raktam az összeset, hogy ne zavarja ott a UI-nál a vizeket a sok spagetti.
Hogyan kellene ezt C#-ban csinálni?
-
trisztan94
őstag
-
martonx
veterán
Hát most erre mit mondjunk? Valószínűleg nem lesz gond, de bármi előfordulhat. Na, ki lettél segítve?
Egyébként rémlik, hogy a VS2013 már tud olyat, hogy nem akarja automatikusan új verzióra migrálni az adott solution-t, pont az esetleges kompatibilitási problémák megelőzés érdekében.
Azaz ELMÉLETILEG semmi problémát nem kellene tapasztalnod. -
Keem1
veterán
Estét emberek! Tudom, nem teljesen témába vág, de hátha valakinek gyakorlati tapasztalata van. Most szedtem le a Visual Studio 2013-at MSDNAA-ról, de éveken keresztül VS 2008-at használtam. Van 2-3 hobbiprojektem, ha most a 2013-ra átváltok, esélyes, hogy lesznek kompatibilitási problémák a régivel készült projekteknél? Anno Delphi-nél bizony voltak. VS-ben most külső cuccokból leginkább SQLite meg MySQL kiegészítőket használok.
Előre is kösziSzerk: a VS-nek csak a C# része érdekes, más nyelven nem használom a 2008-at se.
-
Karma
félisten
válasz
Alexios #5136 üzenetére
Én úgy csinálnám - ezzel nem akarom implikálni, hogy ez követendő minta, csak az ízlésem más -, hogy az oldal DataContextje (aki egy viewmodel) felelős ezért.
Lenne egy DispatcherTimere és egy olyan propertyje, amin a képfájl elérési útvonala érhető el. Belül meg van egy fájllistája, amiből tickenként kiveszi a következő elemet, és az INotifyPropertyChanged interfészen keresztül felszól a XAML-nek, hogy változott a kép.
Fenn pedig egy szimpla bindinggal le van tudva a történet, 0 C# kód.
Ha mondjuk fade animáció is kéne a képek között, az valószínűleg kicsit bonyolultabb, de akkor meg írnék egy attached propertyt, ami kezeli az effektet. A bemenete ugyanúgy a bindingból jönne.
-
Karma
félisten
válasz
Alexios #5121 üzenetére
Juj és pfúj. Persze majd ha felengedi, akkor meg másik brusht állít neki kézzel
A codebehind nem arra való, hogy azokat a dolgokat írja meg az ember, amiket egyébként is tud a rendszer... amargo közben megelőzött
Rengeteg deklaratív megoldás van erre a problémára. Például az alap Silverlight elemek legtöbbje rendelkezik Normal, Pressed, Disabled állapotokat, amiket könnyen felül lehet bírálni Blendben a States fülön.
A pozíciónálós történetet is meg lehetne oldani okosabban: például egy Converterrel, ami figyelembe veszi a skálázás értékét (Application.Current.Host.Content.ScaleFactor), és az alapján felszorozva amikor Thickness objektumot ad vissza.
-
amargo
addikt
válasz
trisztan94 #5120 üzenetére
A gomb templateben valtoztasd meg, blend-el letudod generalni.
-
Karma
félisten
válasz
trisztan94 #5122 üzenetére
De lehet, ott a Device fül Stúdióban és Blendben is. A többi hozzászólást átolvasom mindjárt, de úgy érzem itt valami nagyon félrement...
-
Alexios
veterán
válasz
trisztan94 #5128 üzenetére
Ezt leginkább sehogy
-
DS39
nagyúr
válasz
trisztan94 #5128 üzenetére
ezt kb sehogy. grid-ekkel érdemes dolgozni xaml-ben, de ha ennyire képhez kell igazítani a pozíciót, akkor megszívtad és marad a dupla meló..
-
trisztan94
őstag
válasz
Alexios #5127 üzenetére
Hát nem az én ötletem, nekem is ki van a f*szom emiatt
Viszont nem nagyon vágom, hogy hogyan lehetne arányokkal olyan pontossággal megadni, mint pixelekkel?
Pl. egyik gomb margói: 270,92,270,289, az alatta lévőé: 308,-28,252,28
Tehát nem pontosan egymás alatt vannak. Ezt hogy adom meg arányokban?
-
Alexios
veterán
válasz
trisztan94 #5126 üzenetére
Hát arányokkal értelmesebbnek tűnik dolgozni, mint bebetonozott margókkal szerintem, bár ez a láthatatlan gombos kép elé rakott cucc sem semmi már
-
Alexios
veterán
válasz
trisztan94 #5124 üzenetére
És megcsinálod két külön képarányra fix margókkal?
Illetve a 8.1 még több támogatott képarányt fog tudtommal behozni
-
trisztan94
őstag
válasz
Alexios #5123 üzenetére
Azt a dolgot rakom össze amiről már korábban kérdeztem: "láthatatlan" gombokat rakok rá egy képre, hogy nyomható legyen. Margókkal játszadozom, hogy szépen fölé kerüljön, ezt a designerben csinálom, drag n droppal.
Na most amikor végre elégedett vagyok, hogy pont felette van, elindítom telefonon és valamennyivel el van csúszva a gomb, meg a grafika is kifér teljesen (16:9-es a grafika, a designer ahogy látom 15:9-es). Nem akkora probléma, de zavaró.
Közben sikerült véletlen kitörölnöm az AppResources.resx és AppResources.designer.cs fájlokat a Resources mappából, azt a következményt okozva, hogy hiányolja őket az alkalmazás, kb. 40 hibaüzenetet kapok. Újra lehet ezeket generálni az alapértelmezett beállításokkal, vagy csináljak egy új projektet, majd csak másolgassam át a kódom?
-
Alexios
veterán
válasz
trisztan94 #5122 üzenetére
hát passz, emulátorban van minden képarány, ott tudod próbálgatni, de a dizájnerrel nem tudom mivan. Bár őszintén szólva nem értem mit értesz az alatt, hogy ott rakod össze a kinézetet
-
trisztan94
őstag
válasz
Alexios #5121 üzenetére
Köszönöm!
Még egy gyors kérdés és hagylak titeket:
A designerben lévő "készüléket" nem lehet megváltoztatni? HTC 8x-en tesztelem az alkalmazást, de annak más a képernyő aránya, így pár dolog elcsúszva jelenik meg, mint designerben vagy emulatorban. Fontosabb, hogy a designernek ugyanaz legyen a képernyőaránya, mint a készülékemnek, hiszen azon "rakom össze" a kinézetet.
-
Alexios
veterán
válasz
trisztan94 #5120 üzenetére
hátteret úgy hogy button.Background = valamilyen brush, ha képre akarod, akkor new ImageBrush(new BitmapImage(new Uri(...))
-
trisztan94
őstag
Sziasztok!
WP lenne a kérdés tárgya ismét.
Van egy gombom XAML-ben, annak adtam egy hátteret:
<Button Name="gomb" BorderThickness="0" Height="70" Click="gomb_Click" MouseLeftButtonDown="gomb_MouseLeftButtonDown" Margin="270,92,270,289">
<Button.Background>
<ImageBrush ImageSource="/Assets/Menu/mainMenuButton@2x.png"/>
</Button.Background>
</Button>Szeretném, ha megváltozna a háttérkép amikor éppen rányom a júzer (btw, ez WP alatt a MouseLeftButtonDown esemény?) egy másik képre.
Hogyan tudom ezt megoldani?
-
K_Gabor
tag
Sziasztok!
Van egy datagridview-m aminek van valahány oszlopa és mindegyik oszlophoz tartozik egy gomb.
Hogyan tudom megmondani a gombnak,hogy ha user által változik az oszlop szélessége akkor kövesse a változást és tartsa az oszlop széléhez képest megadott pozícióját?Köszönöm a segítséget!
-
Sziasztok
1.)
Tudna mondani valaki egy egyszerű példát XML olvasásra.
Konkrétan olyan kellene, hogy egy változó kapja meg az xml property értékét.
Az írás már megy!2.)
Globális változókat hogyan és hol kell deklarálni?Egyenlőre Ennyi!
Köszönöm
Üdv! -
Karma
félisten
válasz
trisztan94 #5112 üzenetére
Nyilván XAML-ben tudod ezt megoldani, margókkal, és nyugodtan zavard haza a "megrendelőt" ilyenkor.
-
Alexios
veterán
válasz
trisztan94 #5112 üzenetére
Hát meglehet csinálni, de nem tűnik nagyon értelmes dolognak
-
trisztan94
őstag
Hello!
Egy olyan alkalmazast kell Windows Phone 8 ala megirnom, aminek a hattereben van egy kep, rajta szovegek. Sajnos bele vannak egetve a szovegek a kepbe, es azokat nyomhato gombokka kellene atalakitani. Arra gondoltam, hogy a szovegek fole rakok "lathatatlan" gombokat, es azokra rarakom az esemenykezeloket.
Ezt igy meg lehet csinalni XAML-ben vagy C#-ban? Ha nem, mi a legjobb megoldas? A kepen nem tudok valtoztatni.
-
Karma
félisten
válasz
Alexios #5110 üzenetére
Azért az elég gáz, ha egy potenciálisan nullt visszaadó hívás után nem nézed meg az eredményt.
Az as egyébként ilyen esetekben szerintem kevésbé ronda, mint kézzel típust ellenőrizni és utána direct castolni.
Mondjuk sok múlik a környezeten. DependencyObjectek tájékán mindig as-t szoktam használni, mert a XAML felől nincs típusellenőrzés így sok csekkolást igényel. Máshol meg nem szoktam castolni, csak ha muszáj
-
Alexios
veterán
Tipuskonverzióra melyik a jobb, az as vagy a (tipus)? Most utánanéztem, és az as valamivel gyorsabb, de ugye ezt értéktípusra nem lehet használni(meg kb 3% volt az eltérés), van erre valamilyen ajánlás, hogy melyiket használjuk inkább?
-
vlevi
nagyúr
Az a baj, hogy igazad lehet a Pascal szó kiejtése kapcsán. A baj csak az, hogy ezeréves hagyománya van, hogy Basiccel, majd Pascallal foglalkoztak nagyon sokáig az iskolákban. Most van egy új programnyelv, de a feladatok ugyanazok. Ezzel viszont, hogy írjál egy qsort progit, vagy kérd be a személyi számot, ezzel nem nagyon lehet a C# nyelvi lehetőségeit tanítani
-
Karma
félisten
Szóval én így csinálnám. Ahogy ígértem, a lényeg három sor: a halak horoszkóp eldöntése két sor az IsPisces metódusban, és egy sor az emberlista leszűrése és kiiratása LINQ-val.
leximester: Kód nélkül elég nehéz erre bármit is mondani, esetleg megoszthatnád.
Két általános észrevétel addig is:
- BackgroundWorker 2014-ben?Hol voltál az elmúlt másfél évben? Az async API már WP7-en is használható (Microsoft.Bcl.Async csomag a NuGeten), WP8-on meg beépítetten megy.
- Kézzel töltött listát miért? A data binding nem véletlen van ott a rendszerben. -
leximester
tag
Sziasztok,van egy kis problémám:
Szóval, windows phone, indítok egy új szálat(background worker), itt néhány szót elmentek egy fájlba, majd ezeket egy gombbal( UI szálon) betöltöm egy listába.Idáig minden rendben, de ezután ha ismét lefuttatom a background workert, akkor a listámat kiüríti. Keresővel végignéztem, és nem szerepel a lista csak két helyen, a deklarációban, illetve a gomb eventjében, ahol értéket adok neki. Mit bénázok el? Köszi előre is. -
dipeti
senior tag
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Azonnali mobilos kérdések órája
- Xbox tulajok OFF topicja
- Linux kezdőknek
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Google Pixel topik
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Alternatív kriptopénzek, altcoinok bányászata
- E-roller topik
- Gyúrósok ide!
- iPhone topik
- További aktív témák...
- BESZÁMÍTÁS! MSI SUPRIM X RTX 4080 16GB videokártya garanciával hibátlan működéssel
- BESZÁMÍTÁS! 6TB Seagate SkyHawk SATA HDD meghajtó garanciával hibátlan működéssel
- BESZÁMÍTÁS! 4TB Samsung 870 EVO SATA SSD meghajtó garanciával hibátlan működéssel
- BESZÁMÍTÁS! Intel Core i7 8700K 6 mag 12 szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
- 122 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!)
- LG 27UL500-W - 27" IPS - 3840x2160 4K - 60Hz 5ms - HDR10 - AMD FreeSync - 300 Nits - sRGB 99%
- Eredeti Lenovo 300W töltők - ADL300SDC3A
- BESZÁMÍTÁS! Sony PlayStation 4 PRO 1TB SSD fekete játékkonzol extra játékokkal garanciával hibátlan
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged