- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy A34 - plus size modell
- Új térképfunkciók érkeztek az Amazfit T-Rex 3-ba
- Google Pixel topik
- One mobilszolgáltatások
- Nem várt platformon a OnePlus Nord 5
- Google Pixel 9 Pro XL - hét szűk esztendő
- Milyen okostelefont vegyek?
- Elkészült és telepíthető az Android 16
- Xiaomi 14T Pro - teljes a család?
Új hozzászólás Aktív témák
-
dqdb
nagyúr
válasz
Peter Kiss #8596 üzenetére
Pedig nincsen szebb annál, amikor az SAP interfészen a mező neve egy rövidített német, egy rövidített angol és egy rövidített magyar szóból áll össze, és ezeket részeket az aláhúzás és kötőjel véletlenszerű kombinációja választja el
-
lord.lakli
őstag
válasz
Peter Kiss #8596 üzenetére
Szerintem a cégtől és területtől függ, de a legtöbb helyen helyesen az angolt használják. Vannak olyan szakterületek, ahol nem csak az angol a hivatalos tudományos nyelv, így miért kellene az angolhoz ragaszkodni? Tuti van olyan, ahol az orosz natív abc a megfelelő
-
Peter Kiss
őstag
válasz
lord.lakli #8595 üzenetére
Pedig nem ártana, akar a halál olasz, spanyol vagy egyéb nyelven konstruált szerkezetekben turkálni. Eddig én némettel találkoztam, 9 évig tanultam, nem kellene... Vagy az is rendben lenne, ha mondjuk oroszul natív abcvel menne?
-
lord.lakli
őstag
válasz
martonx #8593 üzenetére
Kódot szerintem nem minősíti az elnevezés, maximum a cég konvencióját mutatja. Több olyan terület van, ahol azért az angol változókkal rendesen meg kell szenvedni, mert a fejlesztő nem ismeri az adott terület szaknyelvét, hiába tud angolul. Ráadásul más világnyelvek esetében sem mindig követik az angolt mindig.
-
fatal`
titán
Kérdésem, hogy ezt nem lehet-e egy class-ba tenni, vagy valamibe, amivel ezt a szekvenciát szeretném megismételni? Nem is konkrét megoldást várok, hanem egy linket (olvasnivalót).
Nem néztem a kódot, de szerintem tedd ki egy függvénybe / metódusba.
A másik kérdésem, hogy a következő két változó nevezés használata célszerű-e? KilepoKerdesreAValasz és KilepoKerdesreAValaszKetto, mert a neve nem beszédes, ránézésre nem tudni (csak a változónevet nézve), hogy
- mi a különbség,
- a KilepoKerdesreAValaszKetto mit csinálEgy, kettő, három ... n semmiképpen sem ajánlott, csak ha egyértelmű, próbálj beszédesebb nevet adni nekik. És bár az iskolákban nem tanítják, de szerintem kerüld a magyar változónevek használatát.
Elnevezésekhez:
Naming Guidelines
C# Coding Standards -
I02S3F
addikt
Sziasztok!
Ez itt az első saját kútfőből származó programom (igen ez olyan egyszerű, mint egy vonalzó).
A 37. és a 47. sor között van egy "Kilép? Igen vagy nem" rész. Ezt megismétlem a 72. és a 82. sor között.
A C#-ból igen keveset tudok (mérnök infós levelezőn vagyok, elsős).
Kérdésem, hogy ezt nem lehet-e egy class-ba tenni, vagy valamibe, amivel ezt a szekvenciát szeretném megismételni? Nem is konkrét megoldást várok, hanem egy linket (olvasnivalót).
A másik kérdésem, hogy a következő két változó nevezés használata célszerű-e? KilepoKerdesreAValasz és KilepoKerdesreAValaszKetto, mert a neve nem beszédes, ránézésre nem tudni (csak a változónevet nézve), hogy
- mi a különbség,
- a KilepoKerdesreAValaszKetto mit csinálKözben olvasom azt is, hogy hogyan érdemes változót elnevezni. (Egy példát az iskolában is mutattak.)
-
joysefke
veterán
válasz
martonx #8580 üzenetére
Nem, azt még nem próbáltam ki.
Alapvetően én ezt az IFormFile-t akarom validálni, maga a model objektumom (Person) nem túl kritikus, annak a propertijeit az osztálydeklarációban dekoráltam [Required]-del, az a része működik és nekem egyelőre elég is.
Dobtam a mai próbálkozásomat (elnapoltam) a kontrollert visszaállítottam a naiv, nem túl alapos kézi validálásra. Jelenleg így néz ki, csak annyi a célja az IFormFile validálásnak, hogy figyelmetlenségből ne lehessen rossz formátumot feltölteni. Tudom, hogy a fájl kiterjesztése semmit nem jelent.
A Person egy ViewModel objektum és tárolja egy személy adatait illetve a képének a relatív útvonalát a wwwroot-hoz képest. Összesen kb 6-10 Person objektum lesz, ezek in-memory tárolódnak (és minden változás mentődik a diszkre). Ők nem userek, hanem csupán koszorúslányok-fiúk, a képük-nevük pedig a Weblapon fog virítani. Az admin egyszer konfigurálja őket a content-manager oldalon utána ezek úgy maradnak.
A dolog nincsen túlságosan kitesztelve, de működik.
[HttpPost] public IActionResult EditPerson(Person model, int id, IFormFile file)
{
// Text based informations (Person object) and IFormFile gets validated separatelly
// The expectation is to execute EditPerson if the Person is valid, even if IFormFile is missing or invalid
// Exceptions can only be raised bc of file IO errors. This should not break the method
// we collect the exceptions to log details later into ModelState
IList<Exception> exceptions = new List<Exception>();
if (id < 0 || store.Data.People.Length <= id) ModelState.AddModelError("", "Error: route variable \"id\" has invalid value");
if (model?.Title != "Groomsmen" && model?.Title != "Bridesmaid") ModelState.AddModelError("", "Http post request contains invalid title: must be \"Bridesmaid\" or \"Groomsmen\"");
if (ModelState.IsValid)
{ // Person object is valid and updates the ContentStore no matter the IFormFile state
store.Data.People[id] = model;
store.Update(store.Data.People);
} // IFormFile gets manually validated
if (file != null)
{
string name = file.FileName;
string ext = Path.GetExtension(file.FileName.ToLower());
if (1024 * 1024 < file.Length) ModelState.AddModelError("", "Error: A maximum image size of 1MB allowed");
if (ext != ".jpeg" && ext != ".jpg") ModelState.AddModelError("", "Error: JPEG file expected extension must be either *.jpeg or *.jpg");
if (ModelState.IsValid)
{
// currently no renaming and no protection against malicious IFileForm-s as file upload is not available for public
string newFileName = file.FileName;
string newFileFullPath = Path.Combine(webRoot, imageFolder, newFileName);
while (System.IO.File.Exists(newFileFullPath))
{
//gets a nice, short random file name in case of a filename conflict
newFileName = (DateTime.Now.Ticks % 1000).ToString() + ext;
newFileFullPath = Path.Combine(webRoot, imageFolder, newFileName);
}
try
{
using (FileStream fs = System.IO.File.Create(newFileFullPath))
{
file.CopyTo(fs);
fs.Flush();
// file path gets saved in cshtml friendly relative path
store.Data.People[id].PictureSrc = "/" + imageFolder + "/" + newFileName;
}
}
catch (Exception ex) { exceptions.Add(ex); }
}
if (0 < exceptions.Count)
{
ModelState.AddModelError("", "Error: Could not upload image");
foreach (var ex in exceptions) ModelState.AddModelError("", ex.Message);
}
else store.Update(store.Data.People);
}
if (ModelState.IsValid) return RedirectToAction(nameof(Index));
else
{ ViewBag.id = id;
return View(model);
}
} -
joysefke
veterán
válasz
petyus_ #8578 üzenetére
Nincsen, a doksi szerint azáltal, hogy nincsen rajta, nem is zártam ki, hogy érvényes legyen paraméterre:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/attributeusage
-
petyus_
senior tag
válasz
joysefke #8577 üzenetére
AttributeUsage attribute van az attribute-odon? Ott tudod megadni, hogy mire teheted rá. Most hirtelen nem tudom, mi a default, ha nem rakod rá.
Pl:
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
public class RangeAttribute : ValidationAttribute
{
} -
joysefke
veterán
válasz
martonx #8576 üzenetére
Ez is egy példakód volt...
Igen, a linkelt doksit olvastam, azóta megcsináltam ami benne van, továbbra sem működik.
ValidationAttribute-tal.
public class SizeAttribute : ValidationAttribute
{
private int size;
public SizeAttribute(int Size) => size = Size;
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
IFormFile file = validationContext.ObjectInstance as IFormFile;
if (size * 1024 < file.Length) return new ValidationResult($"A maximum image size of only {size}KB is allowed");
else return ValidationResult.Success;
}
}Itt az action method:
[HttpPost]
public IActionResult EditPerson(Person model, int id, [Size(1024)]IFormFile file)Kell még valami? Kell esetleg valahol regisztrálni a SizeAttribute-osztályt?
-
martonx
veterán
válasz
joysefke #8575 üzenetére
Doksit olvastad? Mert ott nem így van a példa kód: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-2.2
-
joysefke
veterán
.NET Core 2 MVC - model validálás, miért nem megy?
Sziasztok!
Szeretném a (működő) model validálást kiszervezni a kontrollerből egy külső osztályba. Létrehoztam egy : Attribute, IModelValidator interfészeket megvalósító validátor attributum-osztályt, a nevével dekoráltam az action method megfelelő paraméterét, mégis semmi nem utal arra, hogy valaha, bármilyen körülmények között eljutna a végrehajtás az én általam definiált IModelValidator.Validate() metódushoz. Sem a breakpoint sem a Validate függvényben levő exception nem aktiválódik. A
file
paraméterValidated
bejegyzést rak a ModelState-be akkor is amikor nem kéneRészletek:
[HttpPost]
public IActionResult EditPerson(Person model, int id, [ImageValidator]IFormFile file)Itt a
file
-t kellene validálni.Itt a validátor:
public class ImageValidatorAttribute : Attribute, IModelValidator
{
public bool IsRequired => true;
// Max size of image in KB
public int MaxSize { get; set; } = 1024;
// Allowed extensions
public string Extensions { get; set; } = ".jpg .jpeg";
public IEnumerable<ModelValidationResult> Validate(ModelValidationContext context)
{
throw new NotImplementedException();
IFormFile file = context.Model as IFormFile;
List<ModelValidationResult> result = new List<ModelValidationResult>();
if (file != null) {
.....
....
}
return result;
}
}A kontrolleren beül így néz ki a file paraméter-kezelése:
if (ModelState.GetValidationState(nameof(file)) == Microsoft.AspNetCore.Mvc.ModelBinding.ModelValidationState.Valid)
{....}Ez mindig igaz...
Elmulasztottam valamit? Kell esetleg regisztrálni valahol a validátort?
-
martonx
veterán
válasz
joysefke #8572 üzenetére
megtisztelő
"A usernek annyi dolga van, hogy a user View-ban rábökjön, hogy jön-e vagy sem, hányan jönnek, kell-e szállás stb.." - gondolom ez egy html formban van. Remélhetőleg.
Kavarodás van a fejedben, hogy mi a statikus adat, és mi a dinamikus. Minden olyan adat, ami adatbázisból jön, az dinamikus adat. Statikus adat pl. egy img src-ben megadott kép valami 3rd party oldalon.
"hogyan lenne érdemes elszállítani a kontrollertől a renderelt user View-ba" - ModelViewController-ben mégis, hogy az istenbe lenne érdemes elszállítani, ha nem egy viewmodellben? De ezt már leírtam elég konkrétan az előbb is, légyszi ne kérdezgesd újra és újra ugyanazt.
Ennél jobban, a konkrétumok ismerete nélkül nem tudlak előre vinni. MVC-ben gondolkozz, leírtam mi dinamikus adat, és mi nem. Ennyi. Ha úgy érzed, ez sem elég, akkor keress meg nyugodtan privátban, ne ezt a topikot offoljuk szét
-
joysefke
veterán
válasz
martonx #8571 üzenetére
Hi köszi a választ! Igen, számítottam rád
Nah szóval:
hanem maradj a HTML-nél, és igyekezz minél több mindent html és mvc alapokon tartani.Az Admin oldalon ez már megvan és működik. Van egy _AdminLayout-om ami tartalmazza a linkeket (no meg némi bootstrap formázást) az egyes admin feladatokhoz, ezek a feladatok külön-külön View-ba vannak szervezve. Itt a kontrollerek és a View-k között az adatok ViewModel objektumokkal közlekednek, visszafelé ugyanígy Model-bindinggal.
Szerintem ez a része jó ahogy van. Nem túl esztétikus, de nem is kell az legyen.
A userek felé viszont illene valahogyan esztétikusan kinézzen a dolog. Ehhez töltöttem le egy template-t. Se nem tudnám, se nem akarnám megcsinálni a user oldal HTML+CSS+ izgő mozgó JS design-ját. Ennek egyébként is minimális köze van csak a feladathoz. Az admin tudjon usereket konfigurálni, meghívókat szétküldeni, a kapott visszajelzéseket aggregálva megjeleníteni.
A usernek annyi dolga van, hogy a user View-ban rábökjön, hogy jön-e vagy sem, hányan jönnek, kell-e szállás stb..
Tehát ezt a szép template-t szeretném a korábban általam elkészített management felülettel összeházasítani illetve a user felület néhány tartalmát az admin által konfigurálhatóvá tenni.
A kérdés kifejezetten erre irányult, mégpedig azért, mert eddig az admin felület View-jait adatokkal ellátó ViewModel objektumaim (user adatai, user visszajelzése) mind nagyon karcsúak és feladat specifikusak voltak, most pedig nem tudom, hogy ezeket a kvázi-statikus adatokat (user neveket-bemutatkozásokat, képeket stb kb egyszer kell az adminnak konfigurálnia) hogyan lenne érdemes elszállítani a kontrollertől a renderelt user View-ba.
Ezek mellett a kvázi-statikus adatok mellett még lesz sokkal fókuszáltabb user specifikus adat (pld. üdvözlő szöveg amikor a user az egyedi linken keresztül belép vagy egy visszajelzés arról, hogy már elfogadta-e a meghívást)
Nah szóval leírtam a problémámat, és nagyon szépen megkérlek, ha már vetted a fáradtságot és végigolvastad a dolgot, írtál vagy 30 sort, akkor 2-3 pontba összeszedve valami olyat is próbálj beleírni a válaszodba ami engem most előre visz...
Nagyon szépen köszönöm
-
martonx
veterán
válasz
joysefke #8570 üzenetére
1. ha nem értesz a frontend fejlesztéshez, akkor ne SPA-val kezdj
hanem maradj a HTML-nél, és igyekezz minél több mindent html és mvc alapokon tartani. Ha hirtelen szépet is akarsz, akkor maximum húzz be egy bootstrap-et, bár esetedben még annak is erősen utána kellene olvasni, hogy az mit hogy, miért csinál.
2. MVC - megvan, hogy mit jelent az MVC? Akkor miért nem használod? Miért ViewBag-el akarsz bohóckodni? De ha ragaszkodsz a ViewBag-hez (ami egyébként Core alatt már amúgy se javasolt), akkor inkább ViewData. De leginkább könyörgök használj model-t a viewban, hiszen erről szól az MVC
3. A konkrét kérdéseidben olyan evidenciákat kérdezgetsz, amiket nem is kellene megkérdezni, hiszen bakker így működik az MVC.
4. Hogy szerinted mi az optimális, azt rohadtul nem ezen a szinten kellene feszegetni, hanem majd amikor megcsináltad, és fut a rendszer, és a terhelés függvényében úgy érződik, hogy lassú, és már mindent értesz, átlátsz, tudod mitől, hogyan működik az Asp.Net Core, és megírtad pár év alatt a már sokadik Asp.Net Core rendszeredet, majd akkor elkezdhetsz utána olvasni az optimalizációs lehetőségeknek.
5. Képek standard megoldása, hogy mennek a filerendszerbe, adatbázisba csak az elérési útjukat tároljuk.
+ bónusz: nincs olyan, hogy Asp.Net Core MVC 2 Régen volt Asp.Net MVC 1-5-ig, ezt váltotta az Asp.Net Core 1.0 - 2.2bocs a keresetlen stílusomért, egyébként szívesen segítek
-
joysefke
veterán
ASP .NET Core MVC 2
Iránymutatás kéne, elég kezdő vagyok ebben
Csinálok egy esküvőszervező appot. Ennek lesz egy User és egy Admin felülete. A User felületen lehet látni a bemutatkozást, elolvasni a részleteket, elfogadni a meghívást, visszajelezni stb. Az Admin felületen lehet konfigurálni a szövegmezőket (nevek, időpontok, helyszín, bemutatkozás stb..) képeket feltölteni az egyes szekciókhoz illetve a usereket konfigurálni, meghívókat elküldeni stb...
Adatbázis -SQLite- már van az applikációban, ez tárolja az IdentityUser entitásokat az elérhetőségekkel illetve hozzájuk a userek visszajelzéseit is. A backend logika már egész jól működik, ehhez akarok hozzákendácsolni valami értékelhető user interfészt. Ehhez értek a legkevésbé.
A User felülethez letöltöttem egy (free) single page reszponzív template-t HTML-CSS-JS+képekkel. Ennek a HTML részéből csináltam egy _UserLayout.cshtml-t. Azonosítottam azokat a szövegmezőket és képeket amelyeket az Admin által konfigurálhatóvá akarok tenni.
Ezek a konfigurálható textboxok/képek a Layout-on teljes mértékben szét vannak szórva, nincsenek lokalizálva, nem tudok egy szekciót kiemelni, hogy csak ott legyenek a konfigurálható elemek. Minimum 50-60db szövegelemmel és 20db képpel számolok. Szóval a végére akár a duplája is lehet.
A kérdés az, hogy mi a legértelmesebb módja annak, hogy a Layout/View-nak átadjam a megjelenítendő szövegelemeket, képeket? Minél kevesebb javascript-tel. Az admin felülettel nem lesz problémám.
Nekem ez jutott eszembe:
-(1)Írjam be a konfigurálható szövegelemeket az adatbázisba,
-(2)onnan kerüljenek az alkalmazás-szerver indításakor (vagy bármikor amikor konfigurációs változás történt) egy perzisztens read only in-memory Dictionary<string, string> objektumba ami dependecy injectionnal elérhető lesz a kontroller(ek)ből,
-(3) A kontroller(ek) pedig (egy közös helper methoddal) mielőtt meghívják a View-t bepakolják az adatokat a ViewBag-be?
-(4)A ViewBag-re alapozva lehetne a Layout/View-ban megjeleníteni a konfigurálható szövegelemeket._________
Azt hogy ezeket (a gyakorlatilag statikus) elemeket ViewModel-be rakjam és mindig cipeljem nem tűnik optimálisnak.
Mi a sztenderd megoldás? Gondolom ez nem valami egyedi dolog és van rá több jó megoldás...
Képeket adatbázisba rakjam, vagy csak a nevük/útvonaluk/rendeltetésük kerüljön az adatbázisba, maga a fájl pedig a fájlrendszerbe? Itt jelentkezne az a probléma, hogy a fájlrendszert és az AB-t szinkronban kellene tartanom. Van erre valami pattern?
Előre is köszönöm!
üdv
J. -
Sziasztok!
Asp.net mvc alkalmazásban van egy saját filter komponensünk javscriptben. Ilyen összetett kereséseket lehet vele írni, nem is ez a lényeg. Cshtml-ben be van hardcode-olva a js-ben egy 'ÉS'. Ez nem 'ÉS'-ként renderelődik le, hanem 'ÉS'-ként, ezért a user nem tudja használni normálisan a filtert. Meta charset okés, cshtml file utf-8, mit nézzek még meg?
-
bandi0000
nagyúr
Okoskosni nem akarok, meg a többiwknwk van igaza, ên csak azt nem értem, hogy miért kell mindent az utcsó pillanatra hagyni? Nálunk a gépêszeknek is csak mellék tárgy ez, és kb ők is ZH elötti nap kaparja az ajtót, hogy kéne neki megoldás stb stb...
Ha korábban írsz esetleg megcsináltam volna,de nem tudom most
-
lali76
újonc
válasz
paramparya #25 üzenetére
Most írom a zht srácok, 1 órám van rá. Letöltöttem a fájlt de ennyi tudok. Valaki tudna nekem írni egy prograot rá? Nagyon kéne, mert nem akarom hogy, államiról kirakjanak fizetősre
Feladat: Le kell töltenem egy fajlt. Az megvan. A fájlban 5 vektor van eltárolva bináris formában. Minden vektornak 3 koordinátája (x;y;z) van (intiger típusúak).
Írj programot ami kiszámolja a vektorok összegét.
Eredményt írja ki a képernyőre x;y;z formában. -
bandi0000
nagyúr
Beolvasáshoz használhatod az fgetc, vagy freadet
Dinamikus tömböt nem értem, C ben nem annyira egyszerű megcsinálni, de arra is találsz példát
Kiíráshoz csak egy for kell, benne egy if, ha 3-al(2-vel) egyenlő az index, akkor egy sotörést teszel, és persze mindig növeled 3 al azt a változóz
Kiírás meg ugyan ez, csak fprintf et használsz
-
lali76
újonc
Sziasztok! Info zh-ra kellene egy kis segitseg C programozás van! Ezer köszönhet és hála érte❤️
Feladat:matrix.dat fájlban 12 egész szám van (4 bájton ábrázolva) bináris módban.
Írjon programot, mely beolvassa a számokat a fájlból egy dinamikusan létrehozott két dimenziós tömbbe. Írja ki az elemeket a képernyőre 3x4 formában és végül írja ki a transzponált mátrixot egy transzponalt.txt nevű szöveges fájlba! -
summers
tag
válasz
Peter Kiss #8558 üzenetére
Hm, nagyon segítőkész vagy.
-
tototos
addikt
Sziasztok!
Van arra lehetőség, hogy emuláljak egy game controller HID device-t c# programból? A terv az lenne, hogy külső interfészen érkező adatok alapján vezéreljünk egy játékot. Eddig egy külső kis mikrovezérlő végezte ezt, de jó lenne ha nem lenne szükség külső eszközre, hanem "tisztán" szoftveresen megoldható lenne a dolog.
Köszönöm
-
joysefke
veterán
válasz
Peter Kiss #8552 üzenetére
Köszönöm, nagyon jó tipp volt!
-
dqdb
nagyúr
válasz
bandi0000 #8538 üzenetére
(a + bi)(c + di) = ac + adi + bci + bdi² = ac + (ad + bc)i + bdi²
Mivel i = √-1, ezért i² = -1, azaz
ac + (ad + bc)i + bdi² = ac + (ad + bc)i + bd × (-1) = (ac - bd) + (ad + bc)i
Vagyis:
(a + bi)*(c + di) = (ac - bd) + (ad + bc)i
Ha megnézed ennek a .NET Core-ban található implementációját, akkor ott pontosan ez szerepel:
public static Complex Multiply(Complex left, Complex right)
{
return left * right;
}
public static Complex operator *(Complex left, Complex right)
{
// Multiplication: (a + bi)(c + di) = (ac -bd) + (bc + ad)i
double result_realpart = (left.m_real * right.m_real) - (left.m_imaginary * right.m_imaginary);
double result_imaginarypart = (left.m_imaginary * right.m_real) + (left.m_real * right.m_imaginary);
return new Complex(result_realpart, result_imaginarypart);
}Vagyis akárhogyan nézem, jól szoroz össze két komplex számot az ajánlott osztály (csúnya is lenne, ha nem).
-
Peter Kiss
őstag
válasz
joysefke #8551 üzenetére
Nem tudom, mit szeretnél, de: https://www.nuget.org/packages/CsvHelper/9.2.3
-
joysefke
veterán
válasz
joysefke #8550 üzenetére
Semmilyen jelölőkarakter nincsen az ilyen köztes sortörések előtt...
helyesbítek: annyi jelölés van, hogy sor közbeni sortörés csak aposztrófok között lehetséges.
Ez lesz a megoldás: https://github.com/22222/CsvTextFieldParser/blob/master/CsvTextFieldParser/CsvTextFieldParser.cs
-
joysefke
veterán
válasz
Zalanius #8548 üzenetére
Ránéztem notepad++ -szal illetve utánaolvastam.
-(1) Igazad volt benne, hogy a goolge CSV export valóban alapból LF karakterrel zárja le a CSV sorait, de nem ez a valódi probléma. Én úgy látom, hogy még ezt is megenné az Excel. Hanem
-(2) Úgy tűnik a Google CSV megengedi a sorvége karaktert a CSV adatmezőiben is. Utánaolvastam, régebben így volt, ezek szerint ez nem változott. Na ezzel van az Excelnek problémája amit bőven meg is értek. Semmilyen jelölőkarakter nincsen az ilyen köztes sortörések előtt...
A " "-párokat mint szövegjelölőt még meg tudom érteni, de "sor közben" sortörés?
-
joysefke
veterán
válasz
Zalanius #8548 üzenetére
Köszi!!
De hát a csv-k esetében az pont szándékos, amit a (2)-ben írtál, mert a szövegjelölő " ... " nélkül nem lehetne vessző a cellákban
Najó, de miért nem lehet akkor olyan karaktert használni, ami nem engedélyezett/nem bukkanhat fel a kontaktok között? Ha én berakok egy vagy több "-karaktert valamelyik kontaktba, akkor az még escaepelve is lesz vagy mi
Ezt minden parsernek kezdettől fogva tudnia kell, az excel is simán boldogul vele, az importáláskor még meg is adható, mit tekintsen szövegjelölőnek.
Meg is adtam, de nem jelent teljes megoldást a problémára, ezen kívül más is van...
Inkább arra gyanakszom, hogy CR / LF lesz egy vagy több szövegben, és azt már az Excel legendásan rosszul tűri.
Na erre nem gondoltam, annyira hosszúak és üresek a sorok, hogy számomra gyakorlatilag követhetetlen hogy éppen hol van elcseszve a sortörés. Mindenesetre az Outlook CSV export gyönyörűen importálódik Excelbe
-
Zalanius
tag
válasz
joysefke #8547 üzenetére
De hát a csv-k esetében az pont szándékos, amit a (2)-ben írtál, mert a szövegjelölő " ... " nélkül nem lehetne vessző a cellákban / mezőkben egyáltalán, vagy szétesik a táblaszerkezet. Ezt minden parsernek kezdettől fogva tudnia kell, az excel is simán boldogul vele, az importáláskor még meg is adható, mit tekintsen szövegjelölőnek. Inkább arra gyanakszom, hogy CR / LF lesz egy vagy több szövegben, és azt már az Excel legendásan rosszul tűri.
Ha érdekel kódszinten is a szövegjelölők kezelése, itt egy jó régről származó példa, amit utána sokáig csiszolgattak.
-
joysefke
veterán
Találkozott már valaki jól működő google contacts CSV parserrel?
Próbaképpen kiexportáltam a saját google kontaktjaimat CSV-be, beimportáltam Excelbe és egy totál káosz az egész. Az én kontaktjaim nyilván már összekuszálódtak, de feltételezem ez az általános és nem egyedi eset.
-(1) Annyi az oszlop mint égen a csillag
-(2) Az elválasztó karakter a vessző, de vannak benne " "-közé zárt stringek is, melyek ugyancsak tartalmazhatnak vesszőt (!!!)Legalábbis nekem így tűnik (azért írom ezt, mert Excelbe sehogy sem sikerült értelmesen beimportálnom őket)
-
summers
tag
Sziasztok!
Segítséget szeretnék kérni, C#-ban szeretnék olyan programot írni, ami figyeli az egér gyorsulását és a gyorsulás alatti időtartamot, hogy a sebességet ki lehessen számolni, és ha már nem mozog az egér, akkor a program, ellentétes irányú sebességet hoz létre kevesebb idő alatt. Milyen parancsokat lehet használni a feladathoz?
-
petyus_
senior tag
válasz
DrojDtroll #8543 üzenetére
Debug módban futtatod, ezért hiába kezeled le, a vs akkor is megáll, hogy megmutassa az exceptiont. Indítsd ctrl+F5-tel, akkor nem fog megállni. Illetve be lehet állítani, hogy a kezelt exceptionöknél ne álljon meg, de most nincs előttem, úgyhogy nem tudom megmondani hol
.
-
bandi0000
nagyúr
Csak megírnám magamtól, ez a Complex osztály jó lehetne, írja a definíciójába, hogy elvileg tudja azokat amiket a komplex számok, tehát 1^2=-1, második tagja a képzetes rész, viszont ha össze szorzom őket, akkor csak sima szorzást csinál, nem lesz - 2 szám esetén, vagy én értem félre a működést?
-
bandi0000
nagyúr
válasz
bandi0000 #8536 üzenetére
közbe megtaláltam, hogy van egy Complex osztály, aminek első tagja valós, második pedig valós*I alakú, csak az a gond, hogy ha ezt pl egy komplex számmal szorzom, akkor az I*I nél nem I^2 hanem -1 es szorzó lesz, és ezt is el kellene végeznem
sztanozs: Köszi, ez jó leírás
-
sztanozs
veterán
válasz
bandi0000 #8536 üzenetére
FYKI: System.Numerics.Complex
-
bandi0000
nagyúr
Lenne egy kis problémám, van valami beépített megoldás arra, ha matematikai műveleteket kellene elvégezni valós, és nem valós tagok között?
Lényegében diszkrét furier sorfejtést akarom le programozni, de nem tudom hogy kezeljem a nem valós tagokat, pl előfordulhat olyan, hogy el kellene végezni ezt: (10+2j)*(5+3j) és ugye ebből lesz valamennyi sima és valamennyi képzetes tag, és ilyenből lesz N db, amit a végén össze kell majd vonni
Én arra gondoltam először, hogy minden egyes tömb elem egy struktúra lenne, amibe lenne egy valós, képzetes és egy "j"-s tag, j egy szám lenne, hogy van e benne j vagy nincs
Azt hiszem jó értelmetlenül magyaráztam el, de gondolom az én ötletemnél van sokkal szebb megoldás is amit mêg nem ismerek
-
sztanozs
veterán
válasz
Froclee #8533 üzenetére
sorry, nem neked, neki: kw3v865
Az, ha a setter esetleg másik setter-t is változtat (vagy valaminek kapcsán egy egyanez a setter meghívódik, akkor rekurzió/stack memória elfogyása lesz a vége). Ráadásul az ilyen side effect-ek jelentős feldolgozási sebesség csökkenést jelenthetnek.
-
kw3v865
senior tag
Sziasztok!
C#-ban szeretném megvalósítani, hogy akkor hívjak meg egy függvényt, ha egy adott változó értéke megváltozik. Tudtok erre valami jó megoldást? Egyelőre még eléggé kezdő vagyok ezen a téren, nem sokat programoztam még C#-ban.
-
Zalanius
tag
válasz
bandi0000 #8526 üzenetére
Annyit tennék még hozzá, hogy ha az SQL változat jobban előtted van, akkor próbáld meg FK nélkül, minél olvasmányosabban felírni a LINQ-t. Vegyük az alábbit:
SELECT stud.FirstMidName + ' ' + stud.LastName AS FullName, grp.Credits
FROM dbo.Student AS stud
JOIN
(
SELECT enroll.StudentId , SUM(crs.Credit) AS Credits
FROM dbo.Enrollment AS enroll
JOIN dbo.Course AS crs ON enroll.CourseId = crs.Id
GROUP BY enroll.StudentId
) AS grp
ON grp.StudentId = stud.Id;Ennek egy megoldása:
var creditsByStudent = from sub in (from e in ent.Enrollments
join c in ent.Courses on e.CourseId equals c.Id
select new { e.StudentId, c.Credit })
group sub by sub.StudentId into g
join s in ent.Students on g.Key equals s.Id
select new
{
FullName = s.FirstMidName + " " + s.LastName,
Credits = g.Sum(x => x.Credit)
}; -
bandi0000
nagyúr
válasz
martonx #8525 üzenetére
Köszönöm, SQL azért megy, vagyis abba meg van, hogyan pakoljam össze, de itt nem látom át
Igen az Enrollment tartalmazza a Student és Course-t is
Gyakorlatilag már az Enrollments megvalósízja az inner join-t nem? De ha meg nem rakom oda azt a két Includot, akkor nem érem el így a Student nevét -
martonx
veterán
válasz
bandi0000 #8523 üzenetére
Ez a linq még egészen olvasmányos. Szerintem itt nagyobb baj, hogy jó eséllyel fogalmad sincs, hogy SQL-ben hogy fognád meg ezt a problémát, mit jelent a groupby, hogyan dolgozzunk halmazokkal.
Nem szeretem ezt a fajta LINQ szintaktikát, na mindegy, közé kommenteztem, hátha így érthetőbb lesz, hogy mi - mit csinál.var data = //itt semmi értelme kiírni, hogy IQueryable<CreditReport> egy var bőven rövidebb
from enrollment in _context.Enrollments.Include(x => x.Student.LastName).Include(y => y.Course.Credits)
// a két include egy-egy sql joinnak felel meg, de rögtön szűr is, hogy csak 1-1 mezőt ad vissza
// gyanús, hogy ez felesleges bonyolítás, mert az enrollment-nek eleve van egy Student propertyje
// és talán Course property-je is? Ha jól van mappelve
group enrollment.Student by enrollment.Student.Id into dateGroup //itt csak szimplán rossz a dateGroup név :D mert ez StudentId-ra groupol :D
select new CreditReport()
{
FullName = dateGroup.FirstOrDefault().FirstMidName + " " + dateGroup.FirstOrDefault().LastName,
Credits = dateGroup.FirstOrDefault().Enrollments.Sum(x => x.Course.Credits)
};Selecten belül már nem kommenteztem, gondolom az triviális, hogy a group by-olt datasetből milyen adatokat veszel ki.
Szóval én a helyedben elsőre erősen utána néznék, hogy ugyanezt szimpla SQL-ben hogyan írnád meg, és miért, mire való a join, group by. Ha az SQL hátteret már érted, akkor a LINQ-t is jobban érteni fogod, hiszen az semmi mást nem csinál, mint egy SQL parancsot ad ki, csak épp nem SQL szintaktikával, hanem C# szintaktikával megfogalmazva.
-
csizs
aktív tag
Lenne két feladatom. Van valakinek ötlete?
C-ben kellene megvalósítanom.Feladatleírás
Egy 80X40 egységnyi, téglalap alapú szobából történő menekülést szimulálunk.
A szoba tele van emberekkel. Az emberek melyik esetben kerülhetnek ki a szobából
gyorsabban, ha a hosszabbik oldalakon vannak az ajtók, vagy, ha a rövidebbeken? Az ajtók 4-4 egység hosszúak.2. feladat:
Feladat leírása:
Egy 50X50 kertben, egységnyi méretű és a kerítés magasságával harmonizáló
térplasztikákat kell elhelyezni. Mind a kerítés elemeket, mint a térplasztikát egy
térbeli pontnak fogom ábrázolni egy koordinátarendszerbe. A feladathoz tartozik a
kerítés magasságának megtervezése. A kerítés izgalmas magasságú legyen! Ezalatt
azt is érthetem, hogy a kerítés magassága egy tetszőleges függvényértéket követ.
Legyen az 50X50 sakktábla mintában elhelyezkedő 2500 db (50x50) térplasztika
magassága a szomszéd kerítés, vagy szomszéd plasztika magasságának a
számtani átlaga (elhelyezkedéstől függően). -
bandi0000
nagyúr
Sziasztok
Szükségem lenne egy gyorstalpalóra linq-ból, az is jó lenne ha 1-2 mondatba elmagyarázná valaki a lekérdezést, hogy kellene megcsinálni, vagy mire figyeljek
Igazából az is jó lenne, ha valaki tud valami irományt adni erről, de amike találtam, ott nem pont ilyenek voltak, + nem is igazán értettem meg belőle semmit
Már átrágtam pár tutorialt, de még mindig nem világos, hogyan kellene össze pakolnom
lényeg:
ASP.NET MVC
Van egy osztály, amibe lekérdezek, FullName, Credits3 tábla van az adatbázisba
Student<1...*>Enrollment<*...1>CourseStudent táblába FirstMidName, LastName külön van
Le kellene kérdeznem, hogy tanulónként mennyi creditet csináltak, de nem igazán akar össze jönni
Ezt így ,működik de nagyon csúnya, és egyáltalán nem értem mi történik benne, gondolom normálisabban is meg lehetne ezt csinálni
IQueryable<CreditReport> data =
from enrollment in _context.Enrollments.Include(x => x.Student.LastName).Include(y => y.Course.Credits)
group enrollment.Student by enrollment.Student.Id into dateGroup
select new CreditReport()
{
FullName = dateGroup.FirstOrDefault().FirstMidName + " " + dateGroup.FirstOrDefault().LastName,
Credits = dateGroup.FirstOrDefault().Enrollments.Sum(x => x.Course.Credits)
//CreditCount = dateGroup.
};Itt csak a dátum szerint számoltuk meg a jelentkezéseket, itt jól gondolom,hogy
-dátum szerint lett GroupBy
-ezek az aggregált értékek bele kerültek a dataGroup-ba, tehát nincs 2 egyforma
De akkor a selecten belül hogy kell értelmezni? bele rakja az egyes dátumokat, + kiszámolja hozzá az értékeket is?public EnrollmentDateReportController(GAMFDbContext Context)
{
_context = Context; // Db
}
public IActionResult Index()
{
List<EnrollmentDateVM> enrollmentDateList;
IQueryable<EnrollmentDateVM> data =
from student in _context.Students
group student by student.EnrollmentDate into dateGroup
select new EnrollmentDateVM
{
EnrollmentDate = dateGroup.Key,
StudentCount = dateGroup.Count()
};
enrollmentDateList = data.ToList();
return View(enrollmentDateList);
} -
job4you
újonc
Aki szeretne az ünnepek előtt kis pénzt keresni, nézze meg a #8508 -as hozzászólásom. Az ajánlat továbbra is fenn áll. Jó a fizu
-
martonx
veterán
válasz
DrojDtroll #8519 üzenetére
Ezek egyike se indokolja a külön class-t
-
job4you
újonc
Visszaírtam privátban, aki érdeklődött munkaügyben.
-
martonx
veterán
válasz
DrojDtroll #8517 üzenetére
A két képet miért külön osztály kezeli?
-
DrojDtroll
veterán
Akkor röviden leírom hogy miről van szó.
Van egy munkafájlom. Ehhez létrehozok egy default képet és egy előnézeti képet. A két képet két külön osztály kezeli. Ennek a két osztálynak van egy-egy függvénye: GetFileName(). Ez azt csinálja hogy visszaadja munkafájlhoz a default vagy az előnézeti képet. Ennek a függvények kellene statikusnak lennie.
-
Peter Kiss
őstag
válasz
DrojDtroll #8513 üzenetére
Kíváncsi lennék erre a felépítésre, mert valami biztosan nem kerek.
Írhatsz extension methodokat, hogy kényelmesebb legyen használni bizonyos interface-ekre, amennyiben valóban utility jellegű ez a static valami most.
-
Szabesz
őstag
válasz
DrojDtroll #8513 üzenetére
Ez esetben adja magát a Singleton.
-
Alexios
veterán
válasz
DrojDtroll #8513 üzenetére
Na de ha ez egy típushoz tartozó, statikus dolog, akkor miért akarnád eleve interface-be rakni, hogy más is megvalósítsa - azt ami egy kifejezetten X típushoz tartozik?
Szerintem, mikor ilyen igények lépnek fel, ott valószínűleg eleve érdekes a kód is már. -
DrojDtroll
veterán
válasz
Peter Kiss #8512 üzenetére
A függvények stringeket add vissza és nem akarom mindig példányosítani az osztályt amiben szerepel.
-
Peter Kiss
őstag
válasz
DrojDtroll #8509 üzenetére
Miért kell neked static?
-
Alexios
veterán
válasz
DrojDtroll #8509 üzenetére
absztrakt osztály esetleg, itt az ososztaly tartalmazhat statikus metodusokat, de ezeket nem fogod tudni felulirni egy származtatott osztályban, mivel a statikus metódus nem példány hanem típushoz van kötve- azaz c#-ban nincs olyan hogy abstract static vagy virtual static
-
válasz
DrojDtroll #8509 üzenetére
Statikus metódusokat nem lehet örököltetni vagy felülírni, így nem lehet abstract sem. A statikus metódus a típuson van definiálva és nem az osztály egy példányán.
-
DrojDtroll
veterán
Sziasztok!
Bizonyos osztályoknak elő akarom írni hogy valósítsanak meg függvényeket. Eddig ezt interface-szel oldottam meg. Sajnos statikus függvényeket így nem tudok használni. Van erre valami jó megoldás?
-
job4you
újonc
Sziasztok.
Lenne egy munkakínálatom. Egy pár napot igénybe vevő, egyszerűbb asztali WPF alkalmazást kéne elkészíteni MVVM architektúrában, úgy, hogy ASP.NET Core webszolgáltatással kapcsolódjon egy már meglévő adatbázishoz. Majd a webszolgáltatás funkcionalitását kéne ellenőrizni pár egységteszttel. A feladat nehézsége egy egyetemi beadandó feladat szintje. Egy korábbi alkalmazást kell továbbfejleszteni. A feladat megoldásához elérhető mintaprogram, mely teljesen hasonló a megvalósítandó feladathoz, csak más problémát old meg.
Akit érdekel a lehetőség írjon, és ,megbeszéljük a részleteket. Órabér: kb. egy versenyképes fizetés, de ezt is megbeszéljük.
-
joezzy
újonc
válasz
Chesterfield #8506 üzenetére
Köszönöm, de sajnos nincs annyi időm, hogy megtanuljam mire kell.
-
Chesterfield
őstag
-
joezzy
újonc
Sziasztok!
Segítséget szeretnék kérni!
Van egy főiskolai C# programozási feladat, amit meg kéne oldanom, de nekem nem megy mivel még nem programoztam.
Lenne itt valaki, aki elvállalná, hogy megoldja nekem?Erről lenne szó:
FELADAT LEÍRÁS:
Írjon olyan programot, amely elhelyez egy 8x8-as sakktáblán négy királynőt és négy huszárt úgy, hogy a bábuk ne üssék egymást! Figyelem, a feladatnak nem csak egy megoldása létezik, minden megoldást igyekezzen modellezni! A Windows ablak megtervezése önálló feladat, bármilyen vezérlőt felhasználhat a feladat megoldásához. -
I02S3F
addikt
Sziasztok!
Szeretnék ismét egy kérdést feltenni. Hogyan kerüljük el, hogy az íródott kód átláthatatlanul összetett legyen? Gondolom a program feladatai részfeladatokra vannak bontva, amik egyenként, külön fájlokban tárolunk. Lehetséges-e, hogy egy kódrészt külön fájlban tároljak? Vagy hogyan oldják meg ezt a problémát? és úgy hívjuk be a fájlt, ahelyett, hogy ott egy nagy terjedelmű kód legyen?
Ú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!
- Samsung Galaxy S10+ 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer Gép - ASUS TUF B660, Intel I9 14900K, 32GB DDR4, RTX 4070 SUPER , 4 TB M.2 SSD, 550W
- Intel Core i7 11700 - 4.9 GHz - 8mag/16szál - Eladó!
- Csere-Beszámítás! Gamer PC Számítógép! R9 3900X / RX 6700XT / 32GB DDR4 / 1TB SSD
- Gamer Gép - MSI Z490, Intel I7 10700, 32GB DDR4, RTX 3060 Ti 8GB , 1 TB M.2 SSD, Gigabyte 450W
- 3DKRAFT.HU - 3D NYOMTATÁS - AZONNALI ÁRAJÁNLAT - GYORS KIVITELEZÉS - 480+ POZITÍV ÉRTÉKELÉS
- LG 40WP95XP-W - 40" NANO IPS - 5120x2160 5K - 72Hz 5ms - TB 4.0 - HDR - AMD FreeSync
- ÁRGARANCIA! Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS TUF Z390-PLUS GAMING alaplap garanciával hibátlan működéssel
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged