Új hozzászólás Aktív témák
-
tototos
őstag
Sziasztok!
Olyan feladatot kaptam, hogy can buson keresztül programozzak fel egy mikrovezérlőt. A can bus kártyához van .net támogatottság. Amikor bejön egy üzenet akkor a kártya ezt jelzi és veszi majd tovább tudja adni másik osztálynak. Az lenne a kérdésem hogy to hogy oldanátok meg hogy minden üzenetet megkapjon egy másik osztály és ott feldolgozza sorba őket? Van olyan hogy egymás után bejön 5 üzenet és ezeket kellene sorba feldolgozni. Próbálkoztam delegattel meg autoreseteventtel de nem sok sikerrel. Túl sűrűn jönnek az üzenetek hogy a programban rendes feldolgozás menjen.
Szóval kb vázolom mit kell megvalósítani.
osztály 1 elküld egy üzenetet majd vár hogy jöjjön rá válasz. A kártyának is van egy kezelő osztálya ami veszi az üzenetet egy szálban folyamatosan ezt berakja egy bufferba majd egy jelzést küld hogy üzenet érkezett. Ezt a jelzést kellene érzékelni és az eseményeket sorba állítani.class vector{
rxthread{
while(true){
wait for message{
message received,
message to buffer,
received message event set
}
}
}
}
class protocol{
function1{
send message
wait answer
answer received
message handle
wait for next message
}
} -
tototos
őstag
válasz FehérHolló #1750 üzenetére
Hali.
Köszi a választ. Fél évet tanultam egyetemen C#-t meg többszálú alkalmazást is írtam. A kártyát is ismerem nagyjából. Írok privit.
-
tototos
őstag
válasz Gregorius #1752 üzenetére
Köszi ez nagyon jól hangzik. Szóval amikor megjön az üzenet akkor bepakolom és a másik oldalt pedig csak folyamatosan olvasom és ő várakozik mindig ha üres. Ha egymás után gyorsan jönnek az üzenetek akkor sem fog megszakítást generálni gondolom hanem szépen feldolgozhatom az üzeneteket.
-
tototos
őstag
válasz FehérHolló #1756 üzenetére
hmm, lehet késő van már és fáradt vagyok. Szóval a kártya szálljában pakolom bele az üzeneteket, majd a protocol szálljában meg szedem ki, és adom tovább a függvényeknek. Ha kiürült a puffer akkor vár az üzenetre és ha bekerült egy akkor megint kiolvassa vagy nekem kell erről gondoskodni? Szóval megúszhatom a szálak közti jelzést?
-
tototos
őstag
Sziasztok.
Melyik metódus hívódik meg amikor a formon az X-re kattintok? Sajnos nem akar a program bezáródni amikor a formot bezárom, nem tud egy szálat lelőni.
-
tototos
őstag
Sziasztok.
Egy formnak hogy tudom megadni a szülő formját? Azt szeretném használni, hogy van egy mainform majd megjelenítek egy másik formot és az pontosan a mainform közepén jelenjen meg, láttam hogy van ilyen property.
-
tototos
őstag
Köszönöm az eddigi segítséget. Még egy kérdés, hogy tudok olyat csinálni hogy egy textboxba akarok kiírni egy fájl címét, és ha túl hosszú a cím akkor középen ...-tal elválasztja majd amikor fölé viszem az egeret a teljes címet kiírja.
-
tototos
őstag
Sziasztok.
Szeretnék a programomhoz egy progress bart megjeleníteni amikor hoszabb utasítás fut. Tehát van a mainform, majd amikor rákattintok egy gombra akkor felugrik a prgress bar és rataja fut a csík addig amíg a feladat be nem fejeződik, és a mainformra pedig nem lehet kattintani.Erre a legjobb megodásként a showdialog függvényt találtam. Létre is hoztam egy formot és rádokkoltam egy progress bart. Csak az nem tudom pontosan hol kellene szálat létrehozni és hogy lehetne hívni a shiwdialog függvényt hogy utána le is lehessen állítani. Tudtok ebben segíteni? Olyan hibába ütköztem hogy a showdialagból soha nem akart kilépni mert ugye nem kattintok semmire a frmon, manuálisan szeretném leállítani.
-
tototos
őstag
válasz kingabo #1799 üzenetére
Végül nekem is sikerült. Nagyon köszi hogy megcsináltad.
Nálam úgy néz ki hogy van a főszál, ebből meghívok egy backgroundworkert ami az adott feladatot futtatja, pl program letöltés vagy hardver init. Ez után elindítok egy másik szálat ami a progress baron fogja futtatni a a csíkot, majd a főszálból meghívom a progressform.showdialog(this) parancsot. Erre a parancsra figyeljetek mert addig benne van míg be nem zárjuk a formot, tehát magát a főszálat teljesen megfogja. Na és Amikor a backgroundworker végzett akkor az ő eventje peidg bezárja a formot és lelövi a szálat. -
tototos
őstag
Sziasztok!
Az lenne a kérdésem, hogy c# kódból tudok c vagy c++ függvényeket hívni? Van egy eszköz amihez csak c és c++ api áll rendelkezésre, és ezt kellene illeszteni egy c# programhoz.
-
tototos
őstag
Sziasztok!
Egy string feldarabolásával kapcsolatban kereslek titeket. Egy adott formátumú fájlból szeretnék kódot generálni.
Például egy ilyen sorból:
BO_ 256 Steering_msg_1: 2 SteeringSzeretném kinyerni a 256-t és a Steering_msg_1-t, valamint a BO_-t mint sorazonosítót. Nézegettem regkifeket max sima splitet is de nem tudtam még rájönni hogyan tudom parametrizáltan vágni a stringet.
Olyat lehet hogy csináljon egy string tömböt aminek első eleme a BO_ második a 256 harmadik a Steering_msg_1 és 4. a többi?
Köszi a segítséget
-
tototos
őstag
Sziasztok!
Egy kis segítséget kérnék a következő kódsor miért dob exceptiont nekem?
byte[] fileData;
StreamWriter sw = new StreamWriter(filename);
var length = fileData.Length;
sw.WriteLine("static uint8_t[{0}] epromData = { ",length);Ez az exceoption: System.FormatException: Input string was not in a correct format
Köszi a segítséget
-
tototos
őstag
Sziasztok!
Reguláris kifejezéssel kapcsolatos kérdésem lenne.
Van egy stringem ami blokkokra vannak szedve a következő struktúrában:
block1{ string }
block2{ string }Szeretném az egyes blokkokat külöün stringben tárolni, ami nálam egy kis gondot jelent, hogy a blokkokon belül lehetnek még kisebb blokkok {} jelekkel elválasztva.
A mostani regkifem így néz ki:Regex re = new Regex(@"Frames\{.*?\}");
Ezzel az a gond, hogy a nagy blokkon belül első kisebb blokk } jelére már megáll a match, nekem pedig a nagy blokk } jeléig kellene a string. -
tototos
őstag
Köszönöm a segítséget. Igazából egy parsert írok ami egy bizonyos formátumú fájlból csinál egy másik struktúrájú filet.
Egy részlet:
Frames {
ID_DATA:0x00,iStars_LINSlave,2{
Supplier_ID,0;
Machine_ID,3;
Chip_ID,8;
}
LIN_CONTROL:0x20,MB_LINMaster,4{
Reg_Set_Voltage,0;
Ramp_Time,8;
Cut_Off_Speed,12;
Exc_Limitation,16;
Derat_Shift,24;
MM_Request,27;
Reg_Blind,30;
}
LIN_STATE:0x30,iStars_LINSlave,8{
MM_State,0;
Exc_Duty_Cycle,3;
Exc_Current,8;
Rot_Speed,16;
Temperature,24;
Derating,30;
Overheating,31;
iStARS_Voltage,32;
Exc_Current_Limit,40;
CRK_State,48;
INH_CRK_State,49;
Stop_Start_Warning,50;
LIN_Com_Error,51;
NotUsed,52;
Anticip_Timeout,53;
Stalled_Rotor,54;
Aborted_Crank,55;
SH_Timeout,56;
Exc_Fault,57;
Demag_Fault,58;
Bridge_Fault,59;
MS_Fault,60;
Overvoltage,61;
LoadDump,62;
Undervoltage,63;
}
}Annyit már megcsináltam hogy az összes white-space karaktert eltüntettem.
Ebből később majd a kisebb blokkok is feldolgozásra kerülnek, de először a Frame blokkot kellene matchelni a teljes fájl tartalmából. A fájl amúgy itt elérhető: example ldf -
tototos
őstag
Sziasztok!
Még mindig regex kérdés.
Adott a következő string:Aborted_Crank:1,0,iStars_LINSlave,MB_LINMaster;
Anticip_Timeout:1,0,iStars_LINSlave,MB_LINMaster;
Bridge_Fault:1,0,iStars_LINSlave,MB_LINMaster;
CRK_State:1,0,iStars_LINSlave,MB_LINMaster;
Chip_ID:8,0,iStars_LINSlave,MB_LINMaster;
Cut_Off_Speed:4,0,MB_LINMaster,iStars_LINSlave;
Demag_Fault:1,0,iStars_LINSlave,MB_LINMaster;
Derat_Shift:3,0,MB_LINMaster,iStars_LINSlave;
Derating:1,0,iStars_LINSlave,MB_LINMaster;
Exc_Current:8,0,iStars_LINSlave,MB_LINMaster;
Exc_Current_Limit:8,0,iStars_LINSlave,MB_LINMaster;
Exc_Duty_Cycle:5,0,iStars_LINSlave,MB_LINMaster;
Exc_Fault:1,0,iStars_LINSlave,MB_LINMaster;
Exc_Limitation:8,0,MB_LINMaster,iStars_LINSlave;
INH_CRK_State:1,0,iStars_LINSlave,MB_LINMaster;
LIN_Com_Error:1,0,iStars_LINSlave,MB_LINMaster;
LoadDump:1,0,iStars_LINSlave,MB_LINMaster;
MM_Request:3,1,MB_LINMaster,iStars_LINSlave;
MM_State:3,0,iStars_LINSlave,MB_LINMaster;
MS_Fault:1,0x0,iStars_LINSlave,MB_LINMaster;
Machine_ID:5,0x0,iStars_LINSlave,MB_LINMaster;
NotUsed:1,0x0,iStars_LINSlave,MB_LINMaster;
Overheating:1,0x0,iStars_LINSlave,MB_LINMaster;
Overvoltage:1,0x0,iStars_LINSlave,MB_LINMaster;
Ramp_Time:4,0x0,MB_LINMaster,iStars_LINSlave;
Reg_Blind:2,0x0,MB_LINMaster,iStars_LINSlave;
Reg_Set_Voltage:8,0xA0,MB_LINMaster,iStars_LINSlave;
Rot_Speed:8,0x00,iStars_LINSlave,MB_LINMaster;
SH_Timeout:1,0x0,iStars_LINSlave,MB_LINMaster;
Stalled_Rotor:1,0x0,iStars_LINSlave,MB_LINMaster;
Stop_Start_Warning:1,0x0,iStars_LINSlave,MB_LINMaster;
Supplier_ID:3,0x0,iStars_LINSlave,MB_LINMaster;
Temperature:6,0x0,iStars_LINSlave,MB_LINMaster;
Undervoltage:1,0x0,iStars_LINSlave,MB_LINMaster;
iStARS_Voltage:8,0x00,iStars_LINSlave,MB_LINMaster;Ebből szeretném kinyerni az egyes Signalokat külön külön.
A következő kifejezést írtam de nem akar működni:
([a-zA-Z_]+):(\d+),(\d+),([a-zA-Z_]+),([a-zA-Z_]+,)*[a-zA-Z_]+;Köszi a segítséget
-
tototos
őstag
Sziasztok!
lehet olyat csinálni regexpben, hogy az ismétlődéseket kiszedje külön machgroupokba?
Itt a string:
Frames{ID_DATA:0,iStars_LINSlave,2{Supplier_ID,0;Machine_ID,3;Chip_ID,8;}LIN_CONTROL:32,MB_LINMaster,4{Reg_Set_Voltage,0;Ramp_Time,8;Cut_Off_Speed,12;Exc_Limitation,16;Derat_Shift,24;MM_Request,27;Reg_Blind,30;}LIN_STATE:48,iStars_LINSlave,8{MM_State,0;Exc_Duty_Cycle,3;Exc_Current,8;Rot_Speed,16;Temperature,24;Derating,30;Overheating,31;iStARS_Voltage,32;Exc_Current_Limit,40;CRK_State,48;INH_CRK_State,49;Stop_Start_Warning,50;LIN_Com_Error,51;NotUsed,52;Anticip_Timeout,53;Stalled_Rotor,54;Aborted_Crank,55;SH_Timeout,56;Exc_Fault,57;Demag_Fault,58;Bridge_Fault,59;MS_Fault,60;Overvoltage,61;LoadDump,62;Undervoltage,63;}}Ebből szeretném kinyerni az adatokat groupokban.
Ezta pattern írtam: (\w+):(\d+),(\w+),(\d+)\{([\w,;]+)\}
Ami a gond, hogy a { utáni részt nem szedi szét kisebb csoportokba, hanem egyben hagyja. Egy lépésben szeretném ezt, tudom meg lehet, hogy a groupot még tovább vágom egy későbbi lépésben.
Most így néz ki a csoportosítás:
[0][0] = ID_DATA:0,iStars_LINSlave,2{Supplier_ID,0;Machine_ID,3;Chip_ID,8;}
[0][1] = ID_DATA
[0][2] = 0
[0][3] = iStars_LINSlave
[0][4] = 2
[0][5] = Supplier_ID,0;Machine_ID,3;Chip_ID,8;ebből szeretnék egy ilyet:
[0][0] = ID_DATA:0,iStars_LINSlave,2{Supplier_ID,0;Machine_ID,3;Chip_ID,8;}
[0][1] = ID_DATA
[0][2] = 0
[0][3] = iStars_LINSlave
[0][4] = 2
[0][5] = Supplier_ID,0;
[0][6] = Machine_ID,3;
[0][7] = Chip_ID,8;Köszönöm
-
tototos
őstag
Sziasztok!
Textwriterrel hogy tudok float típust kiírni fájlba úgy, hogy ne a magyar ,-t írja hanem a .-t?
-
tototos
őstag
Sziasztok!
XMl editort szeretnék írni c#-ban de nem tudom hogy kezdjek hozzá.
A feladat az lenne hogy egy xml alapú fájlból kinyerni adatokat majd azokat beírni egy másik xml fájlba.
Példa:<link>
<name>Application/Demo/GUIDEMO.c</name>
<type>1</type>
<locationURI>PARENT-2-PROJECT_LOC/Demo/GUIDEMO.c</locationURI>
</link>
Az egyik fájl tartalmaz egy ilyen sort és a másik fájlba ilyen sort kellene belőle csinálni:
<File name="Application/Demo/GUIDEMO.c" path="Demo/GUIDEMO.c" type="1"/>Hogy lehetne ezt egyszerűen kivitelezni?
Köszönöm a segítséget
-
tototos
őstag
Sziasztok!
Van egy string tömböm amiben elérési utak vannak tárolva. Ezeket szeretném kicsit átalakítani.
Például:PARENT-3-PROJECT_LOC/a/b/c/valami.c
helyett ez kellene
../../../a/b/c/valami.c
Lényegében a számnak megfelelő ../ kell. Van erre valami szép megoldás?Köszi
-
tototos
őstag
Sziasztok!
Tudom nem a legszebb megoldás de szeretnék magában a programban tárolni egy c kódot és egy xml fájlt. Erre mi a legjobb megoldás? Hozzak létre stringeket aminek az értékei az adott fájlok tartalma lenne?
-
tototos
őstag
Egy kis programot írok, ami egy project fájlból csinál egy másikat. Az xml egy alap beállítást tartalmaz majd ebbe rakok még be elemeket és elmentem egy mappába. A C fájl pedig egy az egyben le lesz mentve egy mappába. Azért akarom a kódba rakni, hogy csak az exe-t kelljen futtatni, és ne kelljen még 2 fájlt is tárolni mellette.
-
tototos
őstag
Sziasztok!
Egy kis gui-s segítség kellene. Egy gantt chart-hoz hasonló felületet szeretnék megvalósítani, annyi lenne a lényeg, hogy a felbontása perc alapú legyen, és amikor közeledik a határidő akkor váltson pirosra a task és villogjon. A taskok feltöltése legyen viszonylag könnyen kivitelezhető akár webes felületről is. Van esetleg ötletetek hogy merre induljak el?
Köszi
-
tototos
őstag
Sziasztok!
Egy kis véleményt szeretnék a következő kódról. LDF parser
Mi kellene máshogy csinálni illetve vannak-e durva hibák. -
tototos
őstag
válasz Peter Kiss #5626 üzenetére
Köszönöm a megjegyzéseket
Az XML a tárolásra érted? Beágyazott rendszeren lesz feldolgozva a kimeneti fájl és ott az xml alapú tárolás nagyon sok memóriát igényelne. -
tototos
őstag
válasz Peter Kiss #5626 üzenetére
Megnéztem. Köszönöm a segítséget, így tényleg átláthatóbb lett az egész. Nem használtam még soha Datasetet, itt is először nélküle akartam megoldani a tárolást, de a megjelenítésnél sokkal egyszerűbbnek tűnt ezt használni.
Igyekezetem ellenére úgy látszik, mégsem sikerült jó kódot írnom. Működni működik szépen, de a megjegyzésekből ítélve van még mit fejleszteni rajta
Köszönöm még egyszer mindenkinek a hozzászólásokat. -
tototos
őstag
De szar a 2013-as visual studio
Miért nem lehet kiválasztani hogy melyik nyelveket rakja fel? Nem akarok használni c++-t f#-t és más egyé dolgokat szimplán csak a c# érdekel, és nem fogok ezért 6 giga helyet pazarolni -
tototos
őstag
válasz Peter Kiss #5626 üzenetére
Szia.
Lenne pár kérdésem.
public class LdfFileSource : ILdfSource
{
private readonly string _fileName;
private readonly LdfFileParser _fileParser;
public LdfFileSource(string fileName, LdfFileParser fileParser)
{
_fileName = fileName;
_fileParser = fileParser;
}
~LdfFileSource()
{
Dispose(false);
}
protected virtual void Dispose(bool disposing)
{
}
public void Dispose()
{
Dispose(true);
}
public LdfDataSet Load()
{
return _fileParser.ParseLdf(_fileName);
}
}Itt a Dispose mit csinál pontosan?
-
tototos
őstag
Sziasztok!
Egy kis segítséget szeretnék kérni. Szeretnék írni egy programot, ami kpépes meghívni egy batch fájlt, ami pedig make fájlokat hivogat. A nehézség a dologban, hogy ezeket a fájlokat szeretném belefordítani a a kódomba resource-ként. A process.StartInfo.WorkingDirectory-nek meg tudok adni belső a programhoz hozzáadott könyvtárat?
Köszönöm a segítséget
-
tototos
őstag
válasz lord.lakli #6563 üzenetére
Hát nem nagyon szeretném kimenteni sehova, ez a probléma. Vagy ha úgy meg lehet csinálni hogy csak a program férjen hozzá az adott mappához és senki más akkor talán járható.
Ú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!
- Windows 11
- Magga: PLEX: multimédia az egész lakásban
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Facebook és Messenger
- Autós topik
- Mozilla Firefox
- HP notebook topic
- Azonnali VGA-s kérdések órája
- Azonnali informatikai kérdések órája
- A Gigabyte is visszaveszi alaplapjainak alapértelmezett tuningját
- További aktív témák...
- LG NanoCell 55NANO766QA Halvány píxel csík
- Philips 58PUS8545/12 1 ÉV GARANCIA Játék üzemmód
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5