-
7700 - 7601
10246 - 10001 10000 - 9901 9900 - 9801 9800 - 9701 9700 - 9601 9600 - 9501 9500 - 9401 9400 - 9301 9300 - 9201 9200 - 9101 9100 - 9001 9000 - 8901 8900 - 8801 8800 - 8701 8700 - 8601 8600 - 8501 8500 - 8401 8400 - 8301 8300 - 8201 8200 - 8101 8100 - 8001 8000 - 7901 7900 - 7801 7800 - 7701 7700 - 7601 7600 - 7501 7500 - 7401 7400 - 7301 7300 - 7201 7200 - 7101 7100 - 7001 7000 - 6901 6900 - 6801 6800 - 6701 6700 - 6601 6600 - 6501 6500 - 6401 6400 - 6301 6300 - 6201 6200 - 6101 6100 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - 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! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁ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
-
togvau
senior tag
ANSI-t ír. De ez nem jelent semmit. Minden szerkesztőnél, szépen látszik az összes string, ANSI, és UTF-8 kódolásra állítva is. Még a hulladék windowsos sima notepadban is.
Az első string előtt van egy 00 31 hex és mintha mindegyik adat között lenne egy 00, de nem közvetlen az első string karakter előtt vagy a string után. -
sztanozs
veterán
-
togvau
senior tag
-
sztanozs
veterán
-
togvau
senior tag
köszi, sharpziplibel már simán megette (lehet nem véletlen, hogy szinte minden C# programnál ott figyel a sharpziplib dll), minden byte stimmel dekódolás, kicsomagolás után. De a Java-s stringet még mindig nem sikerült olvasni. Ha nyomok C# binaryreaderben egy readString()-et, akkor az eredmény semmi, még hibaüzenet sem. Ugyan ez readcharnál. Csak byteot olvasva jön ki értékelhető.
Java-ban writeUTF()-el van írva a fájlban, és persze readUTF()-el olvasható is.Olvastam róla hogy más az endianossága a c#-és a java-nak, de endianváltó libet is töltöttem, azzal se lehet byteon kívül mást olvasni, hogy legyen valami :\
-
sztanozs
veterán
byte vs sbyte - a C# mindenhol byte-tal számol az sbyte csak speciális helyekre kell. De ha a Java tényleg signed byte-ot ad vissza (-128 - 127), akkor persze ezzel mókolni kell (de ez ugye csak reprezentáció - egy fájlba/stream-be mindegy, hogy byte-ként vagy sbyte ként írsz, a végeredmény ugyanaz lesz.
másrészt nekem úgy rémlik, hogy a GZip nem ZLib kompatibilis, nem is csodálkozom, hogy hibát dob.
A deflate pedig csak raw deflate bytestream-re használható, a headereket le kell vágni.ZIP-re külső csomagokat érdemes használni: [link]
-
togvau
senior tag
Na most van valami siker, de már úgy megkavarodtam, hogy azt sem tudom hol vagyok. Szóval az egyik fő probléma az lehetett, hogy a java kódból másolt byte tömböt byte-ként deklaráltam és kezeltem, pedig a java byte-ja a C# sbyte-jának felel meg.
Na a lényeg, hogy ha kiíratom az első dekódolt 32 byteot javaban, és C#-ban, akkor stimmel mindegyik.De ezután kéne jönnie egy kicsomagolásnak Zlib alapon, ami nem megy, mert "An unhandled exception of type 'System.IO.InvalidDataException' occurred in System.dll
Additional information: The magic number in GZip header is not correct. Make sure you are passing in a GZip stream."Java-ban InflaterInputStream-en megy keresztül ami az Inflater() kicsomagolót használja, C#-nál a GZipStream-en menne át ha menne, mert elvileg a zlib, gzip, pkzip kompatibilis egymással.
A javas inflater dokumentációban viszont van egy ilyen: "If the parameter 'nowrap' is true then the ZLIB header and checksum fields will not be used. This provides compatibility with the compression format used by both GZIP and PKZIP. "Gondolom ezért C#-ban pár byteot ki kéne hagyni... de hol és mennyit...
Viszont van már DeflateStream is a .net-ben, ami full Zlib kompatibilis. Ez már más hibát ír ki "An unhandled exception of type 'System.IO.InvalidDataException' occurred in System.dll
Additional information: Block length does not match with its complement." akár akkor is ha egy ReadByte()-ot nyomok -
sztanozs
veterán
Próbáld meg az AES-t (vagy AESManaged-et) használni a Rijndael helyett, és úgy felkonfigurálni, ahogy a példában van.
Ráadásul a Java-s megoldás nem közvetlenül a key-t használja, hanem egy abból derivált (PBKDF2WithHmacSHA1) kulcsot, amihez kell salt is:int iterations = 128;
Rfc2898DeriveBytes rfc2898 = new Rfc2898DeriveBytes(enc_key, salt, iterations);
byte[] key = rfc2898.GetBytes(32);Ezt próbáld meg illeszteni a kódodhoz.
-
togvau
senior tag
Megnéztem. Keysize-ok stimmelnek. De elkezdtem ellenőrizgetni a keyeket.
Amíg sima byte[]-ban van a key, addig stimmel a C#-os a Javassal, de miutánRijndael rijAlg = Rijndael.Create();
rijAlg.Key = Key;
majd egyforeach (var b in rijAlg.Key)
{
sb.Append(String.Format("{0:x2} ", b));
}
System.Console.WriteLine(sb.ToString());Itt már tökmás a végeredmény... Ez hogy lehet?
-
sztanozs
veterán
-
togvau
senior tag
Valamennyire használható, de így sem dekódolja rendesen amit kéne.
Java-ban amiben működik a dekódolás ilyen a beállítása a dekódolónak:
AlgorithmParameterSpec paramSpec = new IvParameterSpec(iv);
try
{
PBEKey key = (PBEKey)
SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1").generateSecret(new PBEKeySpec(new
String(kulcsbytearr).toCharArray(), salt, 7, 128));
SecretKey encKey = new SecretKeySpec(key.getEncoded(), "AES");
dcipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
dcipher.init(Cipher.DECRYPT_MODE, encKey, paramSpec);C# nem tudom mi ennek a secretkeynek a megfelelője, szóval java-ból kihoztam a végső kulcsot az enckey-ből.
static Stream DecryptStream(Stream cipheredStream, byte[] Key, byte[] IV)
{
// Check arguments.
if (cipheredStream == null/* || cipherText.Length <= 0*/)
throw new ArgumentNullException("cipherText");
if (Key == null || Key.Length <= 0)
throw new ArgumentNullException("Key");
if (IV == null || IV.Length <= 0)
throw new ArgumentNullException("IV");
Rijndael rijAlg = Rijndael.Create();
rijAlg.Key = Key;
rijAlg.IV = IV;
rijAlg.Mode = CipherMode.CBC;
//rijAlg.Padding = PaddingMode.PKCS7;
rijAlg.KeySize = 128;
ICryptoTransform decryptor = rijAlg.CreateDecryptor(rijAlg.Key, rijAlg.IV);
return new CryptoStream(cipheredStream, decryptor, CryptoStreamMode.Read);
}De nem stimmel a dekódolt anyag. Ilyen PKCS5 nincs is a C#-ban, csak 7
-
tboy93
nagyúr
Köszi a tippet, sikerült megoldani

public double Usd
{
get { return usd; }
set
{
CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
usd = value;
RaisePropertyChanged("Usd");
}
);
}
}Más kérdés, hogy az UWP app-al pont azt nem tudom megvalósítani, ami kéne, mégpedig hogy folyamatosan látszódjon a kis appom minden más felett a sarokban. Nincs
topmostfunkció mint a WPF-ben
-
sztanozs
veterán
Itt is van: CryptoStream, még példa is van a cikk alján.
-
Froclee
őstag
-
togvau
senior tag
-
Froclee
őstag
-
togvau
senior tag
Kezdő C#-osként egy URL-ről streamként olvasott fájlt kéne dekódolnom, ami AES 128bit kódolású.
Eddig ennyi, oda a ConvertToStream köré kéne a dekódolás.
var reader = new BinaryReader(new GZipStream(ConvertToStream(DB), CompressionMode.Decompress));Java-ban van olyan, hogy "CipherInputStream", és ott elég egyszerű. De itt hogy?
-
tboy93
nagyúr
-
Froclee
őstag
-
tboy93
nagyúr
-
Froclee
őstag
Task.Run-ban 99%ban nem szabad semmit wrappelni. (+ link) Pláne hogy mégcsak async-á se tetted.

var currencies = await Service.CurrencyService.GetListAsync(); // naming convention: async metódus async-ra végződik
if (currencies != null)
{
foreach (Model.Currency curr in currencies)
{
if (curr.Name == "USD") this.Usd = curr.Value;
if (curr.Name == "EUR") this.Eur = curr.Value;
if (curr.Name == "GBP") this.Gbp = curr.Value;
}
}Ez hol hal meg? RaisePropertyChanged dob exceptiont? Illetve fingom sincs UWP-ban hogy van a szálkezelés, de tudtommal, ha UI controlt akarsz frissíteni másik threadről nem árt Dispatcher-t használni.
-
tboy93
nagyúr
No, kicsit átalakítottam.
private async Task GetExchangeRates()
{
await Task.Run(() =>
{
Task<List<Model.Currency>> task = Service.CurrencyService.GetList();
task.Wait();
var currencies = task.Result;
if (currencies != null)
{
foreach (Model.Currency curr in currencies)
{
if (curr.Name == "USD") this.Usd = curr.Value;
if (curr.Name == "EUR") this.Eur = curr.Value;
if (curr.Name == "GBP") this.Gbp = curr.Value;
}
}
});
}Viszont amire nem számítottam, hogy összeakad itt a
RaisePropertyChange-el:public double Usd
{
get { return usd; }
set
{
usd = value;
RaisePropertyChanged("Usd");
}
}Aszongya:
An exception of type 'System.Runtime.InteropServices.COMException' occurred in System.Runtime.WindowsRuntime.dll but was not handled in user codeAdditional information: Az alkalmazás olyan objektumfelületet hívott, amely egy másik szálhoz volt rendelve. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))
-
tboy93
nagyúr
Valóban kaptam exceptiont
Átírtam Double-re most hipp-hopp, így már a GetList() visszaadja azt a listát amit kell, viszont a GetExchangeRates()-el még mindig nem jó valami, mert kék képernyővel kiakad az app. Ha atask.Wait()-től kikommentezek mindent akkor elindul, csak úgy nem sok értelme van
-
Froclee
őstag
Az
if (x.Attributes.Item(1).InnerText == "USD")után tennék a helyedben egy entert és a breakpointot acurrList.Add(new Model.Currency { Name = "USD", Value = int.Parse(x.InnerText) });sorba tenném. Ha beakadt a breakpoint nyomj egy F10-et és kapni fogsz egy exceptiont.
"a Model.Currency Value értéke integer, nincs szükséges a tört részre"
Akkor ügyesen parse-old.
-
tboy93
nagyúr
Rendben, átírtam var-ra, így jobban olvasható.
Most így néz ki a két függvényem:
GetList()
public static async Task<List<Model.Currency>> GetList()
{
List<Model.Currency> currList = new List<Model.Currency>();
var client = new MNBService.MNBArfolyamServiceSoapClient();
var eRatesRequestBody = new MNBService.GetCurrentExchangeRatesRequestBody();
var eRatesResponseBody = await client.GetCurrentExchangeRatesAsync(eRatesRequestBody);
var result = eRatesResponseBody.GetCurrentExchangeRatesResponse1.GetCurrentExchangeRatesResult;
XmlDocument eRatesDoc = new XmlDocument();
eRatesDoc.LoadXml(result);
XmlNode rootNode = eRatesDoc.FirstChild;
XmlNode dayNode = rootNode.FirstChild;
foreach (XmlNode x in dayNode.ChildNodes)
{
if (x.Attributes.Item(1).InnerText == "USD") currList.Add(new Model.Currency { Name = "USD", Value = int.Parse(x.InnerText) });
if (x.Attributes.Item(1).InnerText == "EUR") currList.Add(new Model.Currency { Name = "EUR", Value = int.Parse(x.InnerText) });
if (x.Attributes.Item(1).InnerText == "GBP") currList.Add(new Model.Currency { Name = "GBP", Value = int.Parse(x.InnerText) });
}
await client.CloseAsync();
return currList;
}GetExchangeRates()
private void GetExchangeRates()
{
Task<List<Model.Currency>> task = Service.CurrencyService.GetList();
task.Wait();
var currencies = task.Result;
if(currencies != null)
{
foreach (Model.Currency curr in currencies)
{
if (curr.Name == "USD") this.Usd = curr.Value;
if (curr.Name == "EUR") this.Eur = curr.Value;
if (curr.Name == "GBP") this.Gbp = curr.Value;
}
}
}Ezzel így, konkrétan nem tölt be az alkalmazás.
Használok brakpointokat, a
task-nál ezzel szembesülök:Result = "{Not yet computed}"Értem, hogy nincs még meg az adat, csak ezt hogyan kezeljem?

És köszönöm mindenkinek a segítséget!
ui.: a Model.Currency Value értéke integer, nincs szükséges a tört részre
-
tboy93
nagyúr
-
Froclee
őstag
Nekem lefut kicsit átalakítva.
1.) Nem int.Parse hanem double.Parse kell.
2.) Ahogy martonx írta, olvashatóság miatt inkább var-t használj.
3.) Illetve ezt kellett még átalakítani:var eRatesRequestBody = new ServiceReference1.GetCurrentExchangeRatesRequestBody();
var eRatesResponseBody = await client.GetCurrentExchangeRatesAsync(eRatesRequestBody);
var resultAsString = eRatesResponseBody.GetCurrentExchangeRatesResponse1.GetCurrentExchangeRatesResult;
XmlDocument eRatesDoc = new XmlDocument();
eRatesDoc.LoadXml(resultAsString);GetCurrentExchangeRatesAsync visszatérési értéke GetCurrentExchangeRatesResponse, nálad pedig ResponseBody.
De egyébként debuggert nem használsz?

-
martonx
veterán
-
tboy93
nagyúr
Sziasztok!
Adott az MNB webservice, amin keresztül az árfolyamokat szeretném lekérni. WPF appban simán ment, viszont UWP alkalmazásban valahogy async kéne ezt megoldani és sehogy sem jutok dűlőre vele. Hogyan kéne kijavítanom az alábbi függvényt, hogy jól működjön?
public static async Task<List<Model.Currency>> GetList()
{
List<Model.Currency> currList = new List<Model.Currency>();
MNBService.MNBArfolyamServiceSoapClient client = new MNBService.MNBArfolyamServiceSoapClient();
MNBService.GetCurrentExchangeRatesRequestBody eRatesRequestBody = new MNBService.GetCurrentExchangeRatesRequestBody();
MNBService.GetCurrentExchangeRatesResponseBody eRatesResponseBody = await client.GetCurrentExchangeRatesAsync(eRatesRequestBody);
string eratesResp = eRatesResponseBody.GetCurrentExchangeRatesResult;
XmlDocument eRatesDoc = new XmlDocument();
eRatesDoc.LoadXml(eratesResp);
XmlNode rootNode = eRatesDoc.FirstChild;
XmlNode dayNode = rootNode.FirstChild;
foreach (XmlNode x in dayNode.ChildNodes)
{
if (x.Attributes.Item(1).InnerText == "USD") currList.Add(new Model.Currency { Name = "USD", Value = int.Parse(x.InnerText) });
if (x.Attributes.Item(1).InnerText == "EUR") currList.Add(new Model.Currency { Name = "EUR", Value = int.Parse(x.InnerText) });
if (x.Attributes.Item(1).InnerText == "GBP") currList.Add(new Model.Currency { Name = "GBP", Value = int.Parse(x.InnerText) });
}
await client.CloseAsync();
return currList;
} -
szoke12
őstag
Az eddigi gondjaimat sikerült orvosolni, nagyon köszönöm! Most az lenne a kérésem, hogy hogyan tudok egy olyan toolbart készíteni, ami minden usercontrol esetén megfelelően viselkedik. Szóval van egy usercontrol, és amikor abban dolgozok, akkor a toolbar elmei arra a usercontrolra vonatkozó metódusokat hívják meg, amikor egy másikban, akkor pedig azokat.
Nem feltétlen kódrészekre lennék elsőkörben kíváncsi, inkább arra hogy ezt logikailag hogyan képzeljem el. -
eddie17
addikt
-
szoke12
őstag
-
MeghaL0L
addikt
-
Froclee
őstag
Mi az hogy éles? Miért nem csinálsz valami kis saját gyakorló projektet pl githubon? Mondjuk valami eCommerce alkalmazás microservice-ekkel, ott aztán mindent tudsz gyakorolni.
Docker, SPA frontend, backend, ORM stb. Microsoft-é jó kiinduló pont lehet.Hogyha úgy érzed ez nem menne, akkor csinálhatsz csak egy szimpla MVC projektet is, az is tök jó gyakorlás.
-
eddie17
addikt
Sziasztok!
Most tanulok szoftverfejlesztőnek és természetesen a fő csapásirány a C#.
Mivel előtte én nem foglalkoztam ezzel ezért nincs tapasztalatom benne, viszont szeretnék!
Nem tudom jó helyen írok, hogy bárki dolgozik olyan projekten amibe be lehet csatlakozni és tapasztalatot szerezni az szóljon!
Egy a lényeg nekem, hogy élesben is tudjak foglalkozni vele!
Privátban elértek ha adódna ilyen alkalom, amolyan "laborgyakorlat" címen.
-
MeghaL0L
addikt
-
sztanozs
veterán
-
MeghaL0L
addikt
Természetesen csak ezzel dolgozom!
Komplett hülyeségnek tartom állandóan törölni és újrahúzni a listát. Sajnos nem működik rendesen. Eleve probléma volt az elején, hogy ki sem nyílt (amint letekertem a listát majd vissza, akkor pedig már nyitva volt).Aztán ForceUpdateSize(); meghívásával ez megoldódott, viszont rohadt igénytelennek hat a az animáció iOS-en. Természetesen Androidon ez sem kellett.
Van baj ezzel az iOS-el bőven. De köszönöm neked, hogy utánanéztél.
Tudom egyébként mindenkinek ajánlani a Xamarin.Forms-ot, ilyen kisebb gyerekbetegségeitől eltekintve nagyon jó cucc. Szinte bármilyen utólagos munka nélkül képes ugyan úgy funkcionálni 4 platformon ez egyszem' kód!
(Android,iOS,WP,UWP) -
sztanozs
veterán
Ennyit találtam neked:
http://www.telerik.com/forums/custom-cell-with-image-stutters-when-scrolling-on-android
Bár kicsit régi a thread, lehet, hogy ez is egy 'known limitation' még iOS-en.Amúgy add/remove helyett ezzel is kipróbáltad:
INotifyPropertyChanged, ezzel is csinálja ezt az "összeomlasztást"?Ezt találtam még neked: [link]
- Avoid changing the cell layout based on the BindingContext. This incurs large layout and initialization costs.Custom Renderer: [link]
-
MeghaL0L
addikt
Igazából pitiáner dolognak látszódó dologról lenne szó (amire nem találok megoldást már 1 hónapja). A problémám a listview-val van. Expander listview, tehát van egy úgymond fejléce és arra tappolva jelenik meg a hozzá tartozó content majd újra tappra bezárul. Androidon tökéletesen működik, iOS-en képtelen normálisan lerenderelni a ViewCell méretváltozását és vibrálva jelenik meg. Értsd: Tappolás után lenyílik a content helye (felveszi a megfelelő méretet a ViewCell), ekkor a content elvan csúszva és amikor az "animáció" befejeződött és a ViewCell felvette a méretét akkor teszi bele a tartalmat, tehát amikor teljesen kinyílt. Ez ad vibráló hatást, ami nagyon zavaró. Androidon tökéletes. Gyakorlatilag ott ilyen lenyíló animáció sincs, csak megjelenik a tartalom minden sallang nélkül.
Itt pedig a teljes videót megnézhetitek, mi a pontos baj. Az iOS-re figyeljetek, hogy nyitogatja és zárja. Egy ilyen megoldást pl Én nem adnék ki a kezeim közül, pláne ne a storeok-ba: Expandable ListView in Xamarin Forms
-
sztanozs
veterán
-
Froclee
őstag
1. )Nagyon rosszak a naming conventionök. Mi az hogy z? Mi az hogy Kerdezo?
2.) Igen, a flow így nem igazán jó. Aszinkron lett, viszont szinkronnak kell lennie. Fontos, hogy a Show() után ne menjen tovább a kód.
a.)
public void ExecuteWhateverLogicOnZ(int z)
{
var dialogResult = new Kerdezo().ShowDialog();
//kezdj valamit a result-tal. lényeg hogy addig ne folytatódjon a kód amíg nincs eredménye a kérdezőnek.
}b.)
public void ExecuteWhateverLogicOnZ(int z)
{
if (z == 0)
{
new Kerdezo(this).Show();
return; //egyből kilépsz a metódusból
}
// more code here
}public class Kerdezo : Form
{
private OriginalForm _originalForm;
public Kerdezo (OriginalForm originalForm)
{
_originalForm = originalForm;
}
private void Form1_FormClosing(object sender, EventArgs e) //arra az eventre iratkozz fel amikor a z módosul
{
var result = sender as WhateverResult;
_originalForm.ExecuteWhateverLogicOnZ(result.Valasz);
}
} -
szoke12
őstag
Szia!
Köszönöm a választ! A kódomból ennyit érint a dolog:if (z == 0)
{
new Kerdezo().Show();
switch (z)
{
case 0: break;
case 1:
string ment;
ment = objKabel.attr3;
objKabel.attr3 = objKabel.attr4;
objKabel.attr4 = ment;
break;
case 3: break;
case 4:
objKabels.Clear();
return objKabels;
}
}
if (z == 2)
{
string ment;
ment = objKabel.attr3;
objKabel.attr3 = objKabel.attr4;
objKabel.attr4 = ment;
}Az program elején a deklarálom a z-t 0 értékkel. És egy felugró ablakban (Kerdezo) szeretném eldönteni, mennyi az értéke. Ugyanis az ablakban 4 lehetőségből kell választani, és annak fényében módosul a z. Itt pedig aszerint futna tovább a program hogy mennyi a z. Ha z=1 akkor javít egy bejegyzést, és utána megint lefut ez az egész ciklus és megint megkérdezi, hogy javítsa-e a következőt. Ha z=2, akkor mindet javítja automatikusan, ha 3, akkor azt az egyet kihagyja, de a többit megint megkérdezi, ha 4, akkor pedig kilép a metódusból.
Talán nem a legszebb megoldást választottam ehhez, de még csak gyakorolgatok.
És nekem az kéne, hogy a ciklus ne fusson tovább a switch-re, Hanem várja meg, amíg a Kerdezo bezárul.
De hogy a Kerdezo-ből hogy kapom meg az adatokat, meg hogy az hogyan változtatja a Usercontrol z-jét, még annak utánaolvasok.... -
Froclee
őstag
"Az lenne a célom, hogy amikor fut a program, akkor addig várjon egy ponton, amíg az egyik változó értéke meg nem változik."
Nem szívesen mondanám el, mert ha ilyet kell csinálnod, 90% hogy rossz az alkalmazás design-ja. Ha raksz be pár code snippetet (az egész is mehet pastebin.com-ra) akár tudunk segíteni, hogyan lehetne ezt normálisan.
-
szoke12
őstag
Köszönöm!
Mit jelent az, hogy castolni?Illetve újabb gondba ütköztem. Nem tudom, hogy kell használni a wait-ot. Próbáltam utánaolvasni, és néhány tesztet is csináltam, de megy tovább.

Az lenne a célom, hogy amikor fut a program, akkor addig várjon egy ponton, amíg az egyik változó értéke meg nem változik. Amit egy felugró ablakban változtatok meg.
Bár egyszerűbb lenne külön saját ablakot írnom, és azt meghívni, csak azt meg wpf-ben nem jöttem rá hogy kell. Illetve az ottani adatok elérésével vagyok bajban.
Bocsi, nagyon kezdő vagyok. -
MeghaL0L
addikt
Sziasztok.
Lenne itt esetleg olyan, aki kicsit otthon van a Xamarin.Forms-ba? Sajnos halott (ill inkább nincs) a topic ami ebben a témában mozog.
Köszi!

-
Raftsman
csendes tag
-
szoke12
őstag
Sziasztok!
Keresgéltem a témában, de nem jutottam még megoldásra. A problémám, hogy a programomban van 3 usercontrol, és a főablakból szeretnék lefuttatni egy metódust az egyik controlban. Odáig eljutottam, hogy meghívjam, de megáll a futás és azt az üzenetet kapom, hogy "Az objektumhivatkozás nincs beállítva egyetlen objektumpéldányra sem."
A controlokat párhuzamosan hívom meg és egyszerre dolgozok bennük, és szeretnék mentést készíteni a pillanatnyi tartalmukból. A KablistaControl tartalmazza az ExportToCsv() metódust, ami egy lista elemeit kiírja egy csv fájlba. Ha a controlon belül hívom meg, minden rendben, elkészül a file, de ha a főablakból, akkor hiába van addigra feltöltve a lista, nem akarja. Mit csinálok rosszul?A meghívás:
(this.Parent as KablistaControl).ExportToCsv();
-
summers
tag
-
Domonkos
addikt
Ez majdnem egy az egyben az utazo ugynok problema - nincs ra polinomialis ideju algoritmus.
Ha megis talalnal, akkor kuldj privatot - nagyon sok penzt fizetek erte
Brute force modszerrel meg nem erdemes elindulnod mert ~4840000000000000000000000000000000000000000000000000000 Joule energiara lesz szukseged hozza 70 ponthoz... Ez pedig sok. Ertelmes kozelitest viszont adhatsz.
-
summers
tag
Köszönöm a válaszokat! Igazából nem is kell az összes sorrendet kiírnia, csak azt az egyet amelyikhez a legrövidebb út tartozik minden pontot érintve. A permutáción akadtam el, hogy hogy lehetne C#-ban megírni. Meg az, hogy lehetne e alkalmazni pl. 70 pontra.
-
Domonkos
addikt
Koszonom, ezzel tisztaban vagyok.
Par rovid merest elvegezve ezek jottek ki nalam. 10-10 futas atlagolva:
Kiiras terminalba (kis bufferrel): 2.291s
Kiiras terminalba (megfeleloen bufferelve): .592s
Kiiras normal fileba, SSD-re: .157s
Kiiras a /dev/null-ba: .146s
A programot ujraforditva, a kiiras reszt elhagyva: .017s (!!!)Ebbol jol latszik, hogy itt nem a permutalgatason fog elmenni az ido. Az utolso tesztbol pedig az, hogy a program idejenek csupan az 1/8 resze a "lenyegi resz". A maradek idot a kiiras is a kiiras formazasa viszi el. Szoval annyival egeszitenem ki, hogy persze nem mindegy, hogy hova irod, de az sem mindegy, hogy egyaltalan kiirsz-e valamit
Egy ugyanakkora nagysagrendet meg tudsz sporolni azzal is, ha teljesen elhagyod a kiiratast, mint amilyet akkor, amikor lassu outputrol gyorsra valtasz 
Aki nem hiszi, implementalja utanam
Szerk: Annyit hozzatennek, hogy a kiiras elhagyasakor otletem sincs, hogy a fordito pontosan milyen ordogi optimalizaciokat eszkozolt, amit akkor nem tett, amikor siman kiirattam. Ennek kideriteset kicsit kesobbre hagyom. Amit az ugy erdekeben tettem, hogy argv-bol olvastam az inputot es abba az agba amit kiirataskor el lehetett hagyni raktam egy szamlalot. Igy talan nem optimalizal annyit - de ennel jobban nem melyedtem bele...
-
emvy
félisten
-
Domonkos
addikt
A futasido a tomb meretevel valoban !-os aranyban lesz, viszont ezt valahogy el is varna az ember, leven hogy pont ugyanennyi outputot szeretne. A jo dolog viszont az, hogy normalis implementacio mellett, 10 elemre ez szinte semmi. Gyors implementalva a 3628800 sor kiiratasahoz nem kell .5s-nel tobb ido; ha pedig elhagyom a kiiratast, akkor .2s alatt vegez az osszes permutacioval. Kulcsszo a melysegi bejaras / backtrack.
Es a memoria miatt sem kell aggodni... -
emvy
félisten
-
tboy93
nagyúr
-
summers
tag
Ha van egy x,y,z koordináta rendszerben pl. 10 pontod, melyik a legrövidebb út, amelyikkel mindegyik pontot érintheted. Arra gondoltam, hogy sorba rendezni minden lehetőség szerint, minden sorrendnél összeadni a pontok közötti távolságot, ezzel megkapnám a teljes út hosszát az adott sorrendben, ezután pedig kiválasztani a legkisebbet az összes sorrend közül. Csak az egyszerűség kedvéért írtam a tömb tartalmára 1-10-ig számokat. A módszer lenne a lényeg, amivel sorba lehetne rendezni minden lehetőség szerint a tömböt.
-
Froclee
őstag
-
tboy93
nagyúr
-
summers
tag
Sziasztok!
Valaki tudna esetleg megoldást egy tömb elemeinek minden lehetséges sorrendben való kiírására? Mondjuk van egy 10-es tömb amit feltöltünk 1-10-ig számmal, két tömb nem tartalmazhat ugyanolyan számot, és minden lehetséges sorrendben írja ki a program.
-
valyogvisko
csendes tag
Ez jól hangzik, de magát az xml-t nem én írom, én csak keresek benne/bennük. De majd akkor szerkesztgetem kicsit, köszi.
-
sztanozs
veterán
XML nem törődik a sortöréssel. De ha mindenképp azonos kell, akkor rakd bele CDATA szekcióba , vagy rakj a sor végére értelmezhető/kicserélhető sorvége szekvenciát (pl. \r\n).
-
valyogvisko
csendes tag
Ehh, szerkeszteni már nem tudom, de a második részét megoldottam, csak az érdekelne, hogyan lehetne a note-okat korrektül megjeleníteni, köszi.
-
valyogvisko
csendes tag
Királyság, mondtam hülye vagyok, így működik

Köszi.
Mint kiderült, van még mit finomítani a megjelenítésen, példán keresztül egyszerűbb:
itt egy példaxml:

Ebből keresésnél ez lesz (noveny1,2,3):

Amit én szeretnék, az két dolog:
- "vigye át" az entert a megjelenítésbe (Wordpad, Notepad++ tudja, ez meg nem foglalkozik vele)
- új keresésnél legyen megint üres a listview, bár ezt talán én is meg tudom oldani, ha goyrsan megy, inkább megkérdezem itt
Ezek (főleg az első) hogyan oldhatóak meg?
Előre is köszi.
-
Froclee
őstag
Az emlitett sort a metoduson kivulre rakd, ne belulre.
-
valyogvisko
csendes tag
Köszi a választ.
Lehet, hogy ez jó megoldás, viszont szül egyéb problémákat (az alatta lévő sor definíciója innentől nem jó, az utána következő buttonöket nem ismeri fel, etc) Mint mondtam, meglehetősen friss vagyok még a témában - részleteznéd egy kicsit pontosabban, milyen egyéb módosításokkal jár még ez?
-
BTminishop
aktív tag
Globális változó kell, hogy legyen az XML példányosításod.
private XmlDocument doc = new XmlDocument(); -
MATEO6600
őstag
-
valyogvisko
csendes tag
Sziasztok,
volna egy (valószínűleg számotokra primitív) kérdésem, kérnék némi segítséget: szeretnék egy progit írni, ami megnyit egy xml fájlt, és tudok benne keresni és kilistázni dolgokat.
A lényeges rész így néz ki:
private void openButton_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "XML|*.xml";
if (ofd.ShowDialog() == DialogResult.OK)
{
XmlDocument doc = new XmlDocument();
doc.Load(ofd.FileName);
}
}
private void searchButton1_Click(object sender, EventArgs e)
{
if (searchInput1.Text != null && searchInput1.Text.Length >= 3)
{
foreach (XmlNode node in doc.DocumentElement)
{
string name = node.Attributes[0].InnerText;
if (name == searchInput1.Text)
{
foreach (XmlNode child in node.ChildNodes)
{
listView1.Items.Add(child.InnerText);
}
}
}
}
else
{
MessageBox.Show("Invalid Input");
searchInput1.Text = string.Empty;
searchInput1.Focus();
}
}Alapvetően minden jó, kivéve a "doc.DocumentElement" részt, mert egy olyan doc-ra hivatkozom, ami ott, abban a private részben nem létezik (lévén hogy egy szintén private részben nyitottam meg, ha jól értem a problémát). Amit én szeretnék, hogy az "openButton" úgy nyissa meg az xml-t, hogy az mindenhol a későbbiekben "látható" legyen. Maga a progi minden használatkor egyetlen xml-t fog megnyitni, tehát biztos hogy lehetne valahogy egyszerű módon megoldani a gondot, de nem minden használatkor ugyanazt, ezért én nem tudom, hogyan kellene

Kérlek nézzétek el nekem a nem megfelelő szóhasználatot, 3 napja láttam először C# kódot, bőven van még mit tanulnom belőle, szóval ha lehet akkor tételezzünk fel határtalan intelligenciát és nagyon kevés tárgyi tudást
Köszönöm.
-
kispx
addikt
C++ topikban több szerencsével járnál.
De azért itt hagyom Stroustrup ajánlását. -
MATEO6600
őstag
Én lennék a legboldogabb ember ha igazad lenne.
De sajnos rengeteg helyen nyomják még ezeket a nyelveket.
Én pl img processing területén vagyok nagyon jártas, azt viszont a legritkább esetekben csinálják C# alatt, túlnyomórészt a C++ dominál, ezért is lenne szükségem a C++ tudásra ha el szeretnék helyezkedni benne.
Az általad felsorolt elmélettel tisztában vagyok. -
Goose-T
veterán
Semmire sem mennél vele, tök fölösleges ma már C-t és C++-t tanulni. Van még pár terület, ahol hasznos lehet, de ez a programozói munkaerőpiac kb. 1%-a. Inkább tanulj elméletet, sokkal többre mész vele. Ezeknek nézz utána első körben: Clean code, GoF patterns, SOLID.
-
MATEO6600
őstag
Hi!
Adott egy komoly és alapos C# tudás, viszont C++ és C-ből teljesen 0-án állok, és szeretném megtanulni ezt a 2 nyelvet is.
Tudnátok nekem valami javasolt könyvet / weboldalt / pluralsight tutorialt adni, aminek érdemes nekiállnom?
Rengeteg oktató anyag van, de általában 0 programozási tudásról indítanak, viszont nekem itt van a C# tudásom. -
tboy93
nagyúr
-
martonx
veterán
-
tboy93
nagyúr
-
-Bálint.
csendes tag
Oké, bocsi.

-
BTminishop
aktív tag
-
-Bálint.
csendes tag
Ez, hogy a "másik form referenciája kell" sokat segített. Utánanéztem, hogy ez pontosan mit is jelent, és sikerült. Köszönöm
(Átírtam a konstruktorokat.)
Azt meg rosszul gondoltam, hogy származtatás esetén nem fognak öröklődni a kontrollerek, mert ez így normális hogy azok is öröklődnek. -
sztanozs
veterán
-
-Bálint.
csendes tag
Az eredeti gyakorló feladatban azért származtattam, hogy egy tömböt (List<T> típusút) a Form2-ben is feltudjak tölteni, ne csak a Form1-ben. Biztos, hogy kell tudni a származtatást, mert az órán is vettük. Augusztus végi vizsgára készülök. Ezzel a projekttel szórakozok egyébként. Fut, de elfogadhatatlan a kinézete a Form2-nek.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections;namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public List<Ceg> cegek = new List<Ceg>();public Form1()
{
InitializeComponent();
}private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
textBox1.Text = dateTimePicker1.Value.DayOfWeek.ToString();
}private void button1_Click(object sender, EventArgs e)
{//try
//{
//StreamReader str = new StreamReader("C:\\Users\\Katalin\\Letöltések\\cégtár.txt");
StreamReader str = new StreamReader(@"..\..\..\cégtár.txt");while (!str.EndOfStream)
{
Ceg c = new Ceg();
string[] adatok = str.ReadLine().Split(';');
c.Nev = adatok[0];
c.Hely = adatok[1];
c.Dbtelep = int.Parse(adatok[2]);
c.Irszam = adatok[3];
c.Szam = adatok[4];
c.Bejegyzes = DateTime.Parse(adatok[5]);
cegek.Add(c);
gyujto.Items.Add(c.Nev);}
str.Close();
//}
//catch //(FileNotFoundException fnfe)
//{
// MessageBox.Show("Elkaptalak.");
//}
errorProvider1.SetError(button1, "Próba");
}private void textBox2_Leave(object sender, EventArgs e)
{
StreamWriter w = new StreamWriter(@"..\..\..\kiírtttt.txt", false);
//for (int i = 0; i < 5; ++i)
//{
// string a, b, p, d, f, g;
// a = cegek[0].ToString();
// b = cegek[1].ToString();
// p = cegek[2].ToString();
// d = cegek[3].ToString();
// f = cegek[4].ToString();
// g = cegek[5].ToString();// w.WriteLine(a + "; " + b + "; " + p + "; " + d + "; " + f + "; " + g);
//}foreach (Ceg koztes in cegek)
{
w.WriteLine(koztes.Nev + "; " + koztes.Hely + "; " + koztes.Dbtelep + "; " + koztes.Irszam + "; " + koztes.Szam + "; " + koztes.Bejegyzes);
}
w.Close();
}private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show(cegek[1].Nev.ToString());
}private void ujCegToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 ujceg = new Form2();
ujceg.Show();}
private void gyujto_SelectedIndexChanged(object sender, EventArgs e)
{
tbHely.Text = cegek[gyujto.SelectedIndex].Hely;
tbDbTelep.Text = cegek[gyujto.SelectedIndex].Dbtelep.ToString();
tbBejegyzes.Text = cegek[gyujto.SelectedIndex].Bejegyzes.ToString();
}}
}using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WindowsFormsApplication4
{
public partial class Form2 : Form1
{
public Form2()
{
InitializeComponent();
tbNev.Focus();
}private void button1_Click(object sender, EventArgs e)
{
Ceg d = new Ceg();
d.Nev = tbNev.Text;
d.Hely = tbHely.Text;
d.Dbtelep = int.Parse(tbDbTelep.Text);
d.Irszam = tbIrszam.Text;
d.Szam = tbSzam.Text;
d.Bejegyzes = DateTime.Parse(tbBejegyzes.Text);
cegek.Add(d);
DialogResult = DialogResult.OK;
}
}
} -
sztanozs
veterán
-
-Bálint.
csendes tag


Semmit nem csináltam, csak odaírtam a végére, hogy Form1, és bedöglött, jött a hiba a Design nézetben Form2-höz.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WindowsFormsApplication6
{
public partial class Form2 : Form1
{
public Form2()
{
InitializeComponent();
}
}
}Egy másik programot csináltam, amikor előjött a hiba, abban azért volt több minden, de arra rájöttem, hogy a hibát ez eredményezi, amit ide bemásoltam. Az is lehet, hogy beállítás, vagy hardver probléma van. (Lenovo B41, Windows 10 64 bit, intel proci, Visual Studio 2012) Ha tanórai verziót nyitok meg, ahol már van több form is, ott nincs probléma, és a kódban nem látok különbséget.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}Köszi a segítséget!

-
sztanozs
veterán
-
-Bálint.
csendes tag
Sziasztok!
Segítségre lenne szükségem.
Nem tudom helyesen megoldani az örökítést Visual Studioban. Csináltam két formot (Form1, Form2), és amikor a Form2.cs-ben a Form2 után kettősponttal beírom a Form1-et a Form2.cs[Design] nézet a következő hibával tér vissza:The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: Form2 --- The base class 'WindowsFormsApplication6.Form1' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
Ha teszek egy gombot Form1-re, és nyomok egy Clean Solutiont, majd utána egy Build Solutiont, akkor a Form2-őn is megjelenik a gomb egy kis lakattal a bal fölső csücskében. Semmit nem lehet vele csinálni, se mozdítani, se Click eljárást írni, semmit.
Miért van ez a hiba, miért jelenik meg a Form2-őn is a gomb?
-
amargo
addikt
-
martonx
veterán
-
martonx
veterán
-
Froclee
őstag
Múlt pénteken megjelent a .NET Core 2.
Nektek tapasztalatok a Core-ról? Van rajtunk kívül valaki, aki használja productionben?

-
amargo
addikt
Volt valami hír arról, hogy az MS korlátozza/lezárja a PCL-t? Van egy Sln-em, ami ilyeneket tartalmaz én most kaptam nem rég Windows8.1-re, de a Windows10-re is frissítést és azóta a Studio crashel folyton, amikor megnyitom az Sln-t. PCL projektekre tudtam beazonosítani a hibát.
Tud valaki ilyen problémáról másnál is?
ui nem csak nálam fordult elő, hanem akivel van egy közös projektünk, annál is. -
lord.lakli
őstag
-
martonx
veterán
Ha meg előre annyira nem ismert, akkor mehet nosql-el, bár az ismeretlen adat struktúrát nemcsak letarolni nehéz, de visszaolvasni is.
-
lord.lakli
őstag
-
szoke12
őstag
Elég speciális célra írom, tervrajzokból hámoz ki adatokat, és azokat szeretném egy-egy táblában megőrizni. Bár hajlok afele, hogy kiexportálom egy olyan állományba, amit vissza is tudok majd olvasni vele.
Entity-vel készítem, csak még annak se merültem mélységeibe. De lassacskán haladok. -
lord.lakli
őstag
-
Froclee
őstag
-
szoke12
őstag
Sziasztok!
C# WPF-ben programozgatok és szeretnék egy nagyobb programot írni.
A tervem az, hogy a program Futás közben egy adatbázisban hozna létre magának táblákat. A kérdésem az, hogy a létrejött táblákat később hogyan tudom kezelni. Hisz gondolom azokhoz is létre kéne hozni az entitásokat. vagy ez hogy működik? -
tboy93
nagyúr
-
martonx
veterán
-
tboy93
nagyúr
Új hozzászólás Aktív témák
-
7700 - 7601
10246 - 10001 10000 - 9901 9900 - 9801 9800 - 9701 9700 - 9601 9600 - 9501 9500 - 9401 9400 - 9301 9300 - 9201 9200 - 9101 9100 - 9001 9000 - 8901 8900 - 8801 8800 - 8701 8700 - 8601 8600 - 8501 8500 - 8401 8400 - 8301 8300 - 8201 8200 - 8101 8100 - 8001 8000 - 7901 7900 - 7801 7800 - 7701 7700 - 7601 7600 - 7501 7500 - 7401 7400 - 7301 7300 - 7201 7200 - 7101 7100 - 7001 7000 - 6901 6900 - 6801 6800 - 6701 6700 - 6601 6600 - 6501 6500 - 6401 6400 - 6301 6300 - 6201 6200 - 6101 6100 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - 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! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁ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!
- Honor 600 – kezes, kitartó, költséges
- Megújult mobilos felület, fórumos ráncfelvarrás a PROHARDVER! lapcsaládon
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- sziku69: Fűzzük össze a szavakat :)
- Anglia - élmények, tapasztalatok
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Autós topik
- Samsung kuponkunyeráló
- Mobilarena észrevételek, hibák, javaslatok
- Futás, futópályák
- További aktív témák...
- Apple iPhone 14 Plus 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 14 Plus 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 14 Pro 512GB, Kártyafüggetlen, 1 Év Garanciaval
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 13 mini 128GB 88% (1év Garancia)
- Acer Nitro 5 - 15,6"FHD IPS 144 Hz - i5 10300H - 8GB - 512GB - Win11 - GTX 1650 - MAGYAR
- AKCIÓ! LENOVO ThinkPad P15 Gen1 munkaállomás - i7 10850H 16GB DDR4 256GB SSD Quadro T1000 4GB W
- Azonnali készpénzes AMD Radeon RX 6000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- HP EliteDesk 800 G4 USDT,i3-8100, 8GB DDR4,256GB M2 SSD,WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Csak kérdőjelek jönnek akármelyik utf-et próbálom, esetleg 1-2 nem stimmelő karakter.











(Átírtam a konstruktorokat.)
