- TCL LCD és LED TV-k
- RAM topik
- Kormányok / autós szimulátorok topikja
- Soundbar, soundplate, hangprojektor
- Videós, mozgóképes topik
- Mégis mehetnek Kínába az áprilisban korlátozás alá helyezett AI gyorsítók
- Hővezető paszták
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Fujifilm X
- Iszonyatos mennyiségű hulladékkal járhat a Windows 10 terméktámogatásának vége
Új hozzászólás Aktív témák
-
sztanozs
veterán
-
togvau
senior tag
Udpclient receive-re mindenhol ipEndPointot írnak, de én ezt a visual studioba sehogy sem tudom aláhúzatlanná tenni...
new IPEndPoint alá van húzva, kiegészítés sincs, mintha egy ismeretlen dolog lenne.
Szóval hogy lehet működésre bírni?Az pedig tényleg komoly, hogy a VSE 2013 elkezdett kódra, és ctrl-space-re nem képes belőni a megfelelő
importotusingot magától? -
sztanozs
veterán
Illetve .Net executable-t könnyen lehet memóriából indítani, de native windows exe-hez kell egy kis mókolás. C# megoldást nem találtam, ami megbízhatóan működik, de találtam sima c foráskódot.
-
fatal`
titán
-
Froclee
őstag
Nem hiszem hogy reg fájlt exébe tudnál csomagolni szimplán. Vagy egy installert akarsz vagy egy zip fájlt szerintem.
martonx arra gondolt, hogy van egy olyan dolog hogy current directory és ha relatív akarsz hivatkozni a fájlokra, akkor ahhoz képest kell nézned. a current directory valszeg pont maga az exe fájlt mappája lesz.
pl
C:\Program Files\Myprogram\core\program.exe
ha itt van egy fájl:
C:\Program Files\Myprogram\fajl.batakkor így kell rá hivatkozni:
..\fajl.bat -
_kovi_
aktív tag
-
_kovi_
aktív tag
Sziasztok!
Az lenne a kérdésem, hogy ha összecsomagolom egyetlen exe-be a projeket, akkor a projekten belül a resources-be kell tenni minden fájlt? pl. a bat-okat, az .reg fájlokat amiket a program futtat.
Illetve ezt a kódon belül hogy adom meg, hogy ott keresse? Eddig pl d:\asd\asd.reg volt
Köszi!
-
XP NINJA
őstag
Sziasztok. Objektum orientált programozást miből érdemes tanulni? Nem probléma az angol, de szeretném ha sok példa lenne benne. Köszönöm!
-
biigi
tag
Sziasztok!
Segítséget szeretnék kérni az alábbi probléma megoldásában:
Adott egy osztály: allat és az néhány leszármazott osztály róka, medve...
ezek egy dll-ben vannak.
Wcf-en küldöm át ezeket egy List<allat> formában.
Ez mind addig működik ameddig az allat osztályban kiírom az xmlInclude(typeof(roka))... attributumokat, de
csak hogy jó legyen van egy másik dll-elem amiben még létezik néhány leszármazott pl. kutya
Ezt már nem tudom felvenni az állat osztály elé mert ez ott nem látható, és nem is szabad hogy ott látható legyen.
A kérdés az hogy hogyan tudom megodani hogy a List<allat> amiben már van kutya is az átmennyen a wcf-en.
Jelenleg nem várt típus hibát kapok.Kerestem erre megoldást de mindenhol csak azt találtam hogy adjam meg az extra type-okat a szerializáláskor paraméterként, de ez nekem nem jó mert wcf-nél ő csinálja meg a szerializációt én ebbe nem tudok belenyúlni.
Nagyon köszönök előre is minden tippet.
-
sztanozs
veterán
A fájl létezik és olvasható? Hibaüzenet nincs?
Nem ártana feliratkozni az stdout és etderr streamekre...Nekem simán lefut, és berakja a reg fájl tartalmát a registrybe:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.RedirectStandardError = true;
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
startInfo.FileName = "reg.exe";
startInfo.Arguments = "import c:\\temp\\Skillport_TS.reg";
process.StartInfo = startInfo;
process.Start();
string strerr = process.StandardError.ReadToEnd();
string strout = process.StandardOutput.ReadToEnd(); -
_kovi_
aktív tag
Lehet hogy console app-ként kéne projektben csinálni nem form-ba
-
_kovi_
aktív tag
Sziasztok!
reg fájlt szeretnék hozzáadni a reg adatbázishoz, programkódból. Egy kedves fórumtagtól kaptam ezt a kódot, de nem csinál semmit.
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "reg.exe";
startInfo.Arguments = "import d:\\vdfreg15_64_bit.reg"; -
don_peter
senior tag
Köszönöm Uraim a segítséget, de figyelembe véve azt hogy mire is van szükségem, az álltalam megírt for() ciklusos megoldást választottam.
Az oka pedig igen egyszerű, a hardver amit fejlesztek csak korlátozott módon engedélyezi a címzéseket ezért minden olyan fájlt amely nem osztható (1024*1024)-el azt ki kell bővíteni, hogy osztható legyen, illetve minden olyan fájlt ami páratlan számú méretre jön ki (az egyet kivéve), teszem azt 3,5,7 azokat párosra kell bővítenem.
A for() ciklusban lehetőségem van mindezt figyelni és bővíteni, ha szükséges.Köszönöm a segítséget.
-
Froclee
őstag
Deferred execution egyébként érdekes téma. Akit érdekel, debugger-rel biggyesszen egy breakpoint-ot a foreach-re és lassan nyomogassa az F10-et, és nézze a konzol output:
string sourceFolderPath = $"C:\\Users\\{Environment.UserName}\\Desktop";
string filePattern1 = @".txt";
string filePattern2 = @".exe";
var matchingFiles = Directory.GetFiles(sourceFolderPath, "*", SearchOption.TopDirectoryOnly).Where(x =>{
Console.WriteLine($"executing now on {x}");
return x.EndsWith(filePattern1) || x.EndsWith(filePattern2);
});
foreach (string filePath in matchingFiles)
{
Console.WriteLine("one iteration in foreach");
Console.WriteLine(filePath);
}És nézze meg ugyanezt, ha .ToList()-et végére biggyeszt.
var matchingFiles = Directory.GetFiles(sourceFolderPath, "*", SearchOption.TopDirectoryOnly).Where(x =>{
Console.WriteLine($"executing now on {x}");
return x.EndsWith(filePattern1) || x.EndsWith(filePattern2);
}).ToList(); -
-
ibenny
senior tag
válasz
lord.lakli #7274 üzenetére
Igen, erre gondoltam, köszönöm! Ettől függetlenül a sima tömb is használható lett volna ebben az esetben, string[] ... és egy hasonló LINQ-lekérdezés révén?
-
lord.lakli
őstag
Erre a ToList-re gondolsz?
List<string> matchingFiles = Directory.GetFiles(sourceFolderPath, "*", SearchOption.AllDirectories).Where(x=> x.EndsWith(filePattern1) || x.EndsWith(filePattern2)).ToList();
Itt nem a string-re került a ToList, hanem a Linq IEnumerable-t ad vissza és az lett listává átalakítva, lehet tömbbé is alakítani, de lista egy csomó plusz szolgáltatást hordoz magában, amit a sima tömbnél nem tudsz kihasználni.
-
lord.lakli
őstag
válasz
don_peter #7265 üzenetére
Ha még nem használt függvényt hívsz mindenképpen nézd meg a leírását. CopyTo-nál második paraméter index, hogy hová másoljon. Te folyamatosan felül írtad. A korábbi példádban nem vettem észre a hibát
harylmu megírta a szebb MemoryStream-et is. Annyi apró módosítást tennék, hogy
var osszefuzott = new byte[rows.Length+rows2.Length+rows3.Length+rows4.Length];
helyett csakbyte[] osszefuzott;
legyen. Felesleges előre memóriát foglalni neki.(#7271) ibenny: ha több kiterjesztésre van szükséged, akkor pedig egy List<string>-be vedd fel és használd Contains függvényt Linq-ben.
-
Froclee
őstag
válasz
don_peter #7265 üzenetére
Ez meg egy overkill (mivel a BlockCopy-nak is működnie kéne), de pl nálam ez is üzemel:
byte[] rows = new byte[8] { 1, 1, 1, 1, 1, 1, 1, 1 };
byte[] rows2 = new byte[8] { 1, 1, 1, 1, 1, 1, 1, 1 };
byte[] rows3 = new byte[8] { 0,0,0,0,0,0,0,0 };
byte[] rows4= new byte[8] { 1, 1, 1, 1, 1, 1, 1, 1 };
var osszefuzott = new byte[rows.Length+rows2.Length+rows3.Length+rows4.Length];
using (MemoryStream ms = new MemoryStream(osszefuzott))
{
ms.Write(rows, 0, rows.Length);
ms.Write(rows2, 0, rows2.Length);
ms.Write(rows3, 0, rows3.Length);
ms.Write(rows4, 0, rows4.Length);
osszefuzott = ms.ToArray();
} -
Froclee
őstag
string sourceFolderPath = @"forrásmappa";
string filePattern1 = @".kiterjesztes1";
string filePattern2 = @".kiterjesztes2";
string destinationFolderPath = @"celmappa";
List<string> matchingFiles = Directory.GetFiles(sourceFolderPath, "*", SearchOption.AllDirectories).Where(x=> x.EndsWith(filePattern1) || x.EndsWith(filePattern2)).ToList();
foreach (string filePath in matchingFiles)
{
var fileSpec = new FileInfo(filePath);
File.Move(filePath, Path.Combine(destinationFolderPath, fileSpec.Name));
}(#7265) don_peter:
Memória másolás:
A BlockCopy-s verziódnak mennie kéne. Ugyanez Array.Copy-val:var osszefuzott = new byte[DataLenght];
rows.CopyTo(osszefuzott, 0);
rows2.CopyTo(osszefuzott, rows.Length);
rows3.CopyTo(osszefuzott, rows.Length + rows2.Length);
ows4.CopyTo(osszefuzott, rows.Length + rows2.Length + rows3.Length); -
don_peter
senior tag
válasz
lord.lakli #7264 üzenetére
A teljes fáj letöltést így csinálom:
// Teljes memória letöltése (8MB)
private void button13_Click(object sender, EventArgs e)
{
uint i = 0, Count = 1024 * 1024 * 8;
//byte[] FlashRom = new byte[1024*1024*8];
byte[] buffer = new byte[1];
serialPort1.Write("f"); // Küldünk egy parancsot (rom letöltési parancs)
string folderName = @"c:\DPTPFolder";
//string pathString = System.IO.Path.Combine(folderName, "SubFolder"); // További könyvtár
System.IO.Directory.CreateDirectory(folderName);
string fileName = "dptpsmfdcartridge_" + DateTime.Now.ToString("yMd_Hm") + ".bin";
string pathString = System.IO.Path.Combine(folderName, fileName);
if (!System.IO.File.Exists(pathString))
{
using (System.IO.FileStream fs = System.IO.File.Create(pathString))
{
while (true)
{
i++;
serialPort1.Read(buffer, 0, 1); // Várakozunk hardver adat küldésig
fs.WriteByte(buffer[0]);
if (i % 64 == 0)
{
serialPort1.Write("0");
i = 0;
Count = Count - 64;
}
if (Count <= 0)
{
break;
}
}
}
}
else
{
textBox1.Text += "Hiba a fájl kiírásában...(lehet, hogy létezik a fájl)" + "\r\n";
return;
}
textBox1.Text += "\r\n" + "Letöltés elkészült.\r\n";
textBox1.Text += "File name: " + folderName + "/" + fileName + "\r\n";
}
A memória másolásokat meg pontosan úgy mint feljebb mutattam./// Így is próbáltam
var osszefuzott = new byte[DataLenght]; // DataLenght értéke a 4 file mérete
rows.CopyTo(osszefuzott, 0);
rows2.CopyTo(osszefuzott, rows.Length);
rows3.CopyTo(osszefuzott, rows2.Length);
rows4.CopyTo(osszefuzott, rows3.Length);
// és így is:
byte[] rv = new byte[a1.Length + a2.Length + a3.Length+ a4.Length];
System.Buffer.BlockCopy(a1, 0, rv, 0, a1.Length);
System.Buffer.BlockCopy(a2, 0, rv, a1.Length, a2.Length);
System.Buffer.BlockCopy(a3, 0, rv, a1.Length + a2.Length, a3.Length);
System.Buffer.BlockCopy(a4, 0, rv, a1.Length + a2.Length + a3.Length, a4.Length);A fájlok betöltése pedig a klasszikus módon történik: (pl.: a 4-es fájl)
OpenFileDialog open4 = new OpenFileDialog();
open4.Title = "Open file";
open4.Filter = "Bin File (*.bin)|*.bin|MD File (*.md)|*.md|SMD File (*.smd)|*.smd|All Files (*.*)|*.*";
open4.FilterIndex = 2;
if (open4.ShowDialog() == DialogResult.OK)
{
rows4 = System.IO.File.ReadAllBytes(open4.FileName);
}A teljes kódot nem linkelem, mert több ezer soros, biztosan meg lehetne írni a feléből, de nem vagyok nagy mágus, inkább hardverprogramozással foglalkozom, ez csak szükséges +.
-
ibenny
senior tag
Bocsánat, ez a válasz lord.laklinak szól:
Nagyon köszönöm, de tényleg nem tartok még ott, hogy ezen el tudjak indulni, de a segítségért hálás vagyok. :-) Egész hétvégén olvasgattam a témában, tényleg nem lehet egyszerűen kibővíteni plusz egy kiterjesztéssel a releváns sort? Ez azért lep meg ennyire, mert Python-ban leírtam, hogy if extension == '.kiterjesztes1' or extension == '.kiterjesztes2 then.., és működött is, még ciklus sem kellett hozzá.
Valószínűleg akkor hagyom ennyiben, de tényleg köszönöm.. -
don_peter
senior tag
válasz
lord.lakli #7258 üzenetére
Fentebbi bejegyzésemben látható, mind két változatot kipróbáltam, és mind kettő 2MB felett nem másolt bele a tömbbe.
Onnan tudom, hogy nem jó, hogy összemásolás után azonnal kiírtam fájlba a tömb tartamát, és a 4 fajból csak kettő van meg a további 2 fáj tartama hiányzik, vagy csak nullák vannak helyettük.. -
don_peter
senior tag
Sajnos egyik megoldás sem volt jó, a for() ciklusos megoldásom működik, most teszteltem.
Most csak azt a részt tesztelem, hogy betöltöm a 4 fájlt, és for ciklusokkal mint amit fentebb is mutattam, és azonnal kiírom az összefűzött tömb tartamát egy fájlba.
A memória másolós nem működött sajnos, egyik sem. -
Karma
félisten
válasz
lord.lakli #7254 üzenetére
Pontosan ezt akartam kihozni belőle. Sőt megkockáztatom, hogy ha a kiírást is Streamen keresztül oldja meg, akkor nem is kell a négy fájlt felolvasni a memóriába teljes hosszában, előre.
-
don_peter
senior tag
Most lord-lakli javaslatára ezt tesztelem:
var osszefuzott = new byte[DataLenght]; // DataLenght értéke a 4 file mérete
rows.CopyTo(osszefuzott, 0);
rows2.CopyTo(osszefuzott, rows.Length);
rows3.CopyTo(osszefuzott, rows2.Length);
rows4.CopyTo(osszefuzott, rows3.Length);Ez után kipróbálom majd ezt ez, mert az első teszten már nem ment át a fentebbi kód.:
byte[] rv = new byte[a1.Length + a2.Length + a3.Length];
System.Buffer.BlockCopy(a1, 0, rv, 0, a1.Length);
System.Buffer.BlockCopy(a2, 0, rv, a1.Length, a2.Length);
System.Buffer.BlockCopy(a3, 0, rv, a1.Length + a2.Length, a3.Length);
Valamelyik csak jó lesz -
lord.lakli
őstag
válasz
don_peter #7249 üzenetére
Ha már beolvasod az összeset, akkor mehet fapadosan Array.CopyTo segítségével is.
var osszefuzott = new byte[file1.Length + ... + file4.Length]
file1.CopyTo(osszefuzott, 0);
file2.CopyTo(osszefozott, file1.Length);
...Amikhez nem kell az összes fájlt beolvasni (néhány példa):
Sokkal szebb és nem kell egybe beolvasnod, ha MemoryStream.Write-al csinálod és a MemoryStream-re nyomsz egy ToArray()-t.Lehet List<byte>-al, mint amivel ajánlották. Ott tudsz Concat()-olni, vagy Linq-es Concat().
(#7250) ibenny:
Linq-nél nézz szét. Kérd be az összes file-t (*.*), majd Where feltételben megfogalmazni, hogy az általad megadott kiterjesztésű fájlok maradjanak csak. Kiterjesztés vizsgálatához: Path.GetExtension() -
ibenny
senior tag
Sziasztok,
Egy egyszerű kis programot írtam, ami csak annyit csinál, hogy bizonyos kiterjesztésű file-okat átmozgat egy forrásmappából egy célmappába. Teljesen jól működik, abban az esetben, ha egy kiterjesztést adok meg. Hogyan bővíthetném a kódot egy vagy több további kiterjesztéssel?
A kódom:
string sourceFolderPath = @"forrásmappa";
string filePattern = @"*.kiterjesztes1";
string destinationFolderPath = @"celmappa";
string[] matchingFiles = Directory.GetFiles(sourceFolderPath, filePattern, SearchOption.AllDirectories);
foreach(string filePath in matchingFiles)
{
var fileSpec = new FileInfo(filePath);
File.Move(filePath, Path.Combine(destinationFolderPath, fileSpec.Name));
}A mappákat és a kiterjesztés szándékosan írtam most át, nincs jelentősége a kérdés tekintetében. Próbálkoztam többféle megoldással (pl. a filePattern bővítése), sajnos egyik sem vezetett sikerre. Python-ban már megírtam ezt a programot, ezért nem életbevágó, de elkezdtem ismerkedni a C#-pal és gyakorlásképpen jó gondolatnak tűnt megírni abban is. Tényleg kezdő vagyok C#-ban, kérlek ezt vegyétek figyelembe.
Köszönöm szépen előre is a segítséget!
-
don_peter
senior tag
Egy saját fejlesztésű hardverről van szó.
Itt egy videó az adat feltöltésről: [DPTP System - DPTP SMFD 64/128Mbit cartridge proto ]
A videón látszik, hogy csak 1 fájl választható ki, de az új verzión már 4.
Ezt képbe tudom csak mutatni:Utóbbi esetben kellene összefűzöm a betöltött fájlokat egy tömbbe, majd azt az egy tömböt fogom feltölteni a hardverre..
Ha van ötleted vagy példa kódod a byte-os ősszéfűzésre, ne tartsd magadba, mert a feljebb beírt kódom nem a legjobb és szerintem hibás is, mert kb 6.7MB után valami hiba miatt nem tölt be semmit. -
-
don_peter
senior tag
válasz
don_peter #7240 üzenetére
Közben megoldottam egy sor for() ciklussal, de ha van jobb ötlet akkor szívesen venném.
uint AddrCount = 0;
for (i = 0; i < file1.Length; i++)
{
FileRoms[AddrCount++] = file1[i];
}
for (i = 0; i < file2.Length; i++)
{
FileRoms[AddrCount++] = file2[i];
}
for (i = 0; i < file3.Length; i++)
{
FileRoms[AddrCount++] = file3[i];
}
for (i = 0; i < file4.Length; i++)
{
FileRoms[AddrCount++] = file4[i];
} -
don_peter
senior tag
Uraim, még egy problémám lenne.
Optimalizálnám a több file feltöltési ciklusomat.
Arra gondoltam, hogy a 4 file-omat amit behívok a programba egy tömbbe teszem bele egymás után és a végén a maximum 8MB-os tömböm meg szépen fel tudom tölteni egy ciklusom belül.
Ebből van nekem 4db:file1 = System.IO.File.ReadAllBytes(open.FileName1);
file2 = System.IO.File.ReadAllBytes(open.FileName2);
file3 = System.IO.File.ReadAllBytes(open.FileName3);
file4 = System.IO.File.ReadAllBytes(open.FileName4);
Persze mindegyik lekezelve ahogyan kell.
Ezek után ezeket szeretném egy 2dimenziós tömbbe elhelyezni.
Az első dimenzió maximum 4 lenne, vagy is 0-3-ig.
A második dimenzió pedig attól függne mekkora a file amit bele töltök.
Így próbálkoztam:byte[] array;
array[0] = file1;
...stb
Aztán így is:byte[,] array = new byte[4,(1024*1024*8)];
array[0] = file1;
Utóbbi már többdimenziós lenne, de számít, hogy a beletöltött file mérete mekkora.
Sajnos eddig nem jött össze.
Előre is köszi a segítséget..ui: nem muszáj több dimenziós tömböt használnom lehet egy, maximum 4 file össz méretével megegyező és a 4 fájl adataival feltöltött sima tömb is ami bejárható.
-
sztanozs
veterán
rem regedit kell, hanem
reg import filename
, így:System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "reg.exe";
startInfo.Arguments = "import d:\\vdfreg15_64_bit.reg"; -
_kovi_
aktív tag
válasz
sztanozs #7224 üzenetére
Ezt próbálom, le is fordul, de nem történik semmi. Nem adja hozzá a reg adatbázishoz
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;startInfo.FileName = "regedit.exe";
startInfo.Arguments = "d:\\vdfreg15_64_bit.reg"; -
don_peter
senior tag
válasz
lord.lakli #7235 üzenetére
Nem értem ezt a kérdést..
Csak olvasás?
Mire gondolsz? -
sztanozs
veterán
Innen: [link] - remélem benéz a kolléga...
const - "változót" nem tudsz fügvénnyel definiálni c#-ban.
-
Froclee
őstag
válasz
netpeti98 #7227 üzenetére
passz, de a VS2017, meg a C# 7 is elég királynak tűnik. ez a local function mivel hasznosabb mint egy Func vagy egy Action? nekem nem olyan szimpi, könnyen összekutyulhatja a kódot.
a tuple literal elég javascript feelingja és lesz visual studio (nem vs code) Mac-re. már van preview: link
ja, meg, amit eddig is tudtunk, a project.json sajna már megint csproj lesz a jövőben.
-
Brumi˘
addikt
Üdv. mindenkinek!
C#-ban írom a szakdogám, de nem nagyon van kivel megkonzultáljam. Ha feltölteném lenne aki ránéz? (alapjaiba véve csinálja amit akarok, de lehet, hogy egyszerűbben is meg lehetne oldani pár részt) Ma este vagy holnap napközbe már talán vállalható állapotba kerül. (értem ez alatt, hogy minden funkció benne lesz amit szeretnék)
-
_kovi_
aktív tag
Sziasztok!
Hogy tudom megoladni, C# kódból azt hogy le tudjak futtatni egy registry bejegyzést?
Illetve hogy kódból egy .bat fájlt lehessen lefuttatni -
brown77
csendes tag
válasz
lord.lakli #7216 üzenetére
Köszi megpróbálom így!
-
Froclee
őstag
.NET Core 1.1 kint, főleg bugfixekkel.
A Kestrel-t viszont (Core beépített webszervere) 1.822.366 request/second-re tuningolták. -
sztanozs
veterán
válasz
sirszevenap #7217 üzenetére
Használj specifikus CultureInfo-t. Ahogy nézem közvetlenül nem tudod megadni neki a culture-t, mindenféleképp kódolni kell hozzá:
http://stackoverflow.com/questions/5831455/use-real-cultureinfo-currentculture-in-wpf-binding-not-cultureinfo-from-ietfl -
sirszevenap
addikt
Sziasztok.
Ha a string formatnál beállítom ezt :
Text="{Binding Osszeg, StringFormat='{} {0:C0}'}"
akkor szépen így fogja írni a számokat pénznem esetén: 9 999 999Ft ez kell nekem. Ámde ha váltok angolra, akkor már $-ba írja, ami nekem nagyon nem jó. Hogy lehetne lockolni, hogy mindig forintba legyen? -
lord.lakli
őstag
válasz
brown77 #7215 üzenetére
Csinálj egy winform-os projektet.
Label: címke a felirathoz, kérdéshez.
Textbox: adatbeviteli mező, egyelőre szerintem mindet fogadjon el és kód szintjén ellenőrizd, hogy számot adott-e meg. Ezt később tovább viheted, hogy eleve csak számot tudjon beírni (maszkolt mező, billentyű események)
Button: nyomógomb. Ennek kell a Click eseményébe a te általad írt kód, ami kiolvassa az adott nevű textbox.Value-t (ha jól emlékszem, már régóta nem winformozom)
Megjelenítésre a legegyszerűbb egy mezei MessageBox, amelynek a Show(string) függvényét használva megjelenik egy kis ablak az üzenettel. Lehet Label.Text is, de sok minden más is. -
brown77
csendes tag
válasz
lord.lakli #7214 üzenetére
Egy olyan felületet, hogy a program megkérdezi, hogy
• hány kutya szerepel a versenyen
• hány kategória van
• mi az egyes kategóriákban elérhető maximális pontszám
• mi az egyes kategóriákban a versenyben maradáshoz szükséges minimális pontszám.pl.: Hello! Az általad megadott pontok alapján megmondom, hogy a kutyaszépségversenyen
mely kategóriákban kellett holtversenyt hirdetni.
Hány kutya szerepelt a versenyen? [2..100]:
Hány kategória volt a versenyen? [1..100]:
Hány pontot lehet maximum elérni az 1. kategóriában?
Hány pontot lehet maximum elérni az 2. kategóriában?
Hány pontot lehet maximum elérni az 3. kategóriában?
Hány pontot kell minimum elérni az 1. kategóriában? [0..50]:
Hány pontot kell minimum elérni az 2. kategóriában? [0..50]:
Hány pontot kell minimum elérni az 3. kategóriában? [0..50]:
Kérem az 1. kutya, 1. kategóriában elért pontszámát! [0..50]:
Kérem az 1. kutya, 2. kategóriában elért pontszámát! [0..50]:
Kérem az 1. kutya, 3. kategóriában elért pontszámát! [0..50]:
Kérem az 2. kutya, 1. kategóriában elért pontszámát! [0..50]: -
brown77
csendes tag
Sziasztok!
Az alábbi programozás feladatommal kapcsolatban szeretnék segítséget kérni.
Egy N résztvevőjű kutya-szépségverseny M különböző szempont szerint pontoznak, a az eredményt a kutya(n,m) mátrix tartalmazza. Minden szempont alapján maximum MAX(i) pontot adhatnak(a pontszámok nem negatív egész számok lehetnek 1<=i<=M). A versenyből automatikusan kiesik az a kutya, amelyik valamely kategóriában nem éri el a kategóriánként megadott alsó ponthatárt (also(i)).
N tetszőleges érték 5 és 10 között.
M = 3 és 5 között
A szempontonkénti maximum (MAX[j]) értékek tetszőleges egész számok 10 és 100 között
A kategóriák alsó ponthatárai a MAX[j] értékek függvényében adandóak meg.
A feladatnak része a szükséges tesztadatok kialakítása (txt formátumú fájlokban).
Készítsen algoritmust és programot a következő feladat elvégzésére:
Adjuk meg azokat a kutyákat amelyek egy kategóriába sem nyertek, de az alsó pontszámot minden kategóriában elérték.Tudna esetleg segíteni valaki valaki a Windows Form megoldásban, hogyan kellene megoldani c#-ban?
Köszönöm!
-
-
Alexios
veterán
válasz
sirszevenap #7202 üzenetére
Nem tudom, hogy most miként oldottad meg, de most hirtelen ami eszembejut, hogy csinálsz egy eseménykezelőt a "fő" toggleswitchedre ami ki/be kapcsolja az összeset, illetve egy másikat a többinek, ami csak az adott controlt kapcsolgatja, plusz a főt
(#7203) Heavyrain Hol akadtál el? Gombra beolvasáshoz openfiledialog, azzal megkapod a fájl elérési útját, beolvasod a fájlt, írsz bele, amit akarsz. Miután megvan a fájl, textboxból beolvasásnál ugyanúgy hozzá tudsz írni akármit, stb. Megnyitásnál hogy megnézd a ### részt, gondolom vagy az első vagy az utolsó ### kell, fájlt megtudod nyitni szintén openfiledialog-al, aztán mondjuk regex-el megkeresed.
-
Heavyrain
őstag
Sziasztok.
A következőt szeretném megcsinálni Form-ban:1) Egy gombra kattintva egy kiválasztott szövegfájlt beolvas, majd rögtön hozzáad 3 karaktert: "###" a végéhez.
2) Egy textbox-ba beírt egy soros szöveget hozzáadja a fájl végéhez. (Az "###" után)
3) Egy másik gombra kattintva elmenti a szövegfájlt.
4) Egy harmadik gombra kattintva beolvas egy kiválasztott szövegfájlt, és ha talál benne "###"-részt, akkor az utána lévő részt kiírja.Ezt hogyan lehetne kivitelezni?
Előre is köszönöm a segítséget -
sirszevenap
addikt
Sziasztok.
A következő a problémám amiben segítséget kérnék. Adott egy ToggleSwitch ami a fő ToggleSwitchem. Ennek van akár több al ToggleSwitch-e, tegyük fel három darab amire hatással kell lennie. (És fordítva is.)
Ahogy szeretném, hogy működjön: Ha becheckelem a fő TS-t akkor checkelődjön be az összes al TS-e az az a gyerekei. Ha csak egyet is kicheckelek az al TS-ekből akkor a fő TS-em is checkelődjön ki. Ez ugye így logikus.
Erre tudnátok nekem mondani valami jó megoldást? Ugyan elértem ezt a folyamatot, de a 3. be-ki checkelésnél már nem hat ki a fő TS-em az al TS-ekre.
Remélem érthetően írtam le. Itt van két kép ami még segíthet. Ja és ez Windows Phone.
Kicheckelt állapotban:
Becheckelt állapotban, amikor egyet kicheckelek. (Ezt kéne megoldani. Ha egyet is kiveszek, ahogy a képeken látjátok is, akkor a fenti nem változik).:
Ú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!
- PS4 Slim + VR szemüveg // Számla // Garancia //
- Steelseries Apex Pro TKL - UK ISO - AJÁNDÉK PUDDING KEYCAP
- ASUS ROG STRIX 850W GOLD Fehér / White Moduláris Tápegység
- TUF A15 FA506IU 15.6" FHD IPS Ryzen 7 4800H GTX 1660Ti 16GB 512GB NVMe magyar vbill gar
- Samsung HW-QS700F 3.1.2 Hangprojektor (BONTATLAN!)
- ALIENWARE Area-51 R6 Threadripper Edition 1920X
- AKCIÓ! MSI Z790 i5 14600KF 64GB DDR5 512GB SSD RTX 3070 8GB Rampage SHIVA Enermax 750W
- ÁRGARANCIA!Épített KomPhone i5 13400F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- AKCIÓ! Dell Latitude 5440 14 FHD üzleti notebook - i5 1335U 8GB RAM 256GB SSD Intel Iris Xe
- BESZÁMÍTÁS! Gigabyte H510M i5 10400F 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA FSP 500W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest