Új hozzászólás Aktív témák
-
válasz
#95904256 #1698 üzenetére
Hali!
Megoldható emígyen:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Uses TypInfo;
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
with Form1, ListBox1 do begin
Clear;
Items.Add('A form1-en található komponensek száma: '+IntToStr(Form1.ComponentCount));
for i:=0 to Form1.ComponentCount-1 do begin
Items.Add(Form1.Components[i].Name);
with Form1.Components[i] do begin
if GetPropInfo(ClassInfo, 'WordWrap')<>nil then Items.Add('VAN WordWrap tulajdonsága')
else Items.Add('NINCS WordWrap tulajdonsága');
end;
end;
end;
end;
end.Delphi 7 ben íródott.
Kell egy TButton(Button1), TEdit(Edit1) és TListBox(ListBox1) a Formra(Form1).
Ami végülis a lényeg, az a GetPropInfo() függvény
A ComponentCount függvénnyel lekérjük a Form1-en lévő komponensek számát, majd egyenként végigmegyünk rajtuk egy ciklussal, és lekérjük az infót az adott tulajdonságról. Itt a WordWrap tulajdonságot ellenőriztem, ha a GetPropInfo nil értékkel tér vissza, akkor nincs ilyen tulajdonsága az adott komponensnek.
(Itt csak a Button-nak van ilyen tulajdonsága)
Ahhoz hogy használni tudd, kell ez a Unit: Uses TypInfo;A kód szerintem érthető, tisztán látszik hogy kell használni, ha mégsem akkor persze írj nyugodtan.
Fire.
-
#95904256
törölt tag
Sziasztok!
Hogyan lehet ellenőrizni futásidőben azt, hogy egy objektum rendelkezik-e egy bizonyos property-vel vagy sem?
szerk.: Valami hasonló az elgondolásom:
if assigned(object.property) then ...
...csak ugye ez nem működik, mert inkompatibilis.
-
Prego
senior tag
Érdekes: két táblát használok: az egyikben az autók szerviztörténete található, minden tevékenységhez tartozik egy ár is (service.PRICE) A teszttáblába 9 rekord található, az árak 100 ... 900 (egyszerűség kedvéért az összegük 4500).
A másik tábla a házipénztárat tárolja (kivétel, betét) (cash.EPRICE)Ha azt a parancsot adom ki hogy:
SELECT
SUM(service.PRICE)
FROM service
Akkor kiadja a 4500 (jó) megoldást. Ha viszont azt adom meg hogy:
SELECT
SUM(service.PRICE)
FROM service, cash
akkor már 9000-et ad vissza (akkor is ha még csinálok egy lekérdezést a cash táblából). -
nszabolcs
tag
Helló!
Egy beadandó programom helyi mysql adatbázist használ, viszont ezt át kellene alakítanom olyanra, hogy távoli adatbázist is el tudjak érni vele. Kerestem, hogy hol lehet ilyet beállítani, de nem találtam. Ha valaki segítene az nagyon jó lenne.
Előre is köszi!Szabolcs
-
Prego
senior tag
nah újabb probléma: olyan kis progit fejlesztek, ami különböző helyeken található exe fájlokat indítana el. Próbáltam már a ShellExecute és a CreateProcess parancsokat, de mindkettő rosszúl akar működni. Vázolom:
Van a login.exe, ami futtatná a többit (6 gomb van rajta ...)
Van a cars.exe egy másik mappában, ami használ különböző fájlokat (relatív hivatkozással). A database.dat fájlt, ami az adatbázisok helyét mutatja meg teljesen jól működik, az adatokat lekéri, van viszont egy olyan jpg fájl, ami a beviteli formon jelenik meg, amikor alaphelyzetbe hozom. Ez utóbbit viszont a login.ex mappájában keresi.
Valami ötlet ha érthető voltam? -
Prego
senior tag
A képen a (teszt)adatbázis látható, gondolom minden kiderül róla.
A bajom az, hogy amikor azt a parancsot adom ki hogy:
SELECT WORK FROM service.db WHERE PLATE ='KWG-183'
Akkor kiakad, Invalid use of keyword Token: WORK Line Number: 1
Ha SELECT * al próbálom megoldani, akkor mindent szupi, meg akkor is ha a WORK kivételével az összes mezőt beteszem a SELECT-be.
Adatfelvitelnél már nem is említem hogy kiakad ...
Mégse akar képet ... Paradox 7 Tábla, TQuery komponens, SDATE (dátum), PLATE (AlphaNumerikus(7)), WORK(Alphanumerikus(100), PRICE(Number) mezőkkel. -
nszabolcs
tag
Helló!
Nekem egy olyan problémám van, hogy van egy formom, rajta egy DBGridem. És azt nem tudom, hogy hogyan lehet azt megoldani, hogy az ablak méretezésével együtt a grid mérete is ugyanúgy változzon.
Szabolcs
-
seepheerd
csendes tag
Köszi!!! (Nem mindig van netünk itten)
Az a lényeg hogy GPS referenciát monitorozunk (12 órában 15 másodpercenként érkezik egy rekord), és ha a kód 1000-ről (ami jó) 100-ra vagy 0-ra vált, azokat a rekordokat kellene kipakolni másik file-ba hogy az időpontokat így egyszerűen kinyerhessük.
-
Prego
senior tag
válasz
Fire/SOUL/CD #1686 üzenetére
Köszi az elméletet, lehet majd nyáron átbabrálom a szakdogámat. Suliban még nem volt téma ez a mestertábla, sőt arra ösztökélnek minket hogy összetett kulcsokat használjunk, majd akkor utánanézek ennek is ...
-
Hali!
Az ötlettel nincs semmi baj, azt hiszem értem mit nem értesz, illetve hogy miért tetted fel a korábbi kérdéseid. Nézd el nekem(és ezt nem rosszindulatból mondom, segíteni szeretnék ha igényt tartasz rá), de azt hiszem, hogy bizonyos alapvető adatbáziskezelői dolgokkal nem vagy tisztában...ugyanis:
1. Mindegy hány adatbázisod van ill. azon belül hány tábla
2. Mindegy hogy megosztott vagy sem az adatbázis vagy akár egy tábla
3. Master-Detail kapcsolatokat pont erre találták ki, mi is az?
Adott pl 2 tábla, az egyik a Master(Mester, Fő, Elsődleges, Főnök), a másik meg a Detail(részletek, alárendelt, másodlagos), amit Master-Detail kapcsolattal összekapcsolsz.
Ezt a táblák létrehozásakor(Database Desktop) és a Delphi projectben is meg kell tenni. Abból áll(legegyszerűbb esetben) hogy mind a Master, mind a Detail táblában van két egyforma mező, ami segítségével az "összekapcsolás" elvégezhető.(azt hogy hogyan, csak akkor írom le, ha igényt tartasz rá) Mire jó is ez?
Hát arra, hogy pl az esetedben az adott bérlőhöz tartozó autóbérletek jelenjenek meg, anélkül hogy Te kezelnéd le több táblából(macerás, meg felesleges amikor a BDE elvégzi helyetted). Aztán olyan előnye is van, hogyha pl 1000 emberke kibérelte ugyanazt a kocsit, mondjuk az ABC-123 rendszámút, aztán kiderül utólag, hogy annak a kocsinak XYZ-321 a rendszáma(mert pl valaki rosszul vitte be az adatokat), akkor nem kell mind az 1000 embernél átírni a rendszámot, csak az autók táblában 1 helyen.(persze itt is vannak beállítási kérdések, meg mérlegelni kell hogy ez megengedhető-e egyáltalán)
4. A DBEdit, DBComboBox, DBMemo,stb nem okoz nekik gondot, hogy egy másik táblából vagy a Detail táblából megjelenítsenek, módósítsanak bármelyik mezőt.Fire.
UI: mégeszer mondom(írom), nem kioktatásnak szántam, csak pár alapvető dolog segítségével, sok felesleges, macerás, magában sok hibát rejtő, időigényes feladattól kimélheted meg magad....(nem beszélve arról, hogy Delphi-ben "így kell csinálni"...
-
Prego
senior tag
válasz
Fire/SOUL/CD #1684 üzenetére
Hát akkor ötlet elvetve, mert több táblából dolgozik a gép (autók+bérlők = bérlés)
szal van ComboBox is .... -
Hali!
Igen, jól írod, akkor csak az az egy módosul, de egyszerűbb lenne, ha nem Edit-et használnál, hanem DBEdit-et.
Ennek az objektumnak pont az a szerepe, hogy a rekord adott mezőjéhez lehet rendelni, azt automatikusan megjeleníti ill. EDIT módban módosíthatod a rekord aktuális mezőjét vele.
Így nem kell azzal foglalkozni, hogy egyenként beírd az EDIT-ekbe minden egyes mezőt, amit a form-on megjeleníteszFire.
-
Prego
senior tag
válasz
Fire/SOUL/CD #1682 üzenetére
Az első kérdésben akkor megnyugodtam.
A második nem is az adatbázis részben fontos, hanem az hogy beolvasok és kiiratom a 10 attributumot a formra, 10 EditBoxba, majd a Formon átírom az egyik értékét, és amikor a modosít gombra kattintok, ne mind a 10 attríbutumot írja felül, csak azt amelyiknek megváltozott a tartalma, tehát ne az legyen a módosítás kódja hogy:
Table1.FieldByName("ELSŐ ATTRIBUTUM").asinteger:=1;
Table1.FieldByName(" MÁSODIK ATTRIBUTUM").asinteger:=1;
Table1.FieldByName("HARMADIK ATTRIBUTUM").asinteger:=1;
Table1.FieldByName("NEGYEDIK ATTRIBUTUM").asinteger:=1;
Table1.FieldByName(" ÖTÖDIK ATTRIBUTUM").asinteger:=1;
Table1.FieldByName("HATODIK ATTRIBUTUM").asinteger:=1;
....hanem csak
Table1.FieldByName("EDITHEZ TARTOZÓ ATTR").asinteger:=Megváltoztatott Edit; -
Hali!
1. Ha az egész táblához nem akarod, hogy hozzáférjen más, amíg Te dolgozol vele akkor használd az EXCLUSIVE tulajdonságot a táblán. (Delhi súgóban részletesen)
Ilyenkor semmilyen más alkalmazás nem férhet a táblához, vagy a komplett adatbázishoz.
(igaz csak Paradox ill. dabse táblákon megy, illetve nem minden SQL szerver ismeri(már ha használsz SQL szervert))
Ha esetleg az a gondod, hogy nehogy egyidőben szerkesszétek mondjuk ugyanazt a rekordot, akkor ezen nem kell aggódni, mert ezt a BDE lekezeli, mivel abban a másodpercben amikor EDIT módba állítod a rekordot(azaz szerkeszted) már lock-olja is, mindaddig amíg CANCEL vagy POST nem lesz. Ez idő alatt nem lehet hozzáférni a rekordhoz másnak.(a tábla más rekordjaihoz igen, csak ehhez nem)2. Itt remélem egyre gondolunk, azaz ha egy rekordnak pl 10 attributuma(oszlop, mező) van, és Te csak 1 attribot akarsz módosítani benne(a maradék 9-et nem) akkor természetesen van rá egyszerű megoldás. PL:
Table1.FieldByName("ATTRIBUTUM NEVE").asinteger:=1;Remélem jól értettem a kérdéseid...
Fire.
-
Prego
senior tag
Ha már itt vagyok, felteszek két kérdést:
-Hálózatos progit írok (BDE), az adatbázis fájlok (.db, meg a képek és a PDOXUSRS.LCK) azon a gépen vannak egy megosztási mappában (sima XP prof), amelyik a legtöbbet fogja használni őket, viszont van egy másik XP-s gép (amin a progit fejvesztem), meg a főnök Vistás masinája. Úgy oldottam meg hogy minden tranzakció előtt tábla.open, utána meg tábla.close. gondolom elég kicsi a valsége annak hogy két ember tizedmásodperces pontossággal akarja ugyanazt a táblát használni, vagy érdemes lenne mindenféle Timert beleépíteni a progiba?-Ha a felületen módosítom egy rekord valamelyik attribútumát (legtöbbet Editboxban), visszaírásnál az egész rekordot vissza kell írnom, vagy van olyan eljárás ami megjegyzi melyik editbox tartalma lett módosítva és nem kell annyi kódot kopizni?
Köszi
-
Prego
senior tag
válasz
seepheerd #1679 üzenetére
procedure TForm1.Hozzrs1Click(Sender: TObject);
begin
Assignfile(f,'c:\Temp\adat.txt');
append(f);
seek(f,Filesize(f)); ///evvel megyünk a szöveges fájl végére ....
Write(f,Eidt1 text+' '+Edit2.text);
Closefile(f);
end;Hát ezt a szűrést konkrétan nem értem, de nem is a szöveges fájlkezelés témakörbe tartozik ....
-
Prego
senior tag
válasz
seepheerd #1677 üzenetére
Ha a vesszővel elválasztott rekordok beolvasása okoznak gondot:
type konyv = record
szerzo : string;
nev : string;
ar : word;
end;while not eof(f) do
begin
inc(i);
readln(f,s); //beolvassuk s segésztringbe az aktuális sort
t[i].szerzo := copy(s,1,pos(',',s)-1); //a pos fv. megmutatja hogy hányadik bötű a ,
delete(s,1,pos(',',s));
t[i].nev := copy(s,1,pos(',',s)-1);
delete(s,1,pos(',',s));
t[i].ar := strtoint(s);
end;
closefile(f); -
seepheerd
csendes tag
Halihó!
Egy szövegfile-t kellene beolvasnom (comma separated), majd adott oszlopok numerikus adatai alapján szűrni a rekordokat és kimeneti file-t készíteni az eredményről. Hol találok rutinokat, vagy oktató cuccokat a neten?
(Vagy hat éve elkezdtem foglalkozni Delphivel, akkor apróbb dolgok mentek is, de sajna azóta nem volt időm, most viszont nagy segítség lenne ez a kis progi itt a sivatagban.) -
-
Prego
senior tag
válasz
Fire/SOUL/CD #1674 üzenetére
Köszi, a #$27 volt a jó megoldás.
Sajnos az SQL házimhoz kell rekordokat generáltatnom (100 darabot vigyen fel kézzel a ...)
Memo1.Lines.Add('INSERT INTO rent VALUES('+#$27+bYY+bMM+bDD+#$27+','+....)
Szal a ''' kiakadt. Mindegy ....
Köszi -
-
Prego
senior tag
Memo box-ba (illetve Stringbe) akarok iratni aposztrofot tenni (SHIFT+1), mi a kódja?
Köszi -
-
Torry
addikt
Hi all!
Kellene egy gyors segítség.
Ezen a képen az autókölcsönző menüt szeretném valahogy betenni középre, hogy ne ott felül legyen.
Hogyan tudnám?Előre is kösz!
-
cellpeti
nagyúr
válasz
Fire/SOUL/CD #1669 üzenetére
Szia!
Tényleg rég taliztunk. Otthon van egy 6os Delphi,de gondoltam,ha felmenne az újabb,azért az jobb lenne. Akkor majd otthon felnyomom!
-
válasz
cellpeti #1668 üzenetére
Hali!
Rég találkoztunk...(persze én vagyok elfoglalva)
Nem tudom milyen delphit telepítesz, de az eredeti delphi 7(nekem jogtiszta van Enterprise) biztosan nem hoz létre semmilyen temp állományt RARSFX1 könyvtárba...
Szóval, ha ez nem eredeti szoftver, akkor szerintem csak ez a gond...Fire.
UI: küldtem privet
-
cellpeti
nagyúr
Sziasztok!
Nekem lenne egy ilyesmi gondom XP-n. De nem tudom mi lehet a baj. Valakinek ötlet?
-
cellpeti
nagyúr
Sziasztok!
Én anno tanultam Delphit,de most újra el szeretném kezdeni. Tudtok hozzá valami jó könyvet,esetleg internetes anyagot ajánalni?
-
Keem1
veterán
válasz
superbutt #1664 üzenetére
Az attól függ, hogy egygépes/lokális, vagy távoli eléréses (is) elérésű legyen.
Ha utóbbi, és kezdő vagy, akkor leginkább MySQL-t tudom ajánlani, mivel nagy közössége van, egy nagyon jól használható, erős és gyors adatbázis kiszolgálást ad, számos nyelvvel, platformon használhatod, nem utolsó sorban mivel elég népszerű, számos magyar nyelvű dokumentáció és fórum is elérhető hozzá. Emellett számos előnye is van még.
Talán elfogultság szól belőlem (évek óta használom), de kétségtelenül jó választás lehet a MySQL többfelhasználós környezetben.
Ha egyfelhasználó, csak a készülő programnak kell, akkor valamelyik beépített Delphi-s adatbáziskezelőt javaslom. -
superbutt
csendes tag
Sziasztok!
Adabázis-ok közül mit ajánaltok? FireBird? InterBase? MySQL? Fontos lenne hogy minél egyszerűbb és átláthatóbb legyen. Személyes tapasztalatokat is szivesen veszek -
superbutt
csendes tag
Egy adatbáziskezelő programot kellene írjak, tudtok valami támpontokat adni hogy kezdjem el az adatbázis megtervezését!(Elvileg valami feladatspecifikációt kellene irjak, de nemtom ez pontosan mitjelent...
) Ez egy autonyilvántarto program lenne, ahol a kocsi adatait(rendszám,futott km,megtett km,sofőr neve...) kellen adatbázisba foglalni.
A válaszokat priviben ha lehetne...Előrre is köszi
üdv : super
-
superbutt
csendes tag
Köszi szépen
-
-
superbutt
csendes tag
Sziasztok!
Hogy tudok Lisbox-bol Fájlba menteni, Memobol megvan: Memo1.Lines.SaveToFile(SaveDialog1.Filename+'.TXT'); De a listbox tartalmát sehogyse tudom kimenteni.előrre is köszi
üdv : super
-
_AnTi_
tag
Szia!
Mindkét komponensnél a font.size-al tudod módosítani a betűméretet. Pl.:
memo1.font.size:=12;
Az egyetlen gond ezzel a két komponenssel, hogy ha változtatod a betűméretet, akkor az összes benne lévő szöveg mérete módosul.
Nézz körül a richedit környékén, ha kicsit többre vágysz!
-
csewe
csendes tag
sziasztok
az lenne a kédésem,hogy tedit és tmemokomponensekben lehet e betüméretert állítani,és ha igen hogyan. -
válasz
OtheriS #1656 üzenetére
Hali!
Az a prog amit használsz, egész biztosan telepítős változat volt. Amikor Delphi-be készítenek egy adatbáziskezelő alkalmazást, akkor csak installos válzotban adják át az ügyfélnek, mivel ahhoz hogy egy adatbázist elérj(kezelj) ún. adatbázismotorok kellenek.
(Delphi esetén a leggyakoribb a BDE - Borland Database Engine). Ezeket az adatbázismotorokat telepíteni kell. (ezeken keresztül lehet elérni az adott típusú adatbázist, kezelni az ALIAS, SESSION stb "tulajdonságokat")
hiába mented le az adatbázist meg a programot, egy teljes win telepítés után az adatbázismotor már nem lesz fenn a gépen. Ezért ezt csak úgy oldhatod meg, ha programot újratelepíted(már ha megvan a telepítős változat)Fire.
-
OtheriS
csendes tag
Sziasztok!
Nem tudom mennyire tudtok nekem segíteni, mert én már mindent megpróbáltam, de ha nagyon off a dolog akkor BOCSI!!!!
Adott egy program, ami Delphiben lett írva (nem én készítettem) és MSSQL adatbázist használ. Egy szokásos progi, elindítod, beírod az elérési utat(az .exe mellett van egy .ini fájl ami a belépési adatokat tartalmazza és nem kell mindig beírogatni), utána belép és szépen veheted fel Pl.: a rendeléseket. A következő a probléma, a windowsal történt vlami (elvileg vírus) de a lényeg hogy nem is indult el az MSSQL. Jól van szépen lementettem az adatbázist, majd windows reinstall szépen visszatöltöttem a dolgokat és próbálom ugye elindítani a progit. Az ini fájl ugyanott, semmit sem változtattam rajta, de egyszerűen nem olvassa ki ezeket a belépési adatokat (Provider, Adatbázis, Kiszolgáló, Login és a Pass). És fogalmam sincs miért, nem túlságosan értek hozzá ezért azon agyalok, hogy esetleg el volt mentve vlami a régi adatbázisban, ami arra mutat, honnan olvassa ki az adatokat. Lehet ilyen esetleg?
Képek: [link]
Előre is köszi a segítséget. -
Prego
senior tag
Az egy dolog, csak én eddig sima ciklussal, tömb nélkül hoztam létre a formon a komponenseket, a bajok akkor jöttek elő, amikor az adatbázisban változatásokat eszközöltem, és az összes komponensnek megváltozott a helyzte egymáshoz képest, mivel a Destroy parancsot nem lehet csak úgy kiadni.
Most viszont egyszerűen felszabadítom a töböt, aztán újra létrehozom a komponensekkel. ... -
Prego
senior tag
válasz
Fire/SOUL/CD #1651 üzenetére
Én most CodeGear 2009-et használok
Úgy tűnik sikerül megoldanom a dolgot, Létrehozok egy dinamikus array of "Componentname"-t és avval lehet buherálni. [link]
Talán más is hasznát veszi. -
Hali!
Nem tudom, milyen verziójú a Delphi, amit használsz, Én amit írok az a Delphi 7-re vonatkozik.
A Destroy parancs gyönyörűen működik, gond csak avval van, hogy hibát dob ki, ha nem létező komponensre hívom meg (pl: program indításnál).
Nem létező komponensnél persze hogy mindig hibát dob, ezért javasolnám a statikus megoldást. Tudod, hogy max hány kép szerepelhet egy autóról, a többi dolgot meg rábízod a az adatbázismotorra. DBImage komponenst kiraksz, amennyit maximalizáltál, aztán az autók képeit tartalmazó táblából meg betöltögeted a képeket.Kellene még egy olyan adatbázis formátum ami tud több mint 255 karakternyi string mezőt tárolni (
Paradox7 táblákkal szoktam dolgozni(hacsak az ügyfél nem ragaszkodott valamiért máshoz).
MEMO field a megoldáskésőbb megoldani hogy egy autóról több képet is be tudjak drag&droppolni
Bár azt nem igazán értem, hogy honnan-hova akarsz drag-drop, de az autók fényképeinek a tárolásához Paradox7, BINARY field. Ahogy a nevéből adódik, bináris adatok, amik lehetnek, kép, hang, program, weblap, stb....., tehát bármi.Fire.
-
Prego
senior tag
válasz
Fire/SOUL/CD #1649 üzenetére
Köszi szépen, megint előbbre jutottam.
Nah kezd már pofásodni a dolog, most már gyönyörűen egymás mellett jelennek meg az autók, ha a képre kattintok akkor új ablakban megjelennek az adatok.
Viszont felmerült a törlés kérdése, és persze akkor az egész cuccokat újra kéne rajzolni a formon. Szal az lenne a legjobb, ha felvétel/módosítás/törlésnél az összes dinamikus komponenst megszüntetni, és újra lekérdezi az adatbázisból, meg kirajzoltatni. A Destroy parancs gyönyörűen működik, gond csak avval van, hogy hibát dob ki, ha nem létező komponensre hívom meg (pl: program indításnál).
Kellene még egy olyan adatbázis formátum ami tud több mint 255 karakternyi string mezőt tárolni (képek elérési útját tárolni), meg később megoldani hogy egy autóról több képet is be tudjak drag&droppolni (a cél a használtauto.hu szerű, kisképek lent, ha rákatt akkor nagyban megjelenik).
Nameg rájöttem hogy drága jó iskolámban (nem mondok nevet) tök jó hogy megtanítottak egy csomó ilyen olyan algoritmust (mátrixok láncszorzása, 8királynő, életembe nem fogom használni algoritmus), és még jól meg is szivattak vele, de ettől még könnyen kezelhető GUI-t nem tudunk készíteni, már amikor szálkezelés meg komponenskészítés került szóba, csak hümmögtek meg kopiztak a tanárok ...
Így hát kénytelen vagyok titeket zaklatni -
Hali!
A FormCreate csak egyszer hajtódik végre, amikor a program indul, többször nem, és nem is lehet rá hivatkozni. Ez a kis példa arra jó, hogy bármilyen műveletet hajtasz végre az adatbázison, akkor automatikusan az Edit1-be bekerül az adott tábla rekordjainak száma.
(Ha ezt megérted, akkor pedig már egyszerűen a saját igényid szerint alkalmazhatod)procedure TForm1.FormShow(Sender: TObject);
begin
Edit1.Text:=IntToStr(Table1.RecordCount);
end;
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
Form1.OnShow(Self);
end;Fire.
-
Prego
senior tag
Haladok:
Most úgy néz ki a progi hogy van egy Unit1+Form1 és egy Unit2+Form2 egy projekten belül.
A procedure TForm1.FormCreate(Sender: TObject);-be bepötyögtem azt hogy kérdezze le adatbázisból hány autó van, tegyen ki annyi Image-t képekkel, némi infóval mellette. Új autó Felvitele menüponthoz a Form2.Visible:=true; van, bejön az ablak, kitöltöd adatokkal, és nyomok egy felvitelt, bezárodik a Form2, de a Form1-en nem jelenik meg az új autó, csak ha újrainditom az egész programot (vagyis újra meghívódik a Form1.Create).
Hogy lehetne ezt megoldani?
Gondolom a Form1.FormCreate-et kell újra meghívnom, csak nem tudom milyen paraméterekkel. -
Prego
senior tag
válasz
Gyuri16 #1644 üzenetére
Köszi, már ez is működik.
Úgy csináltam a programot, hogy van egy .../source/login/login.exe progi, amin van néhány gomb, melyek a különböző modulokat indítják. Az egyik modul a .../source/cars/cars.exe, az autókat tárolja, BDE Paradox7 adatbázisban. A Cars.DB is ebben a mappában van, a progi látja is, viszont ha a login-ből indítom, akkor kiírja hogy nem találja az adatbázist a .../source/logins/cars.DB elérésen, de a progit aztán elindítja csak hát se felvenni se semmit nem lehet vele csinálni.
Az indításhoz használt parancs:
ShellExecute(Handle, 'open', '..\cars\cars.exe', nil, nil, SW_SHOWNORMAL).
Amúgy is bajosabb lesz az adatbázis a késöbbiekben, mert egy másik számítógépen lesz, mint a futó program, nem tudom hogy a BDE tudja e alapból a kliens-szerver dolgot, vagy kénytelen leszek külön szerverprogit összedobnom. -
<Lacy85>
addikt
Sziasztok!
Kellene egy kis segítség! Feltettem a Borland Developer Studio 2006-ot.
legjobban a delphi kellene. Amikor összedobok egy form-ot, akkor nem engedi futtatni.
A RUN menüben minden szürke, és nem nem tudom lefordítani a project-et.Ez mitől lehet?
-
Prego
senior tag
Olyat kéne megoldanom, hogy amikor elindul a program, lekéri hogy az adatbázisban hány jármű szerepel, és annyi TImage és mondjuk Memo-t tesz ki a formra. Gondolom a Form1.Create-ot kell megírnom.
Egyszerűsítve:
Van egy I: Integer változóm, és azt szeretném hogy annyi Button jelenjen meg a Form-on, amekkora a szám. -
Zso113
csendes tag
Nagyon köszsönöm P.H.. Müködik.Érdekes, hogy 2 könyvben is megnéztem és nem írja, sőt a példában is kapcsos(méretadás) nélkűl volt.
-
Zso113
csendes tag
Sziasztok!
Segitsetek kezdő delphis vagyok.Tipusoso file-ban szeretnék recordot használni a könyvek szerint lehet.A pascalban ez így jó volt, de a delphi 7-ben nem müködik
az utolsó sornál megáll hibával a forditó:
[B]type f=packed record
nev:string;
lakcim:string;
eletkor:integer;
end;
var
adatfile: file of f;
[/B] -
Prego
senior tag
Egy rémálom, kódot kell analizálnom:
Van egy invalidate metódus az egyik Unitban:private
ForiginChanged: TNotifyEvent;
...
public
constructor create;
procedure invalidate;
...
published
property originChanged: TNotifyEvent read ForiginChanged write set_originChanged;procedure TOrigin.invalidate;
begin
if assigned(originChanged) then begin
originChanged(self);
end;
end;procedure TOrigin.set_originChanged(const Value: TNotifyEvent);
begin
ForiginChanged := Value;
end;Persze mondanom sem kell hogy néhány másik metódusban úgyanúgy szerepel az invalidate parancs, egyértelműen azért hogy a komponenst újrarajzolja. Akkor a fent definiált procedure mire való? Amúgy ezt az összevissza kavalkádot valahogy nem látom át, emiatt nem tudom mit csinál, hiába vetem össze az általam tanult és tanulmányozott forráskódokkal
-
Gyuri16
senior tag
jo lesz ez.
most kellene egy valtozo, amiben a talalgatasok szamat fogod szamolni. nullazod a FormCreateban. Button1Clickben teszel az egesz kore egy nagy ifet, ami megnezi hogy a valtozod kisebb e mint 5, ha igen akkor vegrehajtod amit leirtal, ha nem akkor jon a szomoru arc.
aztan letre kell hozni masik formot, amiben az arc lesz. mondjuk legyen form2. ilyen kellhet: form2.showModal. ugy csinalnam, hogy amikor az arcos formot kell mutatni akkor elotte megmondom neki, hogy most vidam legyen e vagy szomoru, az beallitja a kepet amit mutat, aztan meghivom a showModalt.
latom te MessageDlg-t irtal, nem hiszem hogy ez kell most ide. -
Csajó
csendes tag
szia!
valahogy így néz ki a programom,csak a vége már nem kóser,azzal már nem igazán tudok mit kezdeni,ez már nagyon kifogott rajtam
egyébként nagyon szépen köszönömunit gondoltam;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls;type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
szam:integer;implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
szam := random(60)+1;
end;procedure TForm1.Button1Click(Sender: TObject);
var tipp :integer;
begin
tipp:= StrToInt (Edit1.Text);
if tipp <szam then
Label3.Caption := 'Nagyobb szamra gondoltam'
else if tipp >szam then
Label2.Caption := 'Kissebb szamra gondoltam'
else
begin
Label3.Caption := 'Eltaláltad';
if MessageDlg (' : ) ',end;
end;end.
-
Gyuri16
senior tag
szivesen segitunk, de ird le, hogy hol tartasz, mi nem megy..
az altalad irt verzio a jatek konnyebbik resze (amikor a jatekosnak kell talalgatni).nagyvonalakban a program:
random generalsz egy szamot 1 tol 60 ig.
egy szamlalot beallitasz 0ra
a jatekos elkezd talalgatni
- beolvasol egy szamot, osszehasonlitod a random szammal es kiirod hogy kisebb nagyobb vagy egyenlo > mosolygos arc
- egyel noveled a szamlalodat
- ha a szamlalalo tul nagy lesz, akkor kiteszed a szomoru arcot, mert nem talalta el
vege.
ha valami nem megy irj, hogy hol akadtal el -
Csajó
csendes tag
kellene írnom egy programot,de kifogott rajtam,pedig nem vészes,esetleg ha valaki tudna segíteni
Készítsen játékot, melyben a játékosnak maximum 5 lépésből ki kell találnia egy, a számítógép által "gondolt", 1 és 60 közötti egész számot. A számítógép minden lépés után írja ki, hogy a gondolt szám kisebb, nagyobb, vagy a játékos eltalálta a számot. Nyerés (találat) esetén egy mosolygós arcot tartalmazó modális ablak, vesztés esetén (5 lépés után sem találta el) egy szomorú arcot tartalmazó modális ablak jelenjen meg a képernyőn.
előre is köszönöm
-
_AnTi_
tag
-
Prego
senior tag
Letöltöttem egy ingyenes komponenst ICGrid ami nagyon teszik a demója alapján, azt hiszem telepíteni is sikerült Delphi 7 alá, és a komponens palettában is látom őket.
Viszont amikor a Example mintafájlt meg akarom nyitni, akkor a követekző hibaüzeneteket kapom:
Error reading ICGridCalendar1.ExplicitLeft: Property ExplicitLeft does not exist. Ignore the error and continue?
Ugyanez az ExplicitWidth, ExplicitHeight propertykre is igaz.
Ezekre viszont sehol sem leltem a kimöritett állományok tartalmában. -
Prego
senior tag
Sziasztok, most kezdtem el szakdogámat írni egy cégnél(Delphi), remélem a legnehezebb résszel kezdtem:
Szal egy olyan progit írok ami autók bérbradásával foglalkozik.
Olyan komponenst szeretnék csinálni, melyben ki lehet jelölni azt az időszakot amiben a bérlőnél van az autó:
Az eladó kiválaszt egy hónapot, pl 2008 augusztus, és annyi oszlop jelenik meg ahány napos a hónap (ezt már le tudom kérdezni Delphiben), és annyi sor, ahány autó van (ezt majd persze adatbázisból kérdezi le)
A bérlő azt mondja hogy XY autó kell neki aug 11-25. között, akkor az eladó egérhúzással kijelöli a naptárban a kérdéses napokat az autó sorában, majd felugrik egy párbeszédablak ahova be kell írni a bérlő nevét/telszámát és hogy érdeklődő e, vagy ki is fizeti az előleget (ennek van színkódja, mondjuk érdeklődő:szürke, fizetett: zöld, úton van már: piros). A párbeszédablak bezárása után a megfelelő cellák egyesülnek, kiszineződnek és beleírják a bérlő/érdeklődő nevét. Persze utólag egy kattintással vissza lehet hívni a párbeszédpanelt és megváltoztatni a színt, vagy törölni egy visszamondott bérlést/érdeklődést.
Eddig ezt a cégnél egy Excel táblával oldották meg, és bevált a módszer, az egész hónap átlátható (persze ha egy bérlés átnyúlik köv hónapra, akkor valahogy meg kéne jeleníteni a kérdéses napokat.
Valahogy így kéne kinéznie.
Már nézegettem a StrinGridet meg a DrawGridet, de valahogy egyik sem felel meg: nem lehet cellákat egyesíteni, hogy a név középre kerüljön, és nem tudom összehúzni akkorára a cellákat hogy beleférjen egy hónap a képernyőbe.
Ha valaki tud segíteni azt megköszönném a jövőben várhatóan lesznek még kérdéseim -
Gyuri16
senior tag
válasz
Darkynt #1628 üzenetére
1. nem tudok rola, hogy ezt be lehet valahogy allitani. de szerintem nem gond: mindig mielott uj elemet raknal a listboxba, megnezed hogy mar szerepel e olyan a listaban.
2. nem ertem mit jelent hogy csoportositani. ha kijelolod oket, akkor mindegyik listboxban tudod kezelni az aktualisan kijelolteket. ha akarod akkor mindet belerakhatod egy masik listboxba, vagy egy tombbe, vagy amibe akarod
3. mikor torlod ki a folistadbol az elemet, vegigfutod a tobbi listat is, es ahol megtalalod azt az elemet ott kitorlod (jol johet a Items.IndexOf() ) -
Darkynt
csendes tag
Újabb kérdések (lesz még egy pár
)
1.Ha van egy List Boxom melyik beállítással is lehet azt megcsinálni hogy pl "Kis Károly" elem maximum 1x szerepelhessen benne ,?
2. Ha van több List boxom (több mitn 10) ÉS mindegyikben vannak elemek, akkor ügye mindegyik boxba külön külön kilehet jelölni. Hogyan lehet ezeket csoportosítani.?
3. Ha már csoportosítva vannak akkor azt hogyan lehet megcsinálni hogy ha egy (fő) listáról letörlök egy elemet akkor az összes lsitábol eltűnjön ?
Egyenlőre ennyiIgyekszem minnel tobbet tanulni (vagy eppen googlen keresni
) és mar eleg jol haladon a Delphi tanulsában de vannak dolgok amiket nemtudok megcsinálni
-
Darkynt
csendes tag
Köszi !
-
Darkynt
csendes tag
Sziasztok
Ma elkezdtem egy új programot csinálni és kicsit elakadtam.
Van egy Edit1,Button1,ListBox1 és egy Combobox1 komponensem. Ha beírok vmit Edit1-be és kiválasztok vmit a combobox1-ben majd kattintok a Button1-re akkor a Beírt(és kiválasztott) adat bekerül a Listbox-ba. De itt kezdődik a probléma ugyanis sehogyse jövök rá hogy hogyan llehetne azt megoldani hogy a elsőnek beirja az Edit1-es adatot majd a comboboxosat és mindezt egymás mellé (tehát egy elemként nem külön külön)
Valaki eltudna mondani hogyan lehet ?
Itt akadtam elprocedure TForm1.Button1Click(Sender: TObject);
begin
a:=string(Edit1.Text);
b:=string(ComboBox1.Text) ;
ListBox1.Items.Add(string(a));
ListBox1.Items.Add(string(b));
Edit1.Clear;
end; -
Sárpac
nagyúr
válasz
Fire/SOUL/CD #1623 üzenetére
Igen sajna az túl drága, akkor marad a core temp ehhez elvileg lesz ehhez ingyenes plugin amit szabadon felhasználhatnak a fejlesztők. Addig marad Share memory.
-
Hali!
Sajnos a CPU Core hőmérséklet mérése az egyik "legkellemetlenebb" terület, ami abból adódik, hogy nincs egységes szabvány. Ahány "sensorgyártó", annyiféle, folyamatosan frissíteni kell a gyártók adatbázisát, mert egyébként hibás hőmérséklet értékek jönnek vissza.
Ez az egyik legjobb DLL, amit javasolni tudok, de sajnos nem ingyenes, sőt húzós az ára.
[link]Fire.
-
Sárpac
nagyúr
Egy ilyen projecten melózom, ha esetleg tud valaki dll-t ami használható core2 procik maghőmérsékletének mérésére azt megköszönném!
-
shev7
veterán
sajnos nem. delphiben nem programozok. De c-ben sem volt tul bonyolult. Szerver oldalon letrehozol egy szervert, beallitasz neki egy portot, es elinditot (listen, vagy valami hasolno)
kliens oldalon beallitod a szervr ipcimet es portja, majd csatlakozol. Ekkor felepul a socket amibe a megfelelo fuggvenyekkel mindket iranybol lehet irni. Roviden ennyi, ha ez keves, akkor valaki csak segit aki nalam jobban ert delphihez, vagy keress egy jobb tutorialt. -
KisCobiii
aktív tag
Tiszteletem!
Ellnézést ha nem ide kéne beírnom csak sürgősen kéne segítség! Mivel tudok beolvasni és felülírni .sav és .dmp kiterjesztésü file-t?
Még 1x ellnézést, hogy ha rosz helyen kérdeztem meg.Üdv.: KisCobiii
-
eniak
csendes tag
shev7!
találtam pár componest, ahogy én nézem 2 ami szóba jöhet, az indy tcp szerver - cliens párosa a másik a tcpclient(socet)+tcpserver(socet), ahogy néztem mindkettő jó lenne a feladatra, csak nem tudom hogy hogyan kell használni őket (a delphi help angol és én nem tudok angolul. a prog.hu-n találtam erről szóló témát de amit ott leírtak nem ehhez a verzióhoz való és nem is működik nálam)
Tudsz segíteni nekem hogy hogyan használjam őket delphi 7 ben?
eniak
U.i: Tudom, hogy nem ide tartozik, de közben írom a progi, és elakadtam hogy hogyan lehet erőforrás dll-ből filet kimásolni pl. a program főkönyvtárába? (jpg meg tudok nyitni dll-ből de a file másolásnál elakadtam)
-
shev7
veterán
válasz
Fire/SOUL/CD #1615 üzenetére
csunya lenne, ha a halozati atvitel hibaellenorzeserol az alkalmazasi retegben kellene gondoskodni. Pont erre valo a TCP, hogy hibamentes adatatvitelt biztositson ket host kozott. Ha hibasan jon meg a csomag, az ujrakuldes automatikus, az alkalmazas semmilyen modon nem ertesul a hibarol. (Persze a kesleltetest leszamitva)
-
Hali!
A legegyszerűbb az az, amit javasoltam korábban. Interneten megosztani adatbázist.
Így nem kell hálozati kommunikációval foglalkozni, meg a sok sok vele járó "nyüggel".
Alapvetően nem elég megírni hogy egy byte átmenjen a neten(ez a legegyszerűbb talán), az a sok meló hogy gondoskodni kell a hibakezelésről, titkosításről, CRC hibákról stb.
(ahogy írtad, ha anyukád bekapcsolja a locsolót, akkor(CRC hibából adódóan nem azt a parancsot kapja a szerver) ne az legyen, hogy a hűtő szétfagyaszt mindent, 100 fok van a lakásban stb, csak pont a locsoló nem megy!valóban vannak előregyártott kommunikációs protokoll unit-ok, meg kell őket nézned, aztán mérlegelj hogy melyik megoldást választod. Ha ez utóbbit választod, akkor győződj meg, hogy valóban tudnak-e titkosítani, CRC hibát kezelni stb, hogy csak a legalapvetőbb dolgokat említsem. Ebben biztosan tud segíteni neked shev7.
Fire.
UI: most lelépek, csak este vagy holnap leszek.
-
eniak
csendes tag
válasz
Fire/SOUL/CD #1612 üzenetére
Ha tudsz jobb megoldást nem akarom én megírni a hálózati kommunikációt, teszem azt van már rá valami kész unit.
De ha nincs akkor kénytelen leszek, mert van már rá néhány kis progim készen, amivel lehet irányítani, (elsősorban vasúti terepasztalt) csak az a baj hogy hiányzik belőle a hálózati kommunikáció, ere kéne valami SOS megoldás.
Gondolkoztam még azon hogy van az a közkedvet ts (team speaker) progi, az telneten dolgozik, és ara ráépülni, de ez a rész nekem magas.
Az adatbázis nem rossz ötlet, én is gondoltam rá csak nem értek az adatbázisokhoz.
A hálózati kommunikációnak elég lenne annyi, hogy elküld egy integer változót egy bizonyos ip címre, és fogad egy integer változót egy bizonyos ip címről, tehát csak ip, portot, és adatok keljen megadni neki.
eniak
-
Hali!
Rendben, tiszta hogy mit akarsz írni, de én a helyedbe elfelejteném a "tömbözősdit".
Erre van egy sokkal jobb megoldás: megosztott Adatbázis(interneten is). Úgy is Delphi 7-ben készíted a progit, minek szívatnád magad feleslegesen?
Ha jól kialakítod az adatbázis strukturá(ka)t, akkor nagyon egyszerűen, hibátlanul működő professzionális vezérlő-rendszert készíthetsz.Fire.
UI: Ha a "hálózaton keresztül átvinni," alatt azt érted, hogy a hálózati kommunikációt is te akarod megírni, hát ahhoz sok sikert!
(az eredei szakmám rendszerprogramozó...)
-
eniak
csendes tag
válasz
Fire/SOUL/CD #1608 üzenetére
Hello!
Majdnem, nem egészen
Van ugyebár a gép, amibe be van kötve a locsoló, lámpa stb., na ezen a gépen még monitor sincs, és van az anyámnak, testvéremnek és, nekem gépe.
Minden gép egy hálózatra van kötve és , ha pl. anyám rákattint a "locsolás" gombra akkor az anyám gépe (mint kliens) küld egy üzenetet a szervernek, ami lpt porton elindítja a locsolót, igen viszont a szervernek ki kell küldenie egy jelet nemcsak az anyám gépére hanem az összes kliensre (mint az én gépem és az öcsém gépe) hogy a ház "alaprajzán" elzöldüljön a locsoló ezzel jelezve hogy be van kapcsolva.
Mivel több kliens (jelenleg 3) fut egyszerre ezért a szervernek másodpercekét több beérkező adattal kel számolnia, az adatokat egy egydimenziós tőmben szeretném tárolni, amelynek 4db integer eleme lenne, ez a tömböt kéne a szervernek rögzítenie egymás "alá" beérkezésük sorrendjében egy 2 dimenzós tömbben. (Mondjuk ez is trükkös, mert 2db kétdimenziós tömböt kel létrehozni, amíg az egyikbe fogadja a szerver az adatokat addig a másik tömbben lévő adatokat, feldolgozza, a két tömböt másodpercekét fel kéne cserélni így hol az "a" tömbbe rögzít és a "b" tömböt dolgozza fel, hol pedig fordítva)
Miután a szerver feldolgozta az adatokat egy 3. tömbben ("c" tömb") kellene írnia, hogy mely eszközök vannak bekapcsolva, és mely eszközök vannak kikapcsolva, ezt kéne fogadniuk a klienseknek, és ez alapján kellene ábrázolniuk az eszközöket (pl. pirossal vagy zölddel).
A probléma hogy nem tudom, hogyan lehetne egy 1 dimenziós 4 elemű integer tömböt hálózaton keresztül átvinni, és egymás alá rögzíteni egy 2 dimenziós tömbben?
Egy ilyen buta kis aprósággal szívok már kb.3 hónapja
, aki tud, segítsen
eniak
-
-
eniak
csendes tag
válasz
#34784256 #1606 üzenetére
ez itt két kérdés:
1.: hogyan lehet egy 4 elemből áló integer tömböt hálózaton átadni egy programnak hogy az a program az egymás után beérkezet 4 elemü tömböket "egymás alá" egy kétdimenziós tömbe rögzitse?
2. hogyan lehet lekérdezni egy programból hálozaton keresztűl elöb egy integer, utána pedig egy 2 dimenzós tömb elsö x elemét (és tárolni egy tömben)
(tudom hogy szarul fogalmazok
bocsi )
eniak..
-
eniak
csendes tag
Sziasztok!
Szeretnék írni Delphi 7-ben egy kliens programot, amelynek hálózaton keresztűl kellene egy 4 elemből álló integer tömböt küldenie.
Küldés: a probléma az, hogy egyszere több kliens is futhat és mindegyik kliens folyamatosan küldi az adatokat.A szervernek ezt táblázatba, egymás alá kellene írnia.
Fogadás: a klienseknek másodpercenként egyszer (egyszerre) fogadniuk kellene egy integer adatot és egy táblázatot.
Az integer adatnak tartalmaznia kell hogy a kliens a szerveren lévő táblázat első hány sorát olvassa be.A program egy számítógép vezérlésű házhoz kellene, hogy hálózaton (és interneten) keresztül is lehessen vezérelni. Sajnos nem tudok angolul, kérlek ezt vegyétek figyelembe!
Előre is köszönök minden segitséget: eniak.
-
kalló
aktív tag
Hy!
Delphi 8.0 free edísönnel bohóckodom (kezdő vok), valaki meg tudja mondani, hogyan kérhetem le egy számítógép helyi kapcsolat alapértelmezett átjáróját delphiben attól tartok, hogy valamilyen komponensre lessz szükségem.
előre is köszönöm -
mizu_
tag
Sziasztok!
Valahogy meg lehet oldani, hogy egy DLL-t visszaalakítsak Delphi forráskódra?
Előre is köszi a választ! -
#95904256
törölt tag
Sziasztok!
Delphi-ben hogy lehet egy assembly-ben írt programrészletet 16-bájtos tömbhatárra illeszteni ( vagy 64 bájtos cache-line-ra )?
Új hozzászólás Aktív témák
Hirdetés
- Elektromos autók - motorok
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- EAFC 25
- Milyen processzort vegyek?
- AliExpress tapasztalatok
- OLED monitor topik
- Okosóra és okoskiegészítő topik
- ThinkPad (NEM IdeaPad)
- Számtech boltosok memoárjai, azaz amikor kiborulunk...
- Vezetékes FEJhallgatók
- További aktív témák...
- HP EliteBook 840G6 ! AKCIÓ!!! a készlet erejéig!
- Kobo Aura Edition 2 (N236) 6" háttérvilágításos kijelzővel, 4 GB-os tárhellyel - jó állapotban
- HP ProBook 430 G8, 13,3" FHD IPS, I5-1135GU CPU, 16GB DDR4, 256GB SSD, WIN 11, 27% áfás számla, 1 év
- Playstation Portal - 3 hónap Bolti Garanciával
- BESZÁMÍTÁS! ÚJ AMD Ryzen 5600X 5700X 5800X 5900X processzor 3 év garancia 27% áfa termékbeszámítás
- Telefon felvásárlás!! Xiaomi Redmi 9, Xiaomi Redmi 9AT, Xiaomi Redmi 10, Xiaomi Redmi 10 2022
- AKCÓÓÓ!!! Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló
- Telefon felváráslás!! Samsung Galaxy S22/Samsung Galaxy S22+/Samsung Galaxy S22 Ultra
- BESZÁMÍTÁS! Asus A520 R5 3600 16GB DDR4 500GB SSD RTX 2060 8GB Rampage SHIVA CoolerMaster 700W
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RX 7600 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest