Hirdetés
- Samsung Galaxy S25 Edge - a tegnap határán
- Félmillió felett a kiszállított Xiaomi autók száma
- CES 2026: Látható gyűrődés nélküli hajlítható kijelzőt hozott a Samsung
- Tízezres aksit tuszkolt a Honor a Power 2-be
- Xiaomi 15 Ultra - kamera, telefon
- iPhone topik
- Megtartotta Európában a 7500 mAh-t az Oppo
- CES 2026: Új autót mutatott be a Sony Honda Mobility
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Google Pixel 9 Pro XL - hét szűk esztendő
Új hozzászólás Aktív témák
-
quailstorm
félisten
válasz
Tomi_78
#10245
üzenetére
"Direkt csináltam úgy, hogy esésnél ne lehessen az irányt módosítani, mert így tűnik természetesnek a mozgás."
Ezt gondold újra kérlek. Hacsak nincs valami nagyon durva közegellenállás, az oldalirányú mozgásvektorod megmarad. Különben a papírrepülő is függőlegesen zuhanna lefelé pár méter után."Bár megmondom őszintén, nagyon "kocaprogramozó" vagyok, mert az ilyetén tudásom nagyjából kimerül a feltételes elágazások, ciklusok és tömbök ismeretében és használatában."
Ehhez kb. mindegy melyiket használod.
-
Tomi_78
aktív tag
válasz
quailstorm
#10243
üzenetére
"Komoly nosztalgia trip volt az oldal meg a sok GameMaker, DarkBasic csoda."
Örülök, hogy ez tetszett (de nem DarkBasic-et, hanem FreeBasic-et használok).
"Azt értem hogy ugrás után csak valamennyit lehet mozogni oldalra, bár egyet nem értek vele. De a felugrás és leesés sebessége nagyon lassú."
Direkt csináltam úgy, hogy esésnél ne lehessen az irányt módosítani, mert így tűnik természetesnek a mozgás. A sebességen persze tudok majd módosítani.
"Biztos jó volt a SharpDevelop valamikor, de nagyon bekorlátozod vele magad."
Egyszerű de nagyszerű. Az én eddigi C#-os igényeimet legalábbis kielégítette. Sokat puskáztam hozzá a világhálóról keresgélve, hogy mire milyen utasítás a jó, és azt mind lehetett alkalmazni benne. De biztos van sok új lehetőség, amit csak egy korszerűbb fejlesztőeszközzel lehet megvalósítani, ahogy írod is.
"programozni szeretsz, vagy játékot csinálni?"
Célom a programozással a teljes világuralom megszerzése! (Hoppá, elszóltam magam, így kénytelen leszek e sorok minden olvasójára ráküldeni a gyilkos robotnindzsáimat...)

De a viccet félretéve: mindkettőt szeretem. Ahogy írva is van a honlapom nyitóoldalán, keresgélem a nekem leginkább megfelelő programozási nyelvet ezek halmazából, és főleg játékok készítése által igyekszem elsajátítani azokat. Bár megmondom őszintén, nagyon "kocaprogramozó" vagyok, mert az ilyetén tudásom nagyjából kimerül a feltételes elágazások, ciklusok és tömbök ismeretében és használatában. -
joysefke
veterán
válasz
Tomi_78
#10242
üzenetére
Ahogy mások is utaltak rá: semmi értelme öreg verziókat és vacak toolingot használni.
Mindig az aktuális szupportált NET verziót és olyan csomagokat és toolingot érdemes használni ami szupportált, stabil, jól dokumentált és a fejlesztők nagy része is azt használja így a problémáiddal már mások is találkoztak. Az alternatívkodás szerintem abszolút kontraproduktív.
-
quailstorm
félisten
válasz
Tomi_78
#10242
üzenetére
Tegnap éjfélkor behalt az oldal így nem tudtam elküldeni, így elküldöm most.
Amúgy nem, az a kék nagyon nem szemnyugtató.Komoly nosztalgia trip volt az oldal meg a sok GameMaker, DarkBasic csoda.
Kis code review:
Ez inkább hasonlít valami 90-es évek eleji TurboPascal kódra, mint C#-ra. Lényegében semmit sem használsz a C#-ból. 30 millió mélységű ifek, szörnyű.
Szét kéne bontani függvényekre mert ez így átláthatatlan. OOP pattern, fájlokra bontás, rendes szerializálás a mentésre, pálya reprezentációra.A játékról: a fehér körvonalát el kéne tüntetni a talajnak, csúnya. Ez a Hold gravitáció meg nagyon lelassítja a mozgást, nem túl kellemes. 2 pálya után meguntam. Azt értem hogy ugrás után csak valamennyit lehet mozogni oldalra, bár egyet nem értek vele. De a felugrás és leesés sebessége nagyon lassú.
Biztos jó volt a SharpDevelop valamikor, de nagyon bekorlátozod vele magad. Ha áttérnél Visual Studio Code-ra, vagy Visual Studio Community-re vagy JetBrains Rider Communityre akkor sokat segítene az IDE is, meg hozzáférnél a modern nyelvi funkciókhoz. .NET 4.5 óta sok minden változott, ahhoz nem férsz hozzá. Ugyanúgy külső könyvtárakból is csak ősi verziókat tudnál behúzni.
Azt a kérdést tenném fel, hogy programozni szeretsz, vagy játékot csinálni? Lehet csúnya kóddal is jó játékot csinálni, ilyen például a VVVVVV.
Ha programozni akarsz tanulni, akkor ezt a meglévő kódbázist kalapálnám át a paradigmáknak megfelelően meg még optimalizálnám a játékmenetet kicsit. Azzal talán többet tanulsz mint egy új projecttel. -
Tomi_78
aktív tag
Köszönöm a visszajelzéseket!
Igen, a honlap kinézete kissé fapados, de annakidején ennyit tudtam összehozni a Jegyzettömb+HTML-kód párossal. A kék háttérszín pedig olyan szemnyugtató, nem?
És ha lesz a játéknak második része, akkor azt okvetlenül szebbé teszem majd kinézetileg, de most egy teljesen más program elkészítése van a fejemben. Mindenesetre sok tapasztalatot szereztem ezzel is (szinte 0-ról indulva) és nagyon megtetszett ezáltal a C# programnyelv is. De maga a SharpDevelop fejlesztőkörnyezet is vonzó a maga egyszerűségével, hiába, hogy nem fejlesztik már - sajnos. Annakidején csak rákerestem valami olyan kulcsszavakkal hogy "ingyenes C# fejlesztőkörnyezet" és ezt adta ki a Google. De nem bántam meg a használatát. -
Postas99
őstag
válasz
Tomi_78
#10236
üzenetére
Hogy legyen egy kis pozitívum, látom az erőfeszítést, de haladjunk a korral.
1, játszottam 2 pályát.
2, Hiba a vezérlésben, hogy ha lefele mész ugrásból utána már nem lehet kontrollálni hogy merre szeretnék "esni" nem néztem a kódot, de ha felfelé ugráskor lehet irányt váltani akkor nekem törvényszerű hogy eséskor is tudnám irányítani a figurát.
3, Ha már van kezdő oldal, ahol van betöltés, mentés stb... akkor jó lenne ha ide feltennéd a különböző "ellenfeleket" tárgyakat színesítve a felületet mint annó a régi jó ARCADE játékokban.
4, Most már annyira van jó az elevenlabs, hogy modernizálhatnád a hangokat.
5, Ha cserélnéd a grafikát is (nem kell nanobanana , de bármely generatívAI készítene vonzó grafikát komplett ikonkészlettel számodra.
6, A pontozás is lehetne modernebb.Gratula.
-
Tomi_78
aktív tag
válasz
joysefke
#10237
üzenetére
Igen, a honlap nem https-es hanem csak http. Próbáld meg úgy akkor, hogy csak a főoldalt nyitod meg: [link] és onnan ugrasz a C#-os aloldalra.
És köszönöm a tanácsot; lehet, hogy akkor átnyergelek én is a GitHub-ra (csak ez a saját honlaposdi olyan menő dolognak tűnik...
). -
joysefke
veterán
válasz
Tomi_78
#10236
üzenetére
Nekem a böngésző még csak nem is hajlandó megnyitni a linket. Gondolom a nem biztonságos HTTP + .zip kombó kiveri a biztosítékot.
Ha mutogatni akarod, akkor szerintem GitHubra kéne regisztrálni és oda feltölteni mint ahogy mások is teszik. További járulékos előny, hogy ha GitHubon van akkor biztos lehetsz benne, hogy az örökkévalóságnak megmarad. -
Tomi_78
aktív tag
Sziasztok!
Elkészültem hát a kis játékommal, amit C#-ban farigcsáltam már több, mint egy éve. Nem nagy durranás, de belesürítettem eddigi C#-os tudásomat, amit általatok is bővítettem, ezért úgy érzem, illendő is megmutatnom nektek kis művemet.
Tehát az elérhetősége: [link]
Benne van a forráskódja, illetve aki csak játszani akar vele, annak a smy/bin/Debug mappában maga a játék EXE-je.
Jó szórakozást!
-
Tomi_78
aktív tag
válasz
quailstorm
#10234
üzenetére
Az lett az, igen! A két gomb Location-ét áthelyeztem a panel adatainak megadása utánra, és annak koordinátáihoz igazítottam a teljes képernyő helyett.
Így most már jó lett; köszönöm szépen!
(A fenébe is, hogy a ChatGPT erre nem tért ki, amikor kérdeztem tőle...
) -
quailstorm
félisten
válasz
Tomi_78
#10233
üzenetére
Szerintem a koordinátákkal van gond igen. A példák alapján én úgy látom hogy a gombok Locationje a panelen belül abszolút koordináta, te pedig a teljes ablakhoz képes abszolútként adtad meg, így kívül van a panelen.
Szóval mindig a közvetlen szülő koordinátaterén belül kell gondolkozni. -
Tomi_78
aktív tag
válasz
quailstorm
#10232
üzenetére
Azt nem tudom. A panel rendesen megjelenik, de üresen. Lehet, hogy takarja a gombokat? De hogyan hozhatom előrébb őket?
Vagy a Location-ökkel van a gond, hogy a panelhez viszonyítja az elhelyezésüket? -
Tomi_78
aktív tag
Most még azt szeretném elérni, hogy van egy szép kis panel a képernyőn, azon pedig két gomb, de miért nem látszódik a két gomb ebben a kódban?
public MainForm()
{
Button jatmentgomb=new Button();
jatmentgomb.Width=Width/4;
jatmentgomb.Height=32;
jatmentgomb.Location=new Point(Width/2-(jatmentgomb.Width/2),Height/2-jatmentgomb.Height);
jatmentgomb.Text=jmgombszov[nyelv];
jatmentgomb.Name="jatmentgomb";
jatmentgomb.Click += new EventHandler(jatmentgomb_katt);
jatmentgomb.Visible=false;
jatmentgomb.Enabled=false;
Button jatkmgomb=new Button();
jatkmgomb.Width=Width/4;
jatkmgomb.Height=32;
jatkmgomb.Location=new Point(Width/2-(jatmentgomb.Width/2),Height/2+jatkmgomb.Height);
jatkmgomb.Text=jkmgombszov[nyelv];
jatkmgomb.Name="jatkmgomb";
jatkmgomb.Click += new EventHandler(jatkmgomb_katt);
jatkmgomb.Visible=false;
jatkmgomb.Enabled=false;
hatlap.Location=new Point(Width/2-(jatmentgomb.Width/2),Height/2-jatmentgomb.Height);
hatlap.Size=new Size(Width/4,jatmentgomb.Height*3);
hatlap.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
Controls.Add(hatlap);
hatlap.Controls.Add(jatmentgomb);
hatlap.Controls.Add(jatkmgomb);
hatlap.Visible=false;}Majd a MainFormKeyUp-ban ESC-re:
if (e.KeyCode==Keys.Escape) {
hatlap.Visible=true;
//Button jatmentgomb=(Button)hatlap.Controls["jatmentgomb"];
Control jatmentgomb=hatlap.Controls["jatmentgomb"];
jatmentgomb.Visible=true;
jatmentgomb.Enabled=true;
//Button jatkmgomb=(Button)hatlap.Controls["jatkmgomb"];
Control jatkmgomb=hatlap.Controls["jatkmgomb"];
jatkmgomb.Visible=true;
jatkmgomb.Enabled=true;
} -
quailstorm
félisten
válasz
Tomi_78
#10229
üzenetére
Itt már esélyesebb hogy összehoztál egy not all paths return a value hibát. Gondolom a case-en belül az if-en belül volt a return, de ifen kívül nem volt csak jött a break és a függvény végén sem volt.
Azt az if valamit ki kéne szervezni, ha fix dolog akkor a függvény elejére, ha nem az akkor így hirtelen passz hogy hova, túl pszeudokód ahhoz hogy lássam.
-
Tomi_78
aktív tag
válasz
quailstorm
#10228
üzenetére
Az ELSE nélkül most már jó lett; nem kapok hibaüzenetet és lefut a program.
Volt egy másik gondom is, mégpedig hogy amikor az említett RETURN-os függvényhez hasonló függvényt SWITCH elágazásokba tettem, akkor meg a BREAK utasítások nem tetszettek neki a CASE ágakban. Ezt úgy oldottam meg, hogy nem egyből RETURN-öltem, hanem csak a legvégén, és a visszaadandó értéket egy változóba tettem. Tehát valahogy így:bool fuggvenyem(string feltetel) {bool eredmeny=false;switch (feltetel) {case "egyik": if valami==true eredmeny=true;break;case "masik": if valami==true eredmeny=true;break;}return eredmeny} -
quailstorm
félisten
válasz
Alexios
#10226
üzenetére
Igaz, benéztem bocs. Annál több elágazás kéne (köztes else if) hogy ez előforduljon.
#10227Tomi_78:
Változtattál valamit a fejlesztőkörnyezeten? Vagy mégsem teljesen olyan ez a kód mint az előzőek?Olyasmi kódra mint a mintád, most az RCS1073-at adja vissza a VS2022.
Redundant else keyword hibát nem tudtam előhozni. -
Tomi_78
aktív tag
Köszönöm a válaszokat; akkor simán ELSE nélküli RETURN FALSE kell csak.
(Azt azért furcsállom, hogy eddig nem jelzett rá hibát a fejlesztőeszköz, hanem akkor, amikor egy újabb ilyen felépítésű függvényt írtam bele.) -
Alexios
veterán
válasz
quailstorm
#10224
üzenetére
De amúgy akkor is lenne minden agnak visszatérési értéke, hiszen ha if valami return, else return, tök mindegy mit írna aztán az elsen kívül
-
quailstorm
félisten
válasz
Tomi_78
#10222
üzenetére
Ez nem hiba, csak kódstílus.
Early return esetén a függvény végére rakunk egy mindig konstans return false-t. Az első if után még lehetne kód a végső returnig, ami további feltételkiértékeléseket tartalmazhatna (és további returnokat).
Most nálad az else ág üres, az if után pedig nincs semmi így ugyan felesleges kiírni hogy else, de jelen esetben sem szintaktikai sem szemantikai hibát nem jelent.
Viszont ha bármit írnál az else után, az else alá, akkor az syntax error mert hirtelen nem minden ágnak lenne visszatérési értéke. Ezt megelőzendő (meg az átláthatóság miatt) nem kell az else ilyenkor. -
cattus
addikt
-
Tomi_78
aktív tag
És most ebben a függvényben miért lett hibás az ELSE ág, hogy azt írja ki rá, hogy: "redundant else keyword"?
bool utkozes(... paraméterek ...) {
if (... ütközés igaz ...) {
return true;
} else return false;
} -
quailstorm
félisten
válasz
Tomi_78
#10219
üzenetére
Lehet, de nem érdemes.
Ugyanúgy meg lehet tanulni egy szerializálós libet mint a programozás alapjait.Abban amit csinálsz nagyon sok a munka, nagyon sok a hibalehetőség és nem tesz hozzá a játékhoz semennyit. Csak szaporodnak a kódsorok a semmiért.
Persze mindent fel lehet találni nulláról, de nem célszerű.
#10220martonx: ha jól számolom 5 éve csiszolja, de már akkor nagyon elavult alapokon kezdte.
-
martonx
veterán
válasz
quailstorm
#10218
üzenetére
Bocs, azt hittem valami új projektről van szó.
Ha valaki 30 éve csiszolgatja a régi projektjét és itt tart, hogy most már le is kellene tudnia menteni valami adatot, valahová... -
Tomi_78
aktív tag
Azt lehetőség szerint pont el szerettem volna kerülni, hogy valami külső kiegészítőt kelljen használni, egyrészt mert nem ismerem ezeket és a működésüket, használatukat, valamint a feladat egyszerűsége talán nem is teszi indokolttá.
Amit magával az adott fejlesztőeszközzel meg lehet csinálni, legtöbbször azt használom.
Persze biztos, hogy vannak bizonyos feladatok megoldásához hatékonyabb eszközök, de esetemben a probléma teljesen alapszintű volt. -
quailstorm
félisten
válasz
martonx
#10217
üzenetére
Milyen új projecten?
Egy 90-es évek szimulátorhoz ajánlottam ahol a kókányolásállóság és a kompatibilitás régi frameworkkel sokkal jobban számít.
Ráadásul ha visszakeresel a nevére:
SharpDevelopot használ. Az nem támogat 4.5.1-nél újabb .NET Frameworkot. Tehát valószínűleg nem tudja használni a System.Text.Json-t.Úgyhogy szerintem de, elegáns helyzetre szabva olyan libet ajánlani ami biztos működik nála. Ahhoz a pet project játékhoz óriási előrelépés lenne neki a Newtonsoft is.
-
martonx
veterán
válasz
quailstorm
#10214
üzenetére
Teljesen érthető, ha valahol nem cserélik le. De ettől még egy új projekten csukott szemmel a régi legacy libet ajánlani, hát nem elegáns.
-
quailstorm
félisten
válasz
Alexios
#10215
üzenetére
Persze, teljesen másképp lett megoldva végül a probléma. Integrációs tesztek miatt mondtam a többieknek hogy felesleges custom resolvert meg normalizálást meg minden féle bonyolult dolgot implementálni. Deszerializálás helyett inkább a referencia is szerializálva van és a két szerializált json van összehasonlítva.
Előző projectemen is elég keményen van abuzálva a Newtonsoft plugin architektúrás workspace deszerializáláshoz, úgyhogy ott is azért nem éri meg váltani.
-
Alexios
veterán
válasz
quailstorm
#10214
üzenetére
Lecserélni a meglévőt azért teljesen más use case mint egy új projektnél azt behúzni, vagy azt ajánlani. Nyilván legacy-t migrálni nem feltétlenül érdemes, vagy legalábbis nagyon át kell gondolni mennyi munkával jár, és mit várunk a végén tőle.
Viszont a thread amit linkeltél 3 éves, azóta pl. lehet származtatott osztályokat is deszerializálni, a referencia kezelése is finomodott stb. Pont ez a lényeg, hogy ezt aktívan fejleszik, míg a newtonsoftot már kevésbé(teljesen mással foglalkozik már James NK).
Szerintem ha új projektnél problémás a system.text.json akkor lehet ott érdemes elgondolkodni hogy biztos a libraryvel van-e a probléma, vagy mit akarunk csinálni egyáltalán.
Pl. láttam nemrég olyat hogy a Newtonsoftba van beépítve json schema validator, viszont ez sokkal szabadabban értelmezi a json schema szabványt mint bármi más. Így nem tudták lecserélni ezt a részét a kódnak egy más libraryre mert folyamatos validációs hibák voltak, mert a rendszer többi része is invalid sémára épült.
Na most itt lehet mondani hogy de jó a newtonsoft, bezzeg a másikkal nem lehet megoldani, de azért lehet mégiscsak az lenne a jobb ha a kód inkább jól lett volna megírva. -
quailstorm
félisten
válasz
martonx
#10212
üzenetére
Felhasználásfüggő. Nem teljes helyettesítő a System.Text.Json.
De persze, Tominak valószínű elég, meg az átlag projectbe is elég. Munkában előző projectemnél biztosan nem volt érdemes lecserélni a Newtonsoftot, mert csak a rengeteg szívást és kompatibilitási problémát kaptuk volna a nyakunkba, de mostani projectemen is volt olyan eset (bocs, elfelejtettem), ahol a megoldás egyszerűbb lett volna és jobban dokumentált volt Newtonsofttal.
Szóval én még nem temetném a Newtonsoftot, de nyilván új projecten nem azzal kell kezdeni feltétlen.
-
Tomi_78
aktív tag
válasz
quailstorm
#10211
üzenetére
Átrendeztem kicsit akkor a tanácsod alapján a kódot és most úgy látszik, helyesen működik (bár nem értem, mi volt a hiba); köszönöm szépen!
StreamWriter f = new StreamWriter("mentes.txt");
for (int j=0; j<jatelemlista.Count; j++) {
var je = jatelemlista[j];
switch (je.neve) {
case "jatekos": //Adatok beírása
break;
case "robot": //Adatok beírása
break;
//És így tovább...
}if (j<(jatelemlista.Count-1)) f.WriteLine("."); //Zárótag.
}
f.Close(); -
martonx
veterán
válasz
quailstorm
#10211
üzenetére
Newtonsoftot ne már mikor 5 éve van System.text.json
-
quailstorm
félisten
válasz
Tomi_78
#10210
üzenetére
Tegyél breakpointot a kiírás közben. Csak ez a kód ír ki pontot?
A for-t én Count - 1-ig futtatnám. A switchet kitenném helper methodba. A pontírás maradna a foron belül a helper method után. For végeztével meghívnám mégegyszer a helper methodot az utolsó elemre.
De igazából az egésznek nem sok értelme van. Miért szívatod magad saját szeralizátorral? Legyen rendes game state objected és használj valami XML vagy JSON szerializáló libraryt (Newtonsoft mondjuk).
Ez így 90-es évek szimulátor.
-
Tomi_78
aktív tag
Sziasztok!
Kis játékomban éppen a mentést programozom le, de folyton abba a hibába ütközöm, hogy az alábbi ciklus a fájl legvégére is beír egy pontot, holott nekem oda nem kellene, mert kiolvasáskor így úgy érzékeli, hogy jön még egy játékelem a fájlból, pedig csak fájlvége jel van már ott.
Valaki látja, hogy mit rontok el? Vagy teljesen rosszul csinálom?StreamWriter f = new StreamWriter("mentes.txt");for (int j=0; j<jatelemlista.Count; j++) {
var je = jatelemlista[j];
switch (je.neve) {
case "jatekos": //Adatok beírása
if (j<(jatelemlista.Count-1)) {
f.WriteLine("."); //Ez nem jó valamiért
}; //Zárótag.
break;
case "robot": //Adatok beírása
if (j<(jatelemlista.Count-1)) {
f.WriteLine("."); //Ez nem jó valamiért
}; //Zárótag.
break;
//És így tovább...
}
}
f.Close(); -
pmonitor
aktív tag
-
pmonitor
aktív tag
válasz
sztanozs
#10206
üzenetére
Igazából maga a ComAutoWrapper kb. 18-20 KB lenne. Csak mi 1-2 sűrűbben használt dolgot is beletettünk. Pl. a "ExcelSelectionHelper.cs", "ExcelStyleHelper.cs" fájlokat kapásból ki lehetne dobni belőle. De azért írtam azt, hogy mindkettő package elfér egymás mellett. Nem zavarják egymást. És ahol elfér több MB-os openxml, ott már ez a pár 10 KB-os ComAutoWrapper is bőven elfér. De ha mind a kettőt használja valaki, akkor már csak 1 dolog marad megoldatlan: A binárisan tárolt fájlok(pl. jelszóval védett), ha az excel nincs telepítve. Mert ezt az esetet egyik sem tudja kezelni.
-
pmonitor
aktív tag
válasz
quailstorm
#10204
üzenetére
Igen. Ez is benne van az összehasonlító táblázatban. Az openxml meg nem tudja a binárisan tárolt fájlokat kezelni. Megpróbálom ide másolni a táblázatot. De nem tudom, hogy olvasható lesz-e.
## 📊 Comparison: OpenXML vs COM Automation
This section compares two popular approaches for automating Office documents in C#.
| Feature / Capability | OpenXML SDK | COM Automation (`ComAutoWrapper`) |
|--------------------------------------------------|------------------------|------------------------------------|
| File-based read/write | ✅ Yes | ❌ No |
| Live Office application control (Excel/Word) | ❌ No | ✅ Yes |
| Handles password-protected files | ❌ No support | ✅ Yes (if Office can open it) |
| Supports running VBA macros | ❌ No | ✅ Yes |
| Reads current user selection | ❌ No | ✅ Yes |
| Formatting (color, styles, font size, etc.) | ⚠️ Limited | ✅ Full |
| Chart and graphic manipulation | ❌ No | ✅ Yes |
| Interactive editing of running instance | ❌ No | ✅ Yes |
| Requires Interop DLLs | ❌ No | ❌ No (via ComAutoWrapper) |
| Can be used without Office installed | ✅ Yes | ❌ No |
| Dependency size | ✅ Small | ✅ Small (via wrapper) |
> ⚠️ Note: OpenXML is best for static document generation and server-side manipulation.
> ✅ COM Automation is best for real-time document interaction and full feature access.
Using `ComAutoWrapper`, you get the **full power of Office** with the **ease of a lightweight, interop-free helper**, suitable for Excel and Word automation alike.
While both OpenXML and COM automation are useful for working with Office documents, they serve very different use cases. Here’s a feature-by-feature comparison to help you decide.
De mondjuk azt beszéltük meg a ChatGpt-vel, hogy vígan megférnek egymás mellett is. Igazából az sem mind1, hogy a ComAutoWrapper ~31 KB, az openxml, meg ~10 MB. Pl. ez sem mind1. -
pmonitor
aktív tag
válasz
pmonitor
#10202
üzenetére
A ChatGpt írt egy összehasonlító táblázatot az "openxml", és a "COM Automation" között. A táblázat a README.md végén található. Érdekes összehasonlítás... Az eredmény magáért beszél. A ChatGpt nagyon sokat segített a projekt implementálásában.
Ú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!
- exHWSW - Értünk mindenhez IS
- TCL LCD és LED TV-k
- Házimozi haladó szinten
- Otthoni hálózat és internet megosztás
- Okos Otthon / Smart Home
- Filmvilág
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- sziku69: Fűzzük össze a szavakat :)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Spórolós topik
- További aktív témák...
- BASEUS Compact Quick Charger 2xUSB USB-C PD 3A 30W fekete
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4076
- Eredeti Lenovo 230W töltők - 4X20Z83995
- MS SQL Server 2016, 2017, 2019
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




