Hirdetés
- weiss: Lakodalom van a mi utcánkban...
- GoodSpeed: Ennél jobb Windows 7 Aero Skin nem igen van Windows 11-re (WindowBlinds 11)
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Pillangóhatás: F billentyű meghibásodása -új gamer számítógépasztal
- sziku69: Szólánc.
- Lalikiraly: Kinek milyen setupja van?
- bitpork: 2025, zárás
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sh4d0w: Kalózkodás. Kalózkodás?
- Brogyi: CTEK akkumulátor töltő és másolatai
Új hozzászólás Aktív témák
-
don_peter
senior tag
válasz
don_peter
#7988
üzenetére
Közben elkészült a program és szerencsére jól működik..
A 16bit-es színképzés okozott némi fejtörést, de végül megadta magát..
A kép bináris átalakítása is szépen megtörténik, szóval minden jól alakult.
A kérdés még fent állhat, hogy minek is kellett ez, hát ehhez:
DPTP System - Időjárás állomás beltéri -
joysefke
veterán
-
Goose-T
veterán
válasz
don_peter
#7984
üzenetére
Egyszerű, akkor nem kell levenni előle a 0x-et, lehet úgy is parse-olni. Itt találsz egy példát, hogyan kell csinálni.
-
Goose-T
veterán
válasz
don_peter
#7980
üzenetére
string input = "0x0148, 0x0148, 0x0148, 0x0148, 0x0148, 0x0148, 0x0148, 0x0968, 0x0148, 0x0968, \n 0x0148, 0x0969, 0x0148, 0x0988, 0x0168, 0x0168, 0x0168, 0x0168, 0x0968, 0x0988";
var list = input.Split(',').Select(s =>
{
string clean = s.Trim().Replace("0x", String.Empty);
if (int.TryParse(clean, out var number))
{
return number;
}
return 0;
})
.ToList();Így lehet mindent egyszerre megcsinálni. Először splittelni kell, utána trimmelni (ez kiveszi a whitespace karaktereket), aztán kiszedni a 0x-eket, majd a végén meg kell próbálni int-ként parse-olni. Ha nem sikerül, akkor 0-t adunk vissza. Egyébként ha 0x van az elejükön, akkor ezek véletlenül nem hexadecimális számok akarnak lenni?
-
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();
} -
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() -
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];
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Bundle topik
- Wise (ex-TransferWise)
- Minőségi ugrást hozhat a One új médiaboxa?
- Polgári repülőgép-szimulátorok
- Samsung Galaxy S21 FE 5G - utóirat
- Xbox Series X|S
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- Háztartási gépek
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Xiaomi Redmi Note 14 pro+ 512GB,Újszerű,Adatkabel, 12 hónap garanciával
- ASUS RTX 5060Ti DUAL OC 8GB GDDR7 DLSS4 új, 3év garis eladó
- GYÖNYÖRŰ iPhone 11 Pro Max 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3268, 100% Akkumulátor
- HIBÁTLAN iPhone 13 256GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3735, 100% Akkumulátor
- Creative Sound BlasterX G6 7.1 USB külső hangkártya
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest




