- Android alkalmazások - szoftver kibeszélő topik
- Mobil flották
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Google Pixel topik
- Samsung Galaxy A36 5G - a középső testvér
- Milyen okostelefont vegyek?
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Magisk
- Samsung Galaxy Watch6 Classic - tekerd!
- Apple iPhone 5s - tud ujjat mutatni
Új hozzászólás Aktív témák
-
negyedes
addikt
igen, a vegen en is rajottem. meg is irtam a kliens-szerver dolgokat, de most egy masik problema akadt. a tesztkornyezetben(Eclipse helios) minden szepen megy, komunikal az applet a szerletel(tomcat 7) DE ahogy felteszem a igazi szervere mar nem megy. atiranyit valahova es nem csatlakozik a szervlethez. Ugye most kellene certifiicate meg alairas hogy normalisan mukodjek a dolog, de most se kedvem se penzem ilyenekre, szoval valahogy meg kellene heckelni a policy filet hogy mindent lehesen csinalni. De sehogysem tudok rajonni hogyan kell.
-
x123456
aktív tag
ufff... elkéstem/-tél
Épp ebben a pillanatban találtam meg a másodikra a választ.
(azért köszi)
Az elsőre pl.:
private JButton x(String cimke, String cmd, ActionListener a){
JButton jb=new JButton(cimke);
jb.addActionListener(a);
jb.setActionCommand(cmd);
return jb;
}Ennek a most összetákolt kódban csak egy másik, a GUI-t összeállító metóduson belül lenne értelme, nem kellene, hogy a többi metódus lássa.
Egyelőre nincs jelentősége, csak eszembe jutott, hogy mi lenne, ha... -
x123456
aktív tag
Na ezt pontosan annyira értem, mint a kódot.
Mondom: szerintem valahol, valami kimaradt (vagy a sun tutorialból vagy csak az olvasásból).
Ha jól értem, az <U> helyére szintaxis szerint akár <Krixkrax>-t is írhatnék, csak az olvashatóság, könnyebb felismerhetőség miatt ajánlott az egyetlen nagybetűs jelölés.
Mi a funkciója ezesetben a void előtti <U>-nak? Mi van, ha elhagyom?
Ezt bogarászom, de számomra nem igazán derül ki belőle.------------------
szerk:
Újra végigolvasva: úgy értsem, hogy a metódus definíció fejében definiálom az "U" típust/osztályt a fordító számára, hogy ne keresse máshol? -
x123456
aktív tag
Majd még keresgélek, hátha kiderül valami érdemleges. Igazából előbb kérdeztem itt, utána kezdtem a gúgliban turkálni. A turkálás eredménye, hogy valószínűleg még most is kell SDK, csak azt nem tudom, hogy mindenhez vagy csak ahhoz, hogy az adott mobil spec. képességeit is használni lehessen. (mondjuk egy java szoftver esetében nem értem, miért kellene bármi platformfüggő dolog akár a fejlesztéshez, akár a teszeléshez)
-
x123456
aktív tag
Azt tudom, az már létezett akkor is, amikor el akartam kezdeni játszani vele. De kellett mellé a telefonhoz valami SDK is, ami úgy fest, most is szükséges. Vagy valamit félreértek, de nagyon: nokia.com-on találtam egy topic-ot, ahol jónéhányan panaszkodtak, mert a mai napig nincs linuxos SDK a nokiákhoz... mindenesetre az Eclipse követelne valami SDK-t, amit windows-on még csak-csak alá tudok tolni, de én inkább linuxon jáccanék.
-
gaben
aktív tag
A lényeg az lenne ,hogy az akadályt elkerüljök. Fekete az akadály, a fehér a szabad út. A kamerának csak egy állása van ,egyenes menet esetén előre néz, csak előre.Csak itt meg az a baj ,hogy ha mondjuk a kép nagy része fehér de belelóg az akadály ,akkor azt is meg kell különböztetni, na meg a táv kiértékelése is jó lenne az akadálytól.....Nem is olyan egyszerű...Csak ilyennel még soha nem foglaslkoztam ,így azt se tudom hol kezdjem..
-
MrSealRD
veterán
NetBeans-t használok de gondolom ez látszik a szemétből amivel tele van. Egyenlőre kísérletezem azért nem szép még a kód.
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
setBackground(new java.awt.Color(255, 255, 255));
setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.LINE_AXIS));
jTextField1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jTextField1.setForeground(new java.awt.Color(153, 153, 153));
jTextField1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(149, 149, 152), 1, true));
add(jTextField1);
jButton1.setText("Keresés");
add(jButton1);
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JTextField jTextField1;
// End of variables declarationPróbálkoztam egy olyannal, hogy a Frame-re BorderLayout-ot tettem. Erre behúztam 3 panelt North,Middle,South. Ezekre pedig egyenként FlowLayout-ot. Így működik is a dolog.
Viszont a Middle-be még kellene 3 RadioButton, de ezt csak utólag tenném fel, és a TextField alá kellene besorakozniuk mindegyiknek külön sorba. Viszont ez nem biztos, mert a plusz funkciók megírására lehet nem marad időm. -
Sanyix
őstag
megvan már, a szokásos inicializálásnál 1 től számol, ha hozzáférsz 0-tól probléma.
Tehát inicializálta 16384-es méretre (mert ennyi magassági értéket olvas be), de a sorszám az meg 0-16383 így a for ban <= helyett < kellett.Na mostmár műxik a konverter, mostmár "CSAK" a resamplét kéne megoldani a tiff-re
-
Sanyix
őstag
na ezt már nem tudom, mert állítólag az egy float32, de egyértelmű hogy nem. Kipróbáltam mit művel ha oda én ieee 754 kalkulátorral kiszámított értéket írok, hát double ként sem jó, akárhogy próbálom. Szóval mostmár fogalmam sincs milyen formátum az, csak azt tudom hogy 2 tizedes pontosságig domborzatot tud tárolni, 8 méteres felbontással 1024 méteres oldalú négyzetben.
-
-
Sanyix
őstag
egyrészt már rájöttem hogy az nem is float32, hiszen 8 hexa számnak kéne lenni, de 16 van uh ez valami 64bites dolog.
"de miert float? miert nem egesz tipusban tarolod?"
Ott még nem tartok hogy optimalizáljam, csak megfelelő outputot kéne összehozni.
Na meg nem binárisban kéne kiírni, hanem a hex értékeket sima szövegként, ugyanis egy xml-be kell majd kerülnie. Amúgy binárisban kiírva sem úgy néz ki ahogy kéne, hanem krikszkrakszos lesz.
ilyennek kéne lenni a végeredménynek, vagy legalább is a blob részben lévő adatoknak.
[link] -
Chris_T
tag
ez az, kösz a tippet
ilyesmire gondoltam én is csak nemtudtam hogy lehetne megoldani (nem dolgoztam még ilyen módon obj. referenciákkal)az első ötlet az volt hogy lenne egy folyamatosan futó ciklus a táblában ami figyeli pl a bábúk selected adattagjának változását, de ez talán felesleges erőforrás-pazarlás lett volna
remélem így jo lesz mostmár, de a lényeg hogy egyelőre működik
((Babu)e.getSource()).getOwner().mezoModosit((Babu)e.getSource());
így tulajdonképp vissza lesz küldve módosításra az adott mező (ami az eredeti célt meg is valósítja) -
Chris_T
tag
ja, mostmár valamennyire értem
mostmár nagyjából megvan az alapja az egész programnak, csak azt nem tudom hogy oldjam meg a kommunikációt két olyan objektum közt amikor egyik számára nem ismert a másik obj.példány neve, mégis meg kéne hívni a metódusát
konkrétan arról van szó hogy a bábuk tömbjét (class Babu extends JPanel) adatelemként tartalmazó objektum (class Tabla) tartalmazza a tömböt módosító metódusokat is , ezeket kellene meghívni az egyes bábúkra aggatott eseménykezelőkből (MouseListener), csak hát a az eseménykezelő nem tudja a nevét a táblának ami egy másik osztályban, az ablakban kerül példányosításra (Ablak extends JFrame)
ami leegyszerűsítené a dolgokat hogy a Tabla class implementálná a MouseListentenert is egyben, és így abból egyszerűen meg lehetne hívni a 'Tabla' metódusait
azonban ez ellentmondana a terveimnek (külön classok) illetve az újrafelhasználhatóságnak[link]
itt találtam megoldásokat, csak ebben az esetben nem olyan egyszerű mert nem az eseményt kiváltó objektum metódusát kell meghívni hanem annak az objektumnak (tábla) a metódusát ami az eseményt kiváltó objektumok tömbjét tartalmazza adattagként ( Babu[][] mezok = new Babu[5][5]; ) -
Chris_T
tag
"az Event getSource() methodusa Object-et ad vissza."
na, kösz ezt nem tudtam (gondoltam magát a konkrét objektumot adja vissza mert az összehasonlítás egy ugyanolyan tipusú objektummal és az instanceof, toString működött eddig is, de akkor ezekszerint nem ezért )Na, megvan a probléma: rossz volt a zárójelezés és ezért nem fogadta el a cast-olást
-
atm*RefeeZ
tag
próbálom én struktúrálni
debug ment folyamat, visszakaptam (elvileg) mindig, gyk. nem. rossz dolgot adtam vissza a getComponentAt()-tel, de a ha egyenlő return c; teljesen jól működik
az az újabb kérdés, hogy ha visszakapok így egy komponenst, ami eredetileg textfield volt, miként tudom kinyerni a textfield tartalmát? - csak most állok neki kutatni, de mivel egyelőre dunsztom sincsen, merre keressem, ha valakinek van tippje, szóljon
-
Sanyix
őstag
Nem is marad, ügyes ez a java nem ez az első x akta. Nem a régi fordítás marad meg mint írtam, hanem benne marad egy régen kivett rész, de már az új rész is benne is benne lesz.
Tehát kivettem pár kiírást, clean futtat, megint ottvan megint clean megint ott. Ok nem olyan nagy dolog, úgyis csak konzolra írt. Majd később belerakok 2 új metódust, clean újraindít, metódusok mennek, de még mindig megy a kiírás is, úgy hogy a forráskódban már rég nincs benne. -
Sanyix
őstag
Igen, megoldottam ugye, hogy közvetlenül hívtam egy redirect eljárást. Nem általánosan működő navrulet akartam, csak arra az egy oldalra működőt. Nem működött, de amikor kiszedtem a from view id-t egészben, akkor sem működött, sőt *-al sem. Az hogy átírtam hibásra, az is csak 1x működött, aztán az sem.
-
Sanyix
őstag
Ja mostmár megoldottam, jsf-be ennyi megy.
<h:commandButton value="Gomb" onclick="document.getElementById('azid_').value= #{adatok.id}" />Viszont jsf-ben nem látszódnak normálisan az id-k erre van egy j4j nevű csomag aminek van egy proxyid nevű izéje... csakhát megint le kéne tölteni, és itt azt nem lehet.
-
Sanyix
őstag
Naggyonzseer
h datatablet kipróbáltam, bár picit átírtam, de műxik jól. Tomahawkot ma nemtudom, mert itt a munkahelyen paranoiás védelem van, pdf-en kívül semmit sem lehet letölteni, csak otthonról tudom emailben egy kis trükkel becsempészni. De mindegy, most ez is tökéletes
-
Sanyix
őstag
van ilyen f:selectitems, meg h:datatable. pl f.selecteditems-hez láttam egy példaprograomot, egy list<selectitem> bemenete, de persze kipróbálva nem működik, mert mindenre azt írja hogy arraylist (még arra is ami nem), és selectitemet vár el (aminek semmi érdelme, mert egyenként máshogy is be tudom rakni a lista elemeit...
-
Cseme
csendes tag
Szia! Sziasztok!
Segitségre lenne szükségem javascriptbe. Abszolut amatör vagyok, egyetem majdhogy szabadon választható tantárgya.
Feladat: Adott két kép: kapu és labda.
Addig kell h mozogjon a labda akapu fele, míg bele nem száll és akkor kiirja alertba h gól:
eddig ennyi van meg:<body onload="ini()">
<img src="kapu.jpg" id="kapu">
<img src="labda.jpg" id="labda"><style>
#kapu, #labda{position:absolute}
#kapu {width:250px; height:166px}
#labda{width:67px;height:64px}</style>
<script language="JavaScript">var lx=Math.round(Math.random()*500+200,0);
var ly=Math.round(Math.random()*300+10,0);
var kx=Math.round(Math.random()*450+200,0);
var ky=Math.round(Math.random()*150+10,0);var kw=250;
var kh=166;
var lw=67;
var lh=64;
var n=0;function ini(){
document.getElementById("labda").style.left=lx;
document.getElementById("labda").style.top=ly;
document.getElementById("kapu").style.left=kx;
document.getElementById("kapu").style.top=ky;if(kx<lx && lx+lw<kx+kw && ky<ly && ky+kh >ly+lh)
{alert('GOOL');}
}</script>
</body>sejtem, h cilust kellene irni és egy settimoutot belerakni...pls help
-
Sianis
addikt
A legjobb könyv a Sun féle referencia.
[link]
És esetleg ennek kicsit mélyebben taglalt verziói. ESR írta a Hacker HOWTO-ban, hogy az igazi programozó olyan, hogy programnyelvtől függetlenül pár nap alatt bármilyen nyelven megtanul programozni. A lényeg az, hogy a programozást magát kell megtanulni a szintaktikát azt pedig az adott nyelv dokumentációjából pillanatok alatt megtanulod.
Amúgy hanyadik nyelv a Java neked?
Sianis -
petofer
csendes tag
Igen igazad van erre már rájöttem...
fordigatom parancssorbol is meg jbuilderből is, most kezdem átlátni még csak hogy mi hogy van, utánna majd lehet nekifeküdni a bonyolultabb dolgoknak!
Remélem megértem a dolgokat ebből a könyvből eddig egész érthető!
Van véleményed az Angster féle Java könyvekről? -
Forest_roby
őstag
Hi!
Igazabol ez nekem egy kicsit magas, de szerencsere en is talaltam egy tutorialt, ami erthetobnek tunik, van benne egy kesz program, ami mukodik is....
Mar csak atalakitom Grafikus feluletre es jo is lesz alapnak....
Azert koszi a segitseget!
Mas:
Ha irok egy Java progit legyen az nagyon egyszeru, vagy bonyolult progi, hogyan csinalok belole vmi futathato filet? ( exe -t )
Vagy ha ez nem lehetseges, akkor milyen lehetosegek vannak? Hogyan tudom atvinni egy masik gepre a progit?
Eddig ha el akartam inditani a progit, akkor vagy a command -ban java program paranccsal inditottam el vagy a NetBeans el az F6 gomb segitsegevel.... ez nekem nem kielegito!
Elore is koszi!
Forest -
Sianis
addikt
-
Sianis
addikt
Nem gondoltam, hogy ennyire pöcsölős ez a dolog, no de ez van!
Tehát:
- Kiírás előtt be kell olvasni az összes elemet egy tömbbe. Itt gondolom, hogy valamilyen dinamikus tömbkezelest kell írnom, vagy ha jól emlékszem pont erre jó a Collection?
- Olvasáskor hogyan valósítható meg, hogy minden objektumot beolvasson?
Sianis -
loszerafin
senior tag
Köszönöm a választ.
...ami sokkal inkabb elkepzelheto az az, hogy egy Stringhez hasonlitod
Igen, ez megy:
StringBuilder s1 = new StringBuilder(''Hello'');
String s = new String(''Hello'');
System.out.println(s.equals(s1.toString()));
Bár itt is Stringgé kell alakítani, kissé ügyetlennek tartom ezt.
Vagy akkor ez lehet a gyakori:
System.out.println(''Hello''.equals(s1.toString())); -
loszerafin
senior tag
Khm. Bocs, hülyeséget írtam. De legalább most, hogy rákérdeztél, magam is rájöttem.
Tehát javítom magam:
Nem tűnik el se a forrásfájlból (hiszen ez az értelme),
se a lefordított kódból (sajnos), hiszen a java futtatót kell paraméterezni az assertion-ök ki/bekapcsolásához.
Viszont nagyon kényelmesen kezelhető (parancssorból ki/bekapcsolható), osztályokra és csomagkönyvtárakra külön-külön, és nem lassítja a kódot, ha nincs bekapcsolva. -
Drizzt
nagyúr
Kösz, s egy másik kérdés: azt szeretném, hogy egy exceptiont dobjak, ha egy sztring nem ''V'', vagy ''D'', de ha egy if utáni feltétel részbe írnám őket or-ral összekapcsolva, akkor mindig azt mondja, hogy már korábban zárójelet vár. Mi lehet ilyenkor a megoldás? Néezegettm ezt-azt, de nem lettem sokkal okosabb... :S
-
loszerafin
senior tag
Ha jól értem a JVM-ek működését az olvasmányaim alapján, akkor nincs garantálva, hogy időosztásosan működjenek a JVM-ek. Azaz, ha azt akarom, hogy a többi szál is labdába rúghasson, kell sleep()-et tennem a hosszan futó ciklusaimba. Vagy tévedek?
Tehát nem a lock az érdekes itt, hanem hogy egy szál nem engedi futni a többit, mert nincs benne sleep és sose áll le. -
loszerafin
senior tag
Köszönöm, valóban jó megoldás egy lock objektum létrehozása:
class Counter3 {
static int cnt = 0;
static boolean end = false;
static Object lock = new Object();
static class ModCounter implements Runnable {
public void run() {
while(!end){
synchronized (lock) {
cnt += 1;
cnt -= 1;
}
}
}
}
public static void main(String[] args)
throws InterruptedException{
ModCounter modc = new ModCounter();
Thread t1 = new Thread(modc);
t1.start();
for(int i=0; i<10; i++){
Thread.sleep(500);
synchronized (lock) {
System.out.println(cnt);
};
};
end = true;
t1.join();
System.out.println(cnt);
}
} -
loszerafin
senior tag
Köszönöm, hogy foglalkozol a témával.
Közben kitaláltam egy megoldást (egy oldallal tovább kellett olvasnom a könyvben a wait()-ig)
class Counter2 {
static int cnt = 0;
static boolean end = false;
static class ModCounter implements Runnable {
public void run() {
while(!end){
synchronized (this) {
cnt += 1;
cnt -= 1;
notify();
}
}
}
}
public static void main(String[] args)
throws InterruptedException{
ModCounter modc = new ModCounter();
Thread t1 = new Thread(modc);
t1.start();
for(int i=0; i<10; i++){
Thread.sleep(500);
synchronized (modc) {
modc.wait();
System.out.println(cnt);
};
};
end = true;
t1.join();
System.out.println(cnt);
}
} -
loszerafin
senior tag
[...]hanem a referencia kerul atadasra, pont ezert hivjuk referencia szerinti atadasnak...
Nem, nem. A ''referencia szerinti paraméterátadás'' fogalma független a Java-tól, független az objektumoktól, sőt független az objektum orientált programozástól.
Egyrészt:
Az érték szerinti paraméterátadás a következő:
A hívó fél által átadott dologról (paraméter) egy másolat készül. Ezt a másolatot használja a hívott fél. Azaz a hívott fél hiába módosítja az argumentumát, az nincs kihatással a paraméterre, a hívó fél a módosításról nem vesz tudomást, hiszen a hívott eljárás csak egy másolatot módosít.
A referencia szerinti paraméterátadásnál ha a hívott fél módosítja a megkapott dolgot,
akkor a hívó félnél is megváltozik a dolog.
Az, hogy ezt hogy oldják meg az egyes nyelvek, vagy megvalósítják-e egyáltalán, az most nem érdekes.
Javában paraméterként objektum referenciát megadva a hívott eljárás egy másolatot kap a referenciáról, azaz azt hiába változtatja meg (nem az objektumot, hanem a referenciát), ebből a hívó fél semmit sem érzékel. Tehát az objektum referencia is érték szerint adódik át a hívott metódusnak.
Pl. Nyugodtan lehet null-ra állítani a metódusban a megkapott objektum referenciát, attól még nem vész el az objektumunk, csak eggyel kevesebb referenciája lesz, és minimum egy marad, amit a hívó fél használ. -
loszerafin
senior tag
Teljesen érthetően van leírva a Sybex könyvben és teljesen rosszul.
A sun weboldalán van az igazság, ahol szó szerint ez van:
------------------
Primitive arguments, such as an int or a double, are passed into methods by value.
[....]
Reference data type parameters, such as objects, are also passed into methods by value.
------------------
Mivel tudtommal nincs más típusú paraméter a Java-ban, csak primitív és objektum referencia, ezért nem is létezhet más fajta paraméterátadás, mint érték szerinti.
Itt ugyan van egy kis pontatlanság, mikor azt írja ''such as objects'', hiszen objektumot _nem_ lehet átadni paraméterként, de a hétköznapi szóhasználatban elfogadható ez a pongyolaság. (más kérdés, hogy szerintem a Sun weboldalán elfogadhatatlan, de ez most nem fontos) -
shev7
veterán
kifutottam az idobol:
''Ha ''objektumot adunk át paraméterként'' akkor nem is az objektum a paraméter, hanem az objektum referencia, ami már ''by value'' kerül a metódusba.''
itt a lenyeg, mivel nem az objektum, hanem a referencia kerul atadasra, pont ezert hivjuk referencia szerinti atadasnak... -
loszerafin
senior tag
Persze hogy egyértelmű. Az lenne a csuda, ha nem az lenne.
Azonban cseppet sem logikus.
Láthatod, a bemásolt leírásod is körmönfont:
beginIndex-ről és endIndex-ről ír, holott a substring vége _nem_ az endIndex-nél van, hanem endIndex-1 -nél.
Ugyanilyen ''logikával'' akár lehetne a string vége endIndex-17 -nél. Ekkor pl.
substring(0,17)-re kapnánk meg az első karakterét a stringnek.
[Szerkesztve] -
Lortech
addikt
Én azt nem mondtam, hogy az értékadás csak egyszer fut le, hisz ott van az én kódomban is. Így azt kapod ami a példádban is van. Csupán azt állítottam, hogy nem történik allokáció és felszabadítás minden iterációnál. Ez komoly bünti lenne egy ilyen magas szintű nyelvnél, még egy egyszerű int-nél is.
szerk: 815: np.
[Szerkesztve] -
polip
addikt
igazán köszi...már csak egy bajom van...
futtatható file-t akarok kreálni egy proggiból, ahoz kellene a .jar
exportkor az eclipse ezt írja ki: JAR export finished with warnings. See details for additional information.
Exported with compile warnings: /AWT_Grafika/GombSzamito.java
futtatáskor pedig a
Failed to load Main-Class manifest attribute from .....jar
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Android alkalmazások - szoftver kibeszélő topik
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Lalikiraly: SÜNI energiaital.
- WLAN, WiFi, vezeték nélküli hálózat
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kazy Computers - Fehérvár - Megbízható?
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Luck Dragon: Asszociációs játék. :)
- Építő/felújító topik
- Kerékpárosok, bringások ide!
- További aktív témák...
- új bontatlan iPhone 16 Pro 128GB black titanium fekete titán független Apple 1 év garancia ajándék
- HP 635 laptop eladó
- Thinkpad X230 legenda: i7 CPU, IPS kijelző, 12 GB, dupla SSD, magyar villbill, webcam, fingerprint
- Honor X6b 128GB Kártyafüggetlen 1Év Garanciával
- Apple Watch SE2 / 44mm / Midnight / Black Sport / Cellular (99%)
- Samsung Galaxy S23, 8/128 GB, Kártyafüggetlen
- Samsung Galaxy S22 Ultra , 8/128 GB , Kártyafüggetlen
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Lenovo ThinkPad X270 (16) - i5-7300U, 16GB, 512GB SSD, 12" FULL HD
- QNAP TS-870U-RP 8 lemezes Rack NAS
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest