Új hozzászólás Aktív témák
-
#10382336
törölt tag
Sziasztok!
Az lenne a kérdésem, hogy hogyan lehet visual studio 2008 - al
az LPT - re adatot küldeni.
Ezt azért kérdezem, mert régebben készítettem egy borland
pascal programot, amivel idővezérelten tudom változtatni
az LPT kimenetét. Ezt a jelet elektronikusan feldolgozva
különböző elektronikus eszközöket lehet az idő függvényében
vezérelni Dos-ban.
Ennek a programnak azonban Windows alatt csak a vizuális része
működik. Tehát parancssori ablakban kijelzi, hogy az adatot
elküldte az LPT - re, azonban a jel ott nem jelenik meg.Az eredeti borland pascal - ban írt assembly rész így néz ki:
procedure egyesbe;assembler;asm
mov dx,0378h;mov al,1;out dx,al;
end;Ha valaki tudja, hogy ezt Visual Basic -ben ez hogyan nézne ki,
Kérem írja meg.Előre is köszönöm!
-
#10382336
törölt tag
válasz #10382336 #1195 üzenetére
Nagy nehezen sikerült az "mscommlib" -et belevarázsolnom a
referenciába. A folyamatát leírom, hátha valakinek szüksége lesz rá,
természetesen nem profiknak.1: letölteni az "MSCOMM32.OCX" fájlt, például innen:
[link]
Természetesen máshonnan is letölthető.
2: Az "MSCOMM32.OCX" fájlt át kell másolni a
C:\WINDOWS\SYSTEM mappába. NEM a system32 -be !!!!
3: Start menü futtatás parancsába beírni:
Regsvr32.exe C:\WINDOWS\SYSTEM\MSCOMM32.OCX -
#10382336
törölt tag
válasz #10382336 #1196 üzenetére
Az LPT port programozására sikerült készítettem egy egyszerü kis
példaprogramot VB.NET - re. A lefordított program 16.5 Kbyte. CPU - használata
közel 0%.
A program XP-n tökéletesen működik!
Ha valaki kipróbálja VISTA-n megírhatná, hogy működik-e?
Ha valaki egyszerűbb megoldást tud azt is megírhatja.A program készítésének lépései:
1: "IO.DLL" letöltése. Pl. [innen]
2: "IO.DLL" bemásolása a C:\WINDOWS\SYSTEM mappéba. (NEM a system32 -be!!!)
3: Start menu futtatás parancsba beírni:
Regsvr32.exe C:\WINDOWS\SYSTEM\io.dll
Erre a parancsra a "REGSVR32.EXE" valószínűleg kiabálni fog,
hogy a fájl betöltése sikerült, de regisztrálni nem lehet.
Ezzel nem kell foglalkozni, "OK" oszt jó napot!4: "PARMON.EXE" letöltése. Pl. [innen]
A program 446 Kbyte. CPU használata 50-80%.5: Most jöhet a VB.NET indítása.
File menü - New project - Windowsapplication létrehozása6: Project menü - add class - "konzol.vb" osztály létrehozása.
A konzol tartalma:Public Class Konzol
Private Declare Sub PortOut Lib "io.dll" _
(ByVal Port As Integer, ByVal Value As Byte)
Private Declare Function PortIn Lib "io.dll" _
(ByVal Port As Integer) As Byte
Private esemeny As New System.Threading.AutoResetEvent(False)
Private megszakitas As System.Threading.TimerCallback = _
AddressOf végrehajtás
Private idozito As System.Threading.Timer, szamlalo As Integer
Sub adatki(ByRef adat As Byte)
PortOut(888, adat)
End Sub
Function adatbe() As Byte
adatbe = PortIn(888)
End Function
Sub start()
szamlalo = 0
idozito = _
New System.Threading.Timer(megszakitas, esemeny, 0, 1000)
End Sub
Sub állj()
idozito.Dispose()
End Sub
Sub végrehajtás(ByVal stateInfo As Object)
Dim autoEvent As System.Threading.AutoResetEvent = _
DirectCast(stateInfo, System.Threading.AutoResetEvent)
adatki(szamlalo) : szamlalo += 1
If szamlalo >= 256 Then szamlalo = 0
End Sub
End Class7: "Form1 [design]" fül aktiválása, majd Dupla katt a "Form" közepébe.
A form1 így nézzen ki:Public Class Form1
Private button1, button2 As New Button
Private konz As New Konzol, konzinditvae As Boolean = False
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With button1 : .Top = 10 : .Left = 10 : .Text = "INDÍTÁS"
AddHandler .Click, AddressOf Indítás_Click
End With
With button2 : .Top = button1.Top : .Left = button1.Right + 5
.Text = "Állj"
AddHandler .Click, AddressOf Állj_Click
End With
With Me
AddHandler .FormClosing, AddressOf Form1_FormClosing
.Text = "LPT próba" : .Width = 185 : .Height = 75
With .Controls
.Add(button1) : .Add(button2)
End With
End With
End Sub
Private Sub Indítás_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If konzinditvae Then Exit Sub
konzinditvae = True : konz.start()
End Sub
Private Sub Állj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Not konzinditvae Then Exit Sub
konz.állj() : konzinditvae = False
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)
If konzinditvae Then konz.állj()
RemoveHandler button1.Click, AddressOf Indítás_Click
RemoveHandler button2.Click, AddressOf Állj_Click
RemoveHandler Me.FormClosing, AddressOf Form1_FormClosing
End Sub
End Class8: Build menü - Build parancs
9: "PARMON.EXE" indítása.
A "PARMON.EXE" -ben a "connector" - t illik átállítani "MALE" - re.
10: Lefordított program indítása.
Az "INDÍTÁS" gombra kattitva a "PARMON.EXE" mutatja a munka eredményét.Ha valaki közvetlenül az LPT-n szeretne feszültséget mérni, annak sincs akadálya, csak arra
figyeljen, hogy rövidzár ne keletkezzen!Ha az űrlapon létrehozunk egy "LABEL" - t, valamint egy új időzitőt kb. 0.3, 0.5 sec időzítéssel
és az "adatbe" függvénnyel lekérdezzük a port értékét, akkor a "PARMON.EXE" használata
feleslegessé válik.Jó programozást mindenkinek!
-
#10382336
törölt tag
válasz martonx #1198 üzenetére
Az elején írtam, hogy DOS-ban írtam már egy programot.
Azt szeretném megvalósítani XP-n.
A program 2 db 12 V-os szirénát vezérel.A következő változói vannak:
Hálózatbekapcsolási idő
Hálozatkikapcsolási idő
Eggyes szünet
Eggyes be idő
Kettes szünet
Kettes be idő
SorrendA program a következőt csinálja:
A Hálozatkikapcsolási idő és a Hálózatbekapcsolási idő között az LPT kimenete 0.
A Hálózatbekapcsolási idő és a Hálozatkikapcsolási idő között olyan astabil
multivibrátorként működik amelynek állítható minden periódusideje.
Tehát napközben jelenleg:
180 mp szünet, majd
13 mp-ig szól az 1-es sziréna, majd
180 mp szünet, majd
13 mp-ig szól a 2-es szirénaA LPT porthoz készítettem egy panelt, amely a porton lévő jeleknek megfelelően
vezérli a megfelelő szirénát, vmint a hangerőket is tudom állítani.Jelenleg madárriasztóként használom, de megfelelő átalakítással bármilyen
gép, berendezés vezérelhető lenne vele.Ha tudsz más egyszerübb és modernebb megoldást erre a feladatra, és ennek
a lényegét leírod, azt köszönettel venném. -
#10382336
törölt tag
válasz martonx #1201 üzenetére
Én az USB programozásához semennyire nem értek, pedig
jó lenne, mert USB-LPT átalakító is létezik. Így néz ki: [link]
Mondjuk erre az előző kód biztos nem lenne megfelelő.
A VB.NET programozást sem régen kezdtem el nézegetni, de
ennek az alapjait legalább kezdem érteni. Csak az a baj, hogy az angol nem igazán az
erősségem, viszont a legtöbb leírás angolul van. De azért nem adom fel.
Vannak fordítóprogramok, lassabban megy, de mégis haladok.
A másik probléma hogy elég sok mindenre van elképzelésem, de ugyanakkor egy rendszert is jó lenne felállítani. Az elképzeléseim többek között:- egy "Konzolszerű" főprogram kidolgozása, amelynek működés közben nem
látszik az űrlapja, csak ha az óra melletti ikonjára rákattintok (ez a rész már kész van). Ebben a programban
lenne egy hasonló időzitő, mint az LPT példában, amit hasonlóra tudnék használni,
mint a windows feladatütemezője. -- Ezt majdnem hogy csak be kell másolni az LPT példából.- "txtedit", vagy hasonló nevű program, ami hasonlítana a jegyzettömbre, de annál többet tudna.
Pl. a következő fájltípusokat tudná kezelni:
szövegfájl
szövegfájl karakterrel(pl. tabulátorral ) tagolt. Ezt képes lenne táblázatként kezelni.
Microsoft Word dokumentum szövegrésze.
Microsoft Excel munkalap(.xls) szövegrésze, a munkalap nevének megadása után
Microsoft Access adatbázis egy táblája, a táblanév megadása után.
Datagrid objektum bináris fájlban.
Mindezen fájlok egyedileg kódolva, külön kódok nélkül, ill. külön olvasási és írási kóddal.
Ennek egy kicsi része is megvan, de ez a kis része tökéletesen működik. De ezzel még nagyon sok
munkám lesz, főleg a mentés másként paranccsal.- "Gridedit", vagy hasonló nevű program, amivel mint a nevéből is kitűnik datagrid nézetben lehetne
szerkeszteni az előbb említett fájlokat. Annyival tudna többet a "txtedit" -nél, hogy
az Excel -hez hasonlóan egyszerre több oldalt lehet szerkeszteni.
Ez még gyerekcipőben jár, illetve darabokban megtalálható, mivel a lépéseit önmagában tudom kezelni,
de ezeket egységes egésszé tenni nem kis munka lesz.- "Binedit" nevű program, ami evidens, hogy mit csinál.
Na ehhez lövésem nincs, hogy hogy álljak neki. A fájlok bináris I/O műveletével ugyan semmi gondom nincs,
azonban fogalmam sincs, hogy a kezelőfelületet hogy állítsam elő. Gondolkodtam "textbox"-on, de az
iszonyatos munka lenne. String hosszának korlátozása, kurzorváltozásnál figyelni a kurzorpozicíót és hogyha
szóközre mutat akkor eggyel odébbvinni, nem is beszélve arról, hogy két helyen van ugye kurzor, az egyik HEX, a
másik ASCII formátumban. Alegjobb lenne valami olyan objektum, képes a bináris adatok szerkesztésére, de ilyent
eddig sehol nem találtam. Illetve a "Regedit" programban van egy bináris szerkesztőfelület, de fogalmam nincs,
hogy annak objektumához hogy tudok hozzáférni, ha egyáltalán ez lehetséges.- "Határidőellenőrző" nevű program, amely minden olyan fájlformátumot tudna forrásként kezelni, mint a "Txtedit".
Az ellenőrző része már működik. Legnagyobb hiányossága a "txtedit" hiányosságából fakad. Ezt a programot egyébként
időnként meghívhatja a "Konzolszerű" főprogram, hogy megvizgálja és kijelezze a lejárt- vagy ahhoz közelítő határidőket.- "Fdir" program, ami fájlokat listázna ki szövegfájlba a "txtedit"-ben használt fájltípusokat használva
adat- és célfájlként. Az adatfájlban soronként meg lehetne adni az utvonalat,mappamaszkot,fájlmaszkot,almappákban keressen-e,
mappákat keressen-e,fájlokat keressen-e.- "Rdir" program, ami a registry tartalmát listázná ki, az előzőhöz hasonló működési elven.
- "Fcomp" ill. "Rcomp" az "Fdir" ill. "Rdir" programok célfájljainak összehasonlítására és kigyűjtésére egy célfájlba.
- "Fájlfigyelő", ami elindítás után a megadott mappába gyűjtené ki figyelt mappákban levő változtatásokat.
Ebből is egy rész megvan a filesystemwatcher osztály felhasználásával. Jobb lenne egyébként egy olyan objektum,
amely lehetőséget adna arra is, hogy lehetséges legyen engedélyezni, vagy tiltani a műveletet. A filesystemwatcher
objektumnak a hátránya még, hogy átnevezésnél csak az új nevet írja ki, azt hogy miről lett átnevezve, azt nem.
Vagy csak én nem találom meg azokat a tulajdonságokat, vagy függvényeket amik ezeket visszaadják értékként.- "Binkereső" és "Txtkereső", amely bináris, ill. szövegfájlokban levő keresést tesz lehetővé.
Hát a közeljövőben többek között ezeket szeretném megoldani. Ezek mellett azonban jó lenne a weboldal készítésének módjáról
is valamit megtudni, mert erről elképzelésem sincs, hogy hogyan megy.Ez a terv. Kisebb-nagyobb részben ezek megvalósításának alapjai megvannak, csak nagyon sok idő kell(ene) hozzá.
Más fontos, vagy kevésbé fontos részhez lövésem sincs, ezekhez majd a konkrét ügyben szeretném megkérdezni a fórumozókat.
Az első ilyen nem életbevágó kérdésem az lenne, hogy (B)hogyan lehet .ico kiterjesztésű fájlt létrehozni/szerkeszteni.(/B)
A kérdés azért nem életbevágó, mert a fentebb említett "Konzolszerű" főprogram enélkül is működik, de jobb lenne, ha
az óra melletti ikont saját magam tudnám szerkeszteni. Ugyanis a programban van a következő sor:
notifyIcon1.Icon = New Icon("konzolikon.ico")
No ezt csak úgy tudom megcsinálni, hogy keresek egy .ico fájlt, átmásolom a mappába, majd átnevezem.
Ha valaki tudja erre a megoldást, kérem írja meg.Köszi.
-
#10382336
törölt tag
válasz martonx #1203 üzenetére
Köszi a tippet a .ico-hoz.
Ha nagyon röviden össze szeretném foglalni, akkor a határidőellenőrző egy
hasznos "kis" program. A lényege hogy egy adatfájlban fel lehet sorolni az
ellenőrzendő fájlok listáját, amelyeket jelenleg a gép indításakor átellenőriz.
és ha talál lejárt határidőt, akkor azokat kiírja egy fájlba, majd a shell
funkcióval elindítja a szerkesztőt. Természetesen külön is elindítható.
A program egy listafájlt használ, amelyben az ellenőrzendő fájlok felsorolása
van. Ezeket a fájlokat egyenként beolvassa, és ellenőrzi a teljesítetlen
határidőket. A listafájl pl. így néz ki:
c:\aaa.txt
c:\bbb\ccc.xls,5,munka1
stb...Az adatfájloknak a következő oszlopokat kell tartalmaznia:
Megnevezés Határidő TeljesítésEzeken kívül még az ellenőrzésnél az "Időkülönbség" nevű oszlopot is
figyelembe veszi, ha van. Ezenkívül bármennyi oszlopot tartalmazhat.
Ha az adott sor teljesítés oszlopa üres és az aktuális dátum nagyobb
vagy egyenlő a határidő-időkülönbség értékénél, akkor ezt a sort
kiírandó határidőnek veszi, és a fájl nevét, valamint a sor adatait kiírja célfájlba.
Az időkülönbség értékét alapesetben a progamkód határozza meg, tehát ha
nincs ilyen oszlop, akkor ezt veszi figyelembe.A többi programmal egyik célom egy rendszermonitorozó programhoz
hasonlító valami lenne, a másik pedig a windows keresőjét kiegészítő
programcsoportot létrehozni, mert a windows keresőjével pl. a .vb fájlokban
sem lehet például tudomásom sszerint szöveget keresni.A szerkesztőkre ezen különleges fájltípusok könnyeb szerkesztése miatt
van szükség. Pl. a határidőellenőrzés listafájlának szerkesztéséhez tervem
szerint beteszek egy olyan menüpontot, amely tallózás után "beteszi"
a fájl nevét és egyéb jellemzőit az aktuális kurzorpozícióba. Ezért hiába van
pl. a windows-nak notepad.exe-je készen, ilyeneket nem tudok vele
megcsinálni.Bocs, hogy megint ilyen hosszúra sikeredett a válaszom, de ez olyan
összetett témakör, hogy még egy programról is ennél többet kellene
írnom, ha részletezném, nemhogy ennyiről.
A txtedit pl. 57 Kbyte és a következő fájlokból áll.
Fájladatbekérő.vb: osztály a megnyitás,mentés másként stb... párbeszédablakhoz
Fájlbeolvasó.vb: modul a megnyitandó fájl beolvasásához tartalmazó rutinokat
tartalmaz.
Fájlio.vb: osztály a fájl adatainak tárolásához
Fájlkiíró.vb: modul a fájlbeolvasó párja
Form1.vb: osztály indításhoz
Kódolás.vb: modul az egyedi kódoláshoz
Rendszerváltozók.vb: modul a különböző mappák helyének lekérdezése és
tárolása. Pl. windows mappa
Txtedit: osztály a szerkesztő űrlapjának menüihez tartozó rutinok.Ezt még felsorolni sem egyszerű és még kész sincs teljesen!
Esetleg nem tudsz olyan objektumot, amivel bináris adatot lehet kezelni,
hasonlóképpen a Winhex programhoz, mert gondolom, annak objektumához
nem olyan egyszerű hozzáférni, mint pl. az excel-hez.Köszi és még egyszer bocs a hosszú válaszért.
-
#10382336
törölt tag
válasz martonx #1205 üzenetére
Ezek a megoldások valóban tökéletesek akkor ha valaki egy-egy
alkalommal szeretne 1-2 lépéses feladatokat végrehajtani.A feladatok testreszabottan automatizálni csak programmal, vagy
parancsállománnyal lehet. Pl. a Total commander tökéletes akkor,
ha 1-2 útvonal tartalmát szeretné valaki kilistázni különböző fájlokba.
Körülményesebb azonban ezt több alkalommal megcsinálni, és
ezeket összehasonlítani.Bár az is igaz, ha tudja valaki az adott program parancssori paraméterezését,
akkor elvileg egy .bat fájl is elegendő lehet, eleinte az időzítést is valmilyen
parancssori paranccsal oldottam meg, aminek már nem is jut eszembe
a neve, de ezt a parancsállományt is végső soron programból hoztam létre.
Közben eszembe jutott a parancs neve "AT".Összefoglalva: automatizált feledatokat program nélkül nagyon nehéz megoldani.
Arról nem is beszélve, hogy a gép bekapcsolásakor kapásból látom, hogy mikorra
mit terveztem be anélkül, hogy bármihez is hozzányúlnék. -
#10382336
törölt tag
válasz martonx #1207 üzenetére
Azt hiszem, eddig elbeszéltünk egymás mellett amibe az is közrejátszott,
hogy nagyon sok mindenről írtam egyszerre, és nem csak a leglényegesebb
dolgot írtam le. A lényeg szárazon így nézne ki:Adott egy adatbázis amelyben határidőadatok vannak.
Az én általam készítendő program arra való, hogy indításkor, valamint utána
perecenként a háttérben leellenőrizze ezeket a határidőket, és ha talál
végrehajtandó feladatot, akkor csak ezeket a rekordokat jelenítse meg.Talán így lehetett volna legtömörebben leírni a program fő feladatát.
Én azonban belementem olyan részletekbe, hogy a program nem csak
adatbázist tud kezelni, hanem .xls fájlt, karakterrel tagolt szövegfájlt
stb... Ezt lehet hogy nem kellett volna. Bocs.Legközelebb megpróbálok a lehető legtömörebben fogalmazni.
-
#10382336
törölt tag
Sziasztok!
Egy olyan kérdésem lenne, hogyan lehet ".NET"-ben
"*.HLP" fájlt létrehozni/szerkeszteni? -
-
#10382336
törölt tag
Sziasztok!
2 egymással összefüggő kérdésem lenne:
1: Lehetséges-e az "Excel" "Weblekérdezés" parancsát végrehajtó eljárást vagy függvényt írni csak .net -ben úgy, hogy az "Excel" nincs telepítve?
2: Ha igen, akkor ezt milyen objektumba / fájlba a legegyszerűbb ("datagrid"/szövegfájl???), és hogyan? (erről elképzelésem sincs).
A konkrét weblekérdezés jelen esetben:
Workbooks(Xlsnev).Sheets("Szeged").QueryTables.Add(Connection:= _
"URL;http://elvira.mavinformatika.hu/elvira.dll/AF?a=szeged" _
, Destination:=Workbooks(Xlsnev).Sheets("Szeged").Range("A1"))Természetesen az "Excel" telepítve van, de a kérdésben azért ilyen sarkosan fogalmaztam, mert a feladatot csak .net -el szeretném megoldani.
-
#10382336
törölt tag
válasz martonx #1327 üzenetére
No ezt a COM-ot szeretném kihagyni. Tulajdonképpen ha a böngészőkből kiadom a
Internet explorer esetén a Fájl - Mentés másként...
Firefox esetén a Fájl - Oldal mentése
parancsot, és szövegfájlként mentem, majdnem ugyanazt az eredményt érem el, azzal a külnbséggel, hogy így a weboldal nem csak a táblázatot adja vissza (mint az excel -nél), hanem az egész oldalt.Ezért érdekelne, hogy .NET-ből hogyan lehet ezt megcsinálni.
Erre a httpwebclient alkalmas? -
#10382336
törölt tag
válasz martonx #1329 üzenetére
A httpwebrequest, httpwebclient - el pár napja kísérletezgettem weboldalon lévő fájlok letöltése kapcsán, de ezzel én csak .html fájlt tudtam létrhozni, amire rákattintva megnyilt az alapértelmezett böngésző(firefox), ami a letöltendő fájlra mutatott és feldobta a mentés másként ablakot, amivel le tudtam tölteni.
Mivel azonban ehhez kattintgatni is kell, és én közvetlenül .net -ből akartam letölteni, ezért a httpwebrequest,httpwebclient -el való kísérletezést végül abbahagytam.
A webclient-el egyszer a Form-ra is sikerült rávarázsolnom egy bizonyos weboldalt.
Akkor végül is az egyszerű My.Computer.Network.DownloadFile() eljárás oldotta meg a problémámat.
Ezek szerint ismét vissza kell térnem ezekhez az objektumokhoz és tovább kísérletezgetni velük.köszi a javaslatokat.
-
#10382336
törölt tag
válasz #10382336 #1330 üzenetére
A következőképpen sikerült megoldani:
1: A táblázatot tartalmazó .html fájl letöltése a helyi gépre:
My.Computer.Network.DownloadFile(forrashtml, celfajl, felhasznalonev, jelszo, False, 10000000, True)2: A letöltött fájl beolvasása egy stringbe:
Dim s0 As String = Join(System.IO.File.ReadAllLines(celfajl, System.Text.Encoding.Default), "")3: A stringből a tabulátor - chr(9) - karakterek kitörlése.
4: A string átalakítása úgy, hogy egy sor vagy egy tag-ot, vagy egy szövegsort tartalmazzon.
Ezek után egy sor vagy így néz ki: "<tagnév tagtulajdonságok>"+vbcrlf ,
vagy így: "szöveg"+vbcrlf
így el lehet dönteni, hogy egy sor mit tartalmaz, ha a sor első karaktere "<" akkor tag,
egyébként szöveg.5: Ezek után "csak" fel kell dolgozni a sorokat a táblázat parancsai szerint:
<table> </table> - új táblázat, ill. táblázat vége
<tr> </tr> - következő sor, sor vége
<th> </th> - aktuális sor köv. oszlopának fejlécének kezdete/vége
<td> </td> - akt. sor köv. oszlopának eleme.
Minden más tag figyelmen kívűl hagyandó. A <th> tag-nál azonban még arra figyelni
kell, hogy <th colspan="2"> az adott sorban két cella egyesítését jelenti.A próba során célobjektumnak "datagrid" -et használtam, amit "datagridview" -el
írattam ki a "form" -ra. Összehasonlítva az eredeti weboldallal az adatok megegyeztek.Ez a megoldás valószínűleg nem a legegyszerűbb, azonban működik.
Ha valakinek van egyszerűbb megoldása, nem sértődnék meg, ha leírná.KELLEMES ÜNNEPEKET MINDENKINEK!!!
Új hozzászólás Aktív témák
- LG LCD és LED TV-k
- Rengeteg áram kell az adatközpontoknak, erre válasz a geotermikus energia
- Politika
- Óra topik
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- BestBuy topik
- Friss játéktrióhoz készült az új GeForce driver
- Bambu Lab X1/X1C, P1P-P1S és A1 mini tulajok
- Futás, futópályák
- Computex 2024: még két Socket AM4-es Ryzen jön
- További aktív témák...