Új hozzászólás Aktív témák
-
SzVFE1
csendes tag
Most ki is próbáltam ebben a formában, de ezt is eldobja hibával. Egyébként bármilyen tanácsot szívesen fogadok, a pywinauto-hoz sem ragaszkodom, ha létezik jobb a MobaXterm kontrollálására.
from pywinauto.application import Application
app = Application(backend='uia').start('"C:\\Program Files (x86)\\Mobatek\\MobaXterm\\MobaXterm.exe"').connect(title='val',timeout=100)
app.val.print_control_identifiers()
textEditor = app.val.child_window(control_type="Tab").wrapper_object()
getline = app.val.child_window(auto_id="66952", control_type="Edit").wrapper_object()
print(getline.Edit.get_line(0))print(getline.Edit.get_line(0))
AttributeError: 'EditWrapper' object has no attribute 'Edit'[ Szerkesztve ]
-
kovisoft
őstag
Lehet, hogy nem azt az edit controlt találtad meg, amiben a szöveg van (egyáltalán edit controlban van?). Valami alapján be kellene azonosítanod, hogy melyik child window-t keresed. Ha nem megy auto_id, class, window title, hierarchia, stb alapján, akkor esetleg megpróbálkozhatsz koordináta alapján: .from_point(x, y). De csak tippelek, mert nincs tapasztalatom a pywinauto-val.
-
Luxoros
lelkes újonc
válasz Phobion #3394 üzenetére
Köszi, hogy megnézed. A "Háromszög rajzoló" -ra kattints!
https://tkintermagyarul.blogspot.com/[ Szerkesztve ]
Layco
-
SzVFE1
csendes tag
válasz kovisoft #3404 üzenetére
Szöveget beleírni a Tab vagy Pane control kiválasztásával sikeresen tudok, csak a kiolvasás nem akar nekem menni. Edit control-ból 2 szokott lenni, az egyik ráadásul el is szokott tűnni a fa struktúrából valami miatt. Lefut a get_line rájuk hibaüzenet nélkül ha a 0-ás sort adom meg, de nem olvas ki semmit. A from_point-ot hogyan kéne esetemben használni? Nem veszélyes abból a szempontból, hogy a kódnak más gépeken, más felbontással is működnie kell? Arra gondolok, ha mondjuk pl. a felhasználó kisméretűben használja az ablakot a képernyő egy random részén, akkor máshova esnek a koordináták.
-
kovisoft
őstag
A from_point-tal kapcsolatban csak arra gondoltam, hogy a saját gépeden próbaképpen meg tudnád nézni, hogy x, y koordináta alapján melyik window-t adja vissza és az milyen típusú. És talán ez alapján már tudnál írni egy univerzális lekérdezést (az nyilván már nem x, y koordináta alapján menne, hanem típus vagy egyéb azonosító alapján).
Amúgy én némileg kételkedem abban, hogy a terminál ablak egy szimpla edit control lenne. Legalábbis ha szimulálnia kell tudni mindenféle terminál fícsört, mint pl. színezés, akkor ez lehet, hogy inkább valami speciális ablak lesz, aminek valami saját renderelése van, és akkor abból nem fogsz tudni kiolvasni szöveget. A beírás sem úgy megy, gondolom, hogy beleírsz egy edit controlba valami szöveget, hanem inkább a lenyomott billentyűket adod át, nem?
-
SzVFE1
csendes tag
válasz kovisoft #3407 üzenetére
Igen, ahogy mondod a type_keys van használva. Bevágom akkor alább a teljes fastruktúrát, hogy látni lehessen, hogy mennyire kevés a választék. Az alábbi kóddal simán megy a beleírás és a tab váltás is. A tab control alatti pane contol-okkal szintén. Nem ragaszkodom a pywinauto-hoz, bármilyen módszer tökéletes lenne, amivel parancsokat tudnék küldeni a MobaXterm adott tab-jába és szöveget tudnék kiolvasni belőle.
from pywinauto.application import Application
app = Application(backend='uia').start('"C:\\Program Files (x86)\\Mobatek\\MobaXterm\\MobaXterm.exe"').connect(title='val',timeout=100)
textEditor = app.val.child_window(control_type="Tab").wrapper_object()
textEditor.type_keys("^{TAB 2}")
textEditor.type_keys("test",with_spaces = True)
Control Identifiers:
Dialog - 'val' (L-11, T-11, R3851, B2111)
['Dialog', 'val', 'valDialog', 'val0', 'val1', 'Dialog0', 'Dialog1']
child_window(title="val", control_type="Window")
|
| Pane - '' (L0, T131, R3840, B173)
| ['Pane', 'Pane0', 'Pane1']
| child_window(auto_id="67100", control_type="Pane")
| |
| | Pane - '' (L0, T131, R360, B173)
| | ['Pane2']
| | child_window(auto_id="67102", control_type="Pane")
| | |
| | | Edit - '' (L6, T143, R354, B167)
| | | ['Edit']
| | | child_window(auto_id="67104", control_type="Edit")
| |
| | Pane - '' (L364, T131, R3778, B173)
| | ['Pane3']
| | child_window(auto_id="67108", control_type="Pane")
|
| Pane - '' (L0, T2070, R3840, B2100)
| ['Pane4']
| child_window(auto_id="67098", control_type="Pane")
|
| Pane - '' (L0, T64, R3840, B131)
| ['Pane5']
| child_window(auto_id="67096", control_type="Pane")
|
| Pane - '' (L0, T173, R360, B2070)
| ['Pane6']
| child_window(auto_id="66876", control_type="Pane")
| |
| | Pane - '' (L0, T173, R360, B2070)
| | ['Pane7']
| | child_window(auto_id="66878", control_type="Pane")
| | |
| | | TabControl - '' (L0, T173, R360, B2070)
| | | ['TabControl']
| | | child_window(auto_id="132416", control_type="Tab")
| | | |
| | | | Pane - '' (L52, T177, R356, B2066)
| | | | ['Pane8']
| | | | child_window(auto_id="66884", control_type="Pane")
| | | | |
| | | | | Pane - '' (L52, T177, R356, B2066)
| | | | | ['Pane9']
| | | | | child_window(auto_id="66886", control_type="Pane")
| | | | | |
| | | | | | TreeView - '' (L52, T177, R356, B2066)
| | | | | | ['TreeView']
| | | | | | child_window(auto_id="132424", control_type="Tree")
| | | | | | |
| | | | | | | TreeItem - 'User sessions' (L96, T177, R195, B211)
| | | | | | | ['User sessionsTreeItem', 'TreeItem', 'User sessions', 'TreeItem0', 'TreeItem1']
| | | | | | | child_window(title="User sessions", control_type="TreeItem")
| | | | | | |
| | | | | | | TreeItem - 'val' (L122, T211, R146, B245)
| | | | | | | ['val2', 'valTreeItem', 'TreeItem2']
| | | | | | | child_window(title="val", control_type="TreeItem")
| | | |
| | | | TabItem - '' (L2, T175, R50, B229)
| | | | ['TabItem', 'TabItem0', 'TabItem1']
| | | |
| | | | TabItem - '' (L2, T229, R50, B283)
| | | | ['TabItem2']
| | | |
| | | | TabItem - '' (L2, T283, R50, B337)
| | | | ['TabItem3']
|
| Pane - '' (L366, T173, R3840, B2070)
| ['Pane10']
| child_window(auto_id="67090", control_type="Pane")
| |
| | ListBox - '' (L306, T113, R307, B114)
| | ['ListBox']
| | child_window(auto_id="67094", control_type="List")
| |
| | Pane - '' (L366, T173, R3840, B2070)
| | ['Pane11']
| | child_window(auto_id="67092", control_type="Pane")
| | |
| | | Dialog - '' (L366, T173, R3840, B2070)
| | | ['Dialog2']
| | | |
| | | | ScrollBar - 'Függőleges' (L3814, T173, R3840, B2070)
| | | | ['Függőleges', 'ScrollBar', 'FüggőlegesScrollBar']
| | | | child_window(title="Függőleges", auto_id="NonClientVerticalScrollBar", control_type="ScrollBar")
| | | | |
| | | | | Button - 'Egy sorral fel' (L3814, T173, R3840, B199)
| | | | | ['Egy sorral felButton', 'Button', 'Egy sorral fel', 'Button0', 'Button1']
| | | | | child_window(title="Egy sorral fel", auto_id="UpButton", control_type="Button")
| | | | |
| | | | | Button - 'Egy sorral le' (L3814, T2044, R3840, B2070)
| | | | | ['Button2', 'Egy sorral leButton', 'Egy sorral le']
| | | | | child_window(title="Egy sorral le", auto_id="DownButton", control_type="Button")
|
| TitleBar - '' (L24, T-8, R3840, B34)
| ['TitleBar']
| |
| | Menu - 'Rendszer' (L0, T0, R22, B22)
| | ['Rendszer', 'Menu', 'RendszerMenu', 'Rendszer0', 'Rendszer1', 'Menu0', 'Menu1']
| | child_window(title="Rendszer", auto_id="MenuBar", control_type="MenuBar")
| | |
| | | MenuItem - 'Rendszer' (L0, T0, R22, B22)
| | | ['RendszerMenuItem', 'MenuItem', 'Rendszer2', 'MenuItem0', 'MenuItem1']
| | | child_window(title="Rendszer", control_type="MenuItem")
| |
| | Button - 'Kis méret' (L3627, T11, R3698, B33)
| | ['Button3', 'Kis méret', 'Kis méretButton']
| | child_window(title="Kis méret", control_type="Button")
| |
| | Button - 'Előző méret' (L3698, T11, R3768, B33)
| | ['Előző méretButton', 'Button4', 'Előző méret']
| | child_window(title="Előző méret", control_type="Button")
| |
| | Button - 'Bezárás' (L3768, T11, R3851, B33)
| | ['BezárásButton', 'Button5', 'Bezárás']
| | child_window(title="Bezárás", control_type="Button")
|
| Menu - 'Alkalmazás' (L0, T23, R2560, B42)
| ['AlkalmazásMenu', 'Alkalmazás', 'Menu2']
| child_window(title="Alkalmazás", auto_id="MenuBar", control_type="MenuBar")
| |
| | MenuItem - '' (L0, T23, R57, B42)
| | ['MenuItem2']
| |
| | MenuItem - '' (L57, T23, R116, B42)
| | ['MenuItem3']
| |
| | MenuItem - '' (L115, T23, R153, B42)
| | ['MenuItem4']
| |
| | MenuItem - '' (L153, T23, R208, B42)
| | ['MenuItem5']
| |
| | MenuItem - '' (L209, T23, R250, B42)
| | ['MenuItem6']
| |
| | MenuItem - '' (L249, T23, R298, B42)
| | ['MenuItem7']
| |
| | MenuItem - '' (L299, T23, R355, B42)
| | ['MenuItem8']
| |
| | MenuItem - '' (L355, T23, R407, B42)
| | ['MenuItem9']
| |
| | MenuItem - '' (L407, T23, R445, B42)
| | ['MenuItem10']
[ Szerkesztve ]
-
kovisoft
őstag
Nem biztos, hogy az alábbi kód működik, de valami ilyesmire gondoltam, hogy ha mondjuk fixen mindig ugyanott nyílik meg az applikáció és van egy x, y koordinátád, ami a terminál ablakba esik, akkor lekéred, hogy melyik control van ezen a pozíción, aztán kiíratod ennek valamilyen azonosítóját:
top_wnd = app.top_window().wrapper_object()
control = top_wnd.from_point(x, y)Én továbbra is kételkedem benne, hogy ez egy sima edit control lenne és hogy ki tudnád innen olvasni a megjelenített szöveget. De ne legyen igazam.
-
SzVFE1
csendes tag
válasz kovisoft #3410 üzenetére
Akkor szerinted ez a terminál vezérlés Python alatt semmilyen módszerrel nem kivitelezhető? Mindenesetre megcsináltam, amit javasoltál, a következő kóddal a következőt dobta ki. Nem tudom, hogy az 1000:1000 koordinátákkal eltaláltam-e a felületet, de nagyméretben az teszi ki a képernyő döntő részét.
from pywinauto.application import Application
app = Application(backend='uia').start('"C:\\Program Files (x86)\\Mobatek\\MobaXterm\\MobaXterm.exe"').connect(title='val',timeout=100)
textEditor = app.val.child_window(control_type="Tab").wrapper_object()
getline = app.val.child_window(auto_id="67104", control_type="Edit").wrapper_object()
top_wnd = app.top_window().wrapper_object()
print (control)
Eredmény:uiawrapper.UIAWrapper - '', Dialog
Process finished with exit code 0
Ezzel tudunk valamit kezdeni?
-
kovisoft
őstag
Ez egy Dialog, nem egy Edit control. Vagy az van, hogy ez tényleg már maga a terminál ablak, és akkor ebből nem fogsz tudni szöveget kiolvasni. Vagy pedig mégsem sikerült eltalálni. Esetleg egymáson van több control is és csak a legelsőt kaptad vissza, de igazából annak valamilyen childja lenne a keresett control. Sorry, ehhez én már kevés vagyok, eddig is jobbára csak tippelgettem.
-
Hege1234
addikt
Üdv,
egy olyan kérdésem lenne, hogy hogyan lehetne egy .txt (dat.txt, csak egy sor van benne) tartalmát a headersben lévő dat helyére "illeszteni"
headers = {
'Connection': 'keep-alive',
'sec-ch-ua': '"Chromium";v="94", " Not A;Brand";v="99", "Opera";v="80"',
'data': dat,
'sec-ch-ua-mobile': '?0',
}[ Szerkesztve ]
-
Hege1234
addikt
válasz Hege1234 #3418 üzenetére
file = open("dat.txt")
lines = file.readlines()
dat = lines[0]dat.txt
i5fstZQAjiTCw6ZdzOjaSxrjwerror:
raise ValueError('Invalid header value %r' % (values[i],))
ValueError: Invalid header value b'i5fstZQAjiTCw6ZdzOjaSxrjw\naz egészbe az kavar bele, hogy ott a végén az \n vagy az, hogy nem tudom a headers-be juttattni a dat-ot?
-
Rulez81
tag
Sziasztok,
Készítettem egy programot a napokban. Sose láttam ezelőtt Pythont. Szóval abszolut kezdő vagyok benne.
Egy kérdésem lenne, fordításkor adtam hozzá icont, viszont nem a hozzáadott icon látszik a windows tálcán, amikor fut. Ha rögzítem tálcán, akkor igen. Lehet ezt orvosolni?
köszi! -
Oryctolagus
tag
Sziasztok!
Szeretnem megtudni egy mappa utolso modositasanak datumat.
Es a jelenlegi datum kozott eltelt idot.
os.path.getctime(path)
os.path.getmtime(path)Ezekkel meg is lenne, de hogzan tudnam kivonni egyiket a masikbol?
String erteket ad vissza mindaketto.
example output: Fri Jan 21 22:10:54 2022Per aspera ad astra.
-
Pulsar
veterán
válasz Oryctolagus #3423 üzenetére
Szia,
át kell alakítani datetimre-ra és utána már kivonhatóik egymásból simán
time = datetime.strptime(time_str, '%d/%m/%y %H:%M:%S')
-
Siriusb
veterán
válasz Oryctolagus #3423 üzenetére
Szia!
Szerintem ezek számot adnak vissza: [link]
Ha datetime-má alakítod, tudsz a dátumokkal is műveleteket végezni, kivonni stb:
valtozo = datetime.datetime.fromtimestamp(os.path.getmtime(path))
-
Bazs87
tag
Sziasztok!
sziasztok!
szeretnék 3D egerér pozíciót pythonból lekérdezni.
Installáltam a pywinusbt és a spacenavigator libet is, próbáltam 3dconnexion driverrel és anélkül is, a hardwerem egy SpaceMouse Compact, usb csatlakoztatva, egér világít.
A főoldalon lévő demóprogram viszont és hibaüzenet nélkül végigmegy, de nem talál semmilyen eszközt.
Valaki dolgozott már ezzel? Mit tudok ilyenkor csinálni?
minden hasonló tapasztalat, észrevétel érdekel
Előre is köszönöm
-
cousin333
addikt
Az, hogy az egér világít, még nem sokat jelent. A Windows eszközkezelőben látod is az egeret?
Gondolom ezt a kódot futtattad:
import spacenavigator
import time
success = spacenavigator.open()
if success:
while 1:
state = spacenavigator.read()
print(state.x, state.y, state.z)
time.sleep(0.5)
Mi erre a kimenet pontosan?
Én lépésenként megnézném, mit csinál a kód. Akár debuggerrel, akár kézzel beírva. Például innen:
import pywinusb.hid as hid
all_hids = hid.find_all_hid_devices()
if all_hids:
for index, dev in enumerate(all_hids):
print(f'{index=}, {dev=}')
[ Szerkesztve ]
"We spared no expense"
-
Alcsi69
senior tag
Sziasztok!
Gyakornoki munkam soran (ami valoszinuleg nem lesz tul hosszu eletu amugy) belebotlottam nehany szamomra nehezebbnek tuno feladatba, es szerintem a legegyszerubben pythonnal lehetne megvalositani oket openpyxl segitsegevel.
Sajnos en pythonban nem annyira vagyok jartas, inkabb csak java-val es c/c++-szal foglalkoztam.A legegyszerubb feladat elso resze valahogy igy nezne ki:
Van 12db .xlsx-em melyekben kulonbozo gepek havi fogyasztasai vannak (12db xlsx->mindegyik 1-1 honapra vonatkozoan). Ezen gepeket 2021 valamelyik honapjaban fejlesztettek, es 30%-os fogyasztascsokkenest igeretek.
Van egy 13. darab xlsx, melyben a vizsgalni kivant gepek vannak, illetve a fejlesztes datuma van megadva.
Eloszor is tudnia kellene a programnak, hogyha az adott gepen pl. a 10. honapban tortent a fejlesztes, akkor a 9. es 11. honap fogyasztasi adataibol kellene a szazalekos csokkenest (jobb esetben) logolnia. Tehat tudnia kell hogy melyik fajlban kell keresnie adott ID alapjan a havi fogyasztast tartalmazo xlsxekben a megfelelo ID-hoz tartozo fogyasztasi adatokat.
Szerintetek ez a feladat a fent emlitett openpyxl segitsegevel megoldhato?
[ Szerkesztve ]
-
-
Siriusb
veterán
válasz Alcsi69 #3435 üzenetére
Nem tudom miért a python-t gondolod legegyszerűbbnek, az elmondottak alapján ha nem ragaszkodsz a python-hoz, szerintem inkább csináld meg excel-ben, gyorsabban elkészülsz és a helyedre kerülő ember – amennyiben nincs programozói tapasztalata –, jobban fog boldogulni az excel fájllal.
-
Hege1234
addikt
Sziasztok!
text fájlból szeretném a fontosabb részt egy .txt fájlba kimenteni regex-el
eddig ezt a jrepl.bat-al oldottam meg de szeretném ugyanezt megoldani pythonnala logban lehet akár 17-20000 sor is (1-2 MB a fájl mérete)
amiből csak 1 sor egy részét kellene valahogy elmenteni egy külső .txt fájlbaa jrepl-t batch alól hívtam be
call "jrepl.bat" "\bhttps?:.+\.mpd(?!\?)\b" "" /MATCH /F "log.txt_log" /O "link.txt"
pythonhoz ezt a regex-et, hogyan tudnám felhasználni?
\bhttps?:.+\.mpd(?!\?)\b
a jrepl "javascript" alapú szóval nem vagyok teljesen biztos benne, hogy átalakítás
nélkül lehet-e használni ezt a regex-et python-hoz is
kelleni fog hozzá letölteni egy modult vagy az alap python is képes rá?
Python 3.9.0regex101 példa
köszi, előre is!
-
Hege1234
addikt
válasz Hege1234 #3443 üzenetére
sikerült
import re
f = open("log.txt_log").read()
link = re.findall("https?:.+\.mpd(?!\?)", f)
link = link[0].strip()
print(link)
print(link, file=open("link.txt", "w"))----------------------
ebben viszont elakadtam
link.txt-t beolvasva hogyan tudnék abból az egy sorból szövegrészeket felcserélni?
3 különböző szöveget kellene felcserélni
ezt jrepl-el csak úgy lehetett megoldani, hogy 1 szöveget kicserélt elmentette
azt a fájlt behívva kicseréli a 2. at ezt megint elmenteni
majd behívni és kicserélni a 3. at is
ezt pythonnal meg lehetne oldani egyszerre?ez nem tudom lényeges-e, de esetleg ebből átláthatóbb:
set "int=_w[0-9]+"
set "int_new=_w999999999"
call "jrepl" "!int!" "!int_new!" /m /f "link.txt" /o "result1.txt"
setlocal enabledelayedexpansion
set "int=_ps[0-9]+"
set "int_new=_ps0000100"
call "jrepl" "!int!" "!int_new!" /m /f "result1.txt" /o "final.txt"
setlocal enabledelayedexpansion
set "int=_pd[0-9]+"
set "int_new=_pd60000000"
call "jrepl" "!int!" "!int_new!" /m /f "final.txt" /o -ebből:
https://stream7.nava.hu/navahu_bdrm/_definst_/amlst:mnfa-84/manifest_w1646702604_ps3854000_pd60000_qc2Vzc2lkPSZvbXE9dHJ1ZSZucD0mbGI9WDlYaVNvY3Q4dGpaJTJCRkt5UllXbWNxS1c3cWRZcDNnYmdOTUJVaks5MTduaUN4M1k5Sm1Vc2FPV0RyblFmV2pQbWdhM0FJVXFuYkdUJTBEJTBBNDZTUGRyZTAzUSUzRCUzRCUwRCUwQQ==.mpd
erre:
https://stream7.nava.hu/navahu_bdrm/_definst_/amlst:mnfa-84/manifest_w999999999_ps0000100_pd60000000_qc2Vzc2lkPSZvbXE9dHJ1ZSZucD0mbGI9WDlYaVNvY3Q4dGpaJTJCRkt5UllXbWNxS1c3cWRZcDNnYmdOTUJVaks5MTduaUN4M1k5Sm1Vc2FPV0RyblFmV2pQbWdhM0FJVXFuYkdUJTBEJTBBNDZTUGRyZTAzUSUzRCUzRCUwRCUwQQ==.mpd
ezzel megtalálható
"_w[0-9]+_ps[0-9]+_pd[0-9]+"de, hogyan lehetne felcseréltetni a benne lévő számokat mindig ezekre?
_w999999999
_ps0000100
_pd60000000 -
sztanozs
veterán
válasz Hege1234 #3444 üzenetére
import re
f = open("log.txt_log").read()
link = re.findall(r"https?:.+\.mpd(?!\?)", f)[0].strip()
link = re.sub("_w[0-9]+", "_w999999999", link)
link = re.sub("_ps[0-9]+", "_ps0000100", link)
link = re.sub("_pd[0-9]+", "_pd60000000", link)
print(link)
print(link, file=open("final.txt", "w"))[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Siriusb
veterán
Mivel a google megszünteti a kevésbé biztonságos hozzáférést, próbálom összehozni a levélküldést gmail api-val. Többé-kevésbé működik, azonban elakadtam ott, hogy a Feladónál hogy tudok megjeleníteni egy tetszőleges nevet, nem pusztán az email címet?
Ezidáig működött afrom email.headerregistry import Address
sender = Address(display_name='Ez az ami tetszőleges', addr_spec='Troppauer.Hümér@gmail.com')
Amennyiben valakinek van ezzel tapasztalata, megköszönöm, ha kisegít. -
rosejbli
senior tag
Sziasztok!
Útmutatást szeretnék kérni, mivel nem igazán tudom, hogy a problémámmal merrefelé induljak el.
Adott egy wordpress oldal, ahol ha egy partner kitölt egy formot (pl partner neve, email címe, telefonszáma), akkor arról én a formon megadott adatokkal kapok egy emailt, és én ebből az emailből szeretném kinyerni az adatokat majd mondjuk egy csv fájlba eltárolnám.
Tudtok ebben segíteni, hogy merre induljak?
Előre is köszi a segítséget! -
Siriusb
veterán
Első kérdés, egyáltalán hol találod meg azt az email-t? Letöltöd egy levelező klienssel? Ebben az esetben pl. ott a mailbox modul. Ha gmail-es email címre jön, akár használhatod a gmail api-t is a szerverről lekérdezéshez.
A levél felépítésétől függően a re modul segítségével regex kifejezésekkel összeszedheted a szükséges információt, ám ha a továbbiakban feldolgoznád még, lehet egy sqlite adatbázis jobb lenne, mint a csv.
Vagy írsz egy wordpress modult, ami már eleve strukturált formában kiírja az adatokat a tárhelyre és csak simán behúzod onnan.
Új hozzászólás Aktív témák
- Autós topik látogatók beszélgetős, offolós topikja
- DIGI Mobil
- MKV szerkesztés (mkvmerge gui, stb)
- A fociról könnyedén, egy baráti társaságban
- Digitális detox a Nokiától
- Modern monitorokra köthető 3dfx Voodoo kártya a fészerből
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Intel Core i7-5xxx "Haswell-E/EP" és i7-6xxx "Broadwell-E/EP" (LGA2011-v3)
- Hobby elektronika
- Politika
- További aktív témák...
- i7 7700K////1070 TI///16GB
- ASUS ZENBOOK 13 UX333FA - 13,3"FHD IPS - i5-8265U - 8GB - 512GB SSD - Win11 - Magyar
- Playstation 5 Drive Edition 825GB (CFI-1216A), 2025.11.03-ig gyári garanciával, Bp-i üzletből eladó
- Lüm-tec m85 Svájci szerkezetű Amerikai microbrand
- Új! 64Gb DDR4 - Corsair 32GB KIT DDR4 4600MHz CL18 Vengeance RGB RT