- Milyen videókártyát?
- Azonnali VGA-s kérdések órája
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Steam Deck
- Vezeték nélküli fülhallgatók
- Milyen billentyűzetet vegyek?
- Milyen egeret válasszak?
- Érkezik Magyarországa az LG szuper dizájnos hordozható projektora
- Azonnali fotós kérdések órája
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
Hirdetés
-
27 hüvelykes, játékra szánt kijelzővel újít az MSI
ph A cég MI-vel kacérkodó megoldásának képfrissítési frekvenciáját 250 Hz-ig srófolhatjuk fel.
-
Garmin Forerunner 165 - alapozó edzés
ma Leizzadtunk a Garmin legolcsóbb amoledes futóórájával.
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
Új hozzászólás Aktív témák
-
VladimirR
nagyúr
Bővebben: link -- igy nezd meg (es elore is koszonom faradozasod)
[Szerkesztve] -
Szalma
őstag
-
VladimirR
nagyúr
akkor nem ertem
amikor letrehozom a t_handlerv1 peldanyat, akkor a t_charray - hoz nem jon letre peldany? hisz a t_handlerv1-nek van egy t_charray tipusu valtozoja
ha nem tul nagy keres, elmagyaraznad, hogy mit ertek rosszul?
masik: mi az, hogy hypercool a kodolasi stilusom, es miert baj ez?
koszonom -
LinX
tag
UP!
Valaki esetleg nem tudna valami jó tippet a border eltüntetésre úgy, hogy a maximalized módban is látszódjon a tálca?
Még senki nem írt ilyet, vagy csak én vagyok túl aprolékos, hogy még a fejlécet is megtervezem?Mit teszel, ha látod, hogy egy védett állat eszik egy védett növényt?
-
Szalma
őstag
válasz VladimirR #603 üzenetére
(Nos... A tagger.zip-ben lévő forrásokat elnézegetve az általad alkotott osztályok egyike sincs példányosítva. Az, hogy létrehozol egy változót az osztály típusával, az még nem kreálja le a referenciát a példányra, mindössze annyit jelent, hogy ennek legálisan értékül adhatsz egy adott osztály-típusú referenciát. Ebben az esetben pl. tform1.displayv1tag; metódusban, mielőtt használnád a handler változót, a következő értékadást kellene végrehajtani: handler := t_handlerv1.create;. Ez példányosítja az osztályt. (Kitérő. Nem valódi példány lesz, hanem ''csak'' referencia, de ez már a delfi olyan mélységeibe vezet, ahová nem szívesen ereszkednék le... Tehát a példány és a referencia delfi esetében 100%-os szinonímák. (Ha mégsem, akkor valaki majd kijavít. A D5 volt az utolsó amit használtam...)) Ezt az összes osztállyal és változóval el kell végezni...
A ''hájpekúl'' stílusról: nagyon takarékos a függvények utáni paraméterlista elhagyása a definíciónál, csak piszkos módon értelmezhetetlen a szememnek. Például. Ha delfiben nyomulsz, érdemes a borlandos forrásokat átnézni a ''szép'' stílusuk miatt és megpróbálni igazodni hozzájuk. Szerintem.)
Szeretettel:
Szalma -
VladimirR
nagyúr
koszonom a segitseged, viszont ha nem gond kerdeznek meg parat:
-a tform1.displayv1tag metodusban megcsinaltam, hogy handler := t_handlerv1.create;, eddig ok, mukodik -- meg kell ezt szuntetni? ha igen, akkor handler.destroy?
-olyat lehet (elvileg lehet, mert ugy csinaltam es mukodik, inkabb az erdekelne, hogy szabad-e), hogy csinaltam egy constructor t_handlerv1.create-ot, es abban van egy tdata:=t_charray.create; sor (tdata az t_charray tipusu), majd egy data=tdata (ezesetben a t_handlerv1.data lesz)? es akkor igy a t_handlerv1.data akkor most lathato es elerheto lesz, amig meg nem szuntetem? (tehat a creat konstruktoron kivul is)
koszonom
p.s.: haat, a parameterlista hianya engem is zavar idonkent, csak sajnos legtobb esretben annyira atgondolatlanul kezdek bele egy-egy programba, hogy a fuggvenyek (hat meg a parametereik ) eleg surun valtoznak, s miota rajottem, hogy igy eleg egy helyen atrini, ezt hasznalom
mondjuk eleg sokan panaszkodtak, hogy atlathatatanok a pascal kodjaim is -
Szalma
őstag
válasz VladimirR #606 üzenetére
(Felszabadítani az osztály_referencia.Free;-vel illik. A destroy nem az igazi. Elvileg, ha csak lokális obj. referenciád volt, akkor a függvény végén a szemétgyűjtő felszabadít, de arra kell törekedni, hogy amit saját magunk kreáltunk, azt mi is szüntessük meg (már ha van rá lehetőség az adott ''nyelvben'')...
A constructor jó gondolat, ott viszont az osztály változói már élnek, tehát a data := t_charray.create; is teljesen jó, megúszol egy tdatás varázslatot. (Már ha jól értettem, amit írtál. ) És igen, addig él az adott példány data változója, amíg meg nem szünteted az adott obj. referenciáját Free-vel... A korrekt és tiszta megoldás egy saját destroy lenne, ahol explicit Te szünteted meg...)
Szeretettel:
Szalma -
_thomas_
tag
Sziasztok!
Meg tudja nekem vki mondani hogyan lehet egy olyan objektumot háttértárra menteni és onnan visszatölteni, ami saját fejlesztésű osztály objektuma és más saját fejlesztésű osztály objektumait tartalmazza? régebben java-ban nyomultam és ott nem volt ilyen gond mert a bármilyen obj-ot simán ki lehetett menteni...www.ironic-software.com
-
gone
csendes tag
Sziasztok! Egy MEGLÉVŐ file dátumát szeretném átállítani.
Erre találtam a
function FileSetDate(Handle: Integer; Age: Integer): Integer;
függvényt.Nekem a Handle-változóval lenne problémám, hogy
hogyan tudom osszerendelni egy meglévő file-al! Ha createfile-t használok
okkor automatikusan létrehoz egy számot, és azzal mükszik is, de én nem akarok újat, hanem csak a file időbejegyzését átállítani!!
Ha valaki tud segíteni azt megköszönném!
Gone -
VladimirR
nagyúr
function FileOpen(const FileName: string; Mode: LongWord): Integer;
ahol mode lehet:
fmCreate = $FFFF;
fmOpenRead = $0000;
fmOpenWrite = $0001;
fmOpenReadWrite = $0002;
fmShareCompat = $0000 platform;
fmShareExclusive = $0010;
fmShareDenyWrite = $0020;
fmShareDenyRead = $0030 platform;
fmShareDenyNone = $0040; -
Divi
aktív tag
Jóestét, kedves bitpásztorok!
Azt szeretném, megtudni, hogy hogyan tudnám egy MDIChild ablaknak eltüntetni a KERETÉT!
A help azt írja, hogy MDIChild esetén a BorderStyle:=bsNone; nem okoz változást. És tényleg
Ergo szeretném a segítségeteket kérni, hogy akkor hogy tüntessem el!lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
Divi
aktív tag
Hát belekóstoltam, és egy halom más problémával találtam szemben magam :-\
Megoldható lenne ''álMDI-t'' gyártani. De nemtudom hogyan oldjam meg azt, hogy a MDI-child ablakok, mindig a MDIFORM fölött legyenek. De más alkalmazások alatt
Ergo, hogyan tudom megoldani, hogy ''beleolvadjanak'' a Main form-ba?
A többi MDIs ficsőrt kódból meg tudom oldani. De erre fél ötletem sincs :-\lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
<Adamsky>
nagyúr
Sziasztok!
Van-e arra lehetőség, hogy stringgridben megváltoztassam a szöveg igazítását.
Pl. Ft jobbra igazítódjon, míg az előtte levő szöveg balra. -
Robiba
tag
-
<Adamsky>
nagyúr
''...hihetetlen bonyolultan az OnDrawColumns esemény felülírásával...''
Tök igaz!
Rövid keresgélés után akadtam egy kódra, melyet kisebb mértékben módosítva nekem müxik a dolog. Bővebben: link
(szívesen bemásoltam volna ide, de nem tudom, hogy hogyan lehetne megoldani, hogy szépen, formázottan jelenjen meg) -
Alan
aktív tag
Milyen igazad van, ezt a sima igazítást én sem merném bonyolultnak nevezni.
Most éppen szétáll a fejem, ilyeneket kell írnom, hogy
''if not Assigned(TcxCustomGridTableView(AFocusedView.PatternGridView.
Clones[ i ]).Items[AFocusedView.Controller.FocusedItem.Index].Properties) then TcxCustomGridTableView(AFocusedView.PatternGridView.Clones[ i ]).
Items[AFocusedView.Controller.FocusedItem.Index].PropertiesClass :=
TcxMemoProperties;''
és hasonlók, ezer sorokon keresztül. És még ez is hol van az igazán bonyolulttól. Na megyek iszom valamit, mert leszakad a fejem...
[Szerkesztve] -
johnson
csendes tag
Megoldható-e valahogy az alábbi probléma?
Adott egy stringeket tartalmazó tömb, pl :
t[1]:='edit1.text';
t[2]:='edit2.text';
t[3]:='edit3.text';
t[4]:='edit4.text';
A feladat az lenne, hogy a tömb elemein egy for ciklussal végigmenve, átállítsuk a stringként megadott elemek értékeit, pl:
for x:=1 to 4 do Erre_hivatkozok(t[x]):='Új érték';
Előre is köszönöm a segítséget...
Johnson -
Robiba
tag
var
Form1: TForm1;
i1, i2:integer;
tomb:array [0..3] of string = ('Edit1','Edit2','Edit3','Edit4');
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
for i1:=0 to 3 do begin
for i2:=0 to Form1.ComponentCount-1 do begin
if (Components[i2].Name=tomb[i1]) and (Components[i2] is TEdit) then begin
(Components[i2] as TEdit).Text:='Akármi';
break;
end;
end;
end;
end;Billentyűzet hiba! Nyomjon F1-et a folytatáshoz!
-
Divi
aktív tag
.
Kérdés volt, aztán rá 2 percre rájöttem
[Szerkesztve]lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
Diskcopy
tag
Hello!
A következő lenne a kérdés.. Adott egy form, rajta mondjuk 10 darab TImage, legyen a nevük Image1, Image2, image3.. stb Hogyan tudok kódon belül hivatkozni arra, hogy melyiknek a tulajdonságát szeretném állítani, annélkül, hogy
leírnám a konkrét nevét.. Tehát gondolok itt valami ilyesmire, hogy image(száma).tulajdonság.? vagy mindenképpen végig kell menni ciklussal és vizsgálni, Components[cikluszámláló] Image -e és a neve tartalmazza-e az Image stringet??(ahogy fentebb egy példában látszott)
Köszönöm előre is a lámer kérdésre a választ.
[Szerkesztve] -
BlackWoOd
aktív tag
válasz Diskcopy #626 üzenetére
A sorszám névből kitúrása helyett javasolnám a ''Tag'' nevű integer típusú property használatát.
A 10 image tag-jének adsz rendre 1,2,3...10 értéket és kész. (a tulajdonság default értéke 0)
A fenti példa alapján:
if (Components[_i_] is TImage) then
with (Components[_i_] as TImage) do
if (Tag > 0) then begin
// Itt meg megírod a kezelő rutint.
// pl. Case Tag of használatával, vagy ahogy szükséges.
end;
[Szerkesztve]< ..kevés az ember, sok az emberszerű lény... >
-
Diskcopy
tag
válasz Diskcopy #630 üzenetére
Azon gondolkodom, hogy a Components-en belül a képeknek fix értéke van, mármint hogy hanyadikok. Ha újabb komponenst rakok le, akkor növekszik a Components értéke, de a képeké marad ugyanaz (nem?) akkor elméletileg csak meg kéne néznem, hogy a képek hanyadik Components elemtől kezdődnek és akkor megúszom a végigmenős ciklust (legalábbis azt, hogy az összes komponensen végigmenjen). Javíts ki ha tévednék légyszíves.
-
BlackWoOd
aktív tag
válasz Diskcopy #631 üzenetére
Ilyen hajmeresztő mutatványba szerintem ne kezdj bele.
Jobb a békesség.
Csinálj egy tömböt Timage típussal és a form létrehozásakor 1x töltsd fel inkább a components alapján.
Ezt a fixen pl. 5-15. komponenses hivatkozást még most gyomláld ki az agyadból, sok kellemetlen meglepetést tud okozni.
(pl. módosítasz valamit és elfelejted átírni az indexeket, vagy akármi.)< ..kevés az ember, sok az emberszerű lény... >
-
killerjohn
addikt
Uram Isten !
(Form1.FindComponent('image'+IntToStr(N)) as TImage).valami := valami;
enyi.
[Szerkesztve] -
Diskcopy
tag
válasz killerjohn #633 üzenetére
köszi!
mondottam volt, lehet lámer a kérdés.
[Szerkesztve] -
killerjohn
addikt
Ez nem fog menni, mivel ciklusváltozó nem lehet, csak lokális...
Így már jobb :
Var Tomb : array [0..3] of String = ('Edit1','Edit2','Edit3','Edit4');
Procedure TForm1.Button1Click(Sender: TObject);
Var i1 : Integer;
Begin
For i1 := 0 To 3 Do
Begin
(FindComponent(Tomb[i1]) as TEdit).Text := 'Akármi';
End;
End;
[Szerkesztve] -
BlackWoOd
aktív tag
-
Diskcopy
tag
válasz killerjohn #636 üzenetére
Emlékeztem hogy van valami megoldás, csak nem tudtam már mi volt, viszont drótozni sem akartam. hogy image1.stb image2.stb mert ez tényleg lámer
-
Diskcopy
tag
válasz killerjohn #636 üzenetére
hm, átírtam ilyenné: Timage(Form1.FindComponent('Image'+IntToStr(i))).akármi:=akármi. a te verzióddal nyavajgott.
-
Diskcopy
tag
válasz killerjohn #640 üzenetére
Nézd, lehet ő sem, tudta, nem tehet róla. Ez csak téged minősít, hogy vágod a dolgokat Ne bántsd ezért, csak jót akart. Az sem rossz végtére is, csak lassabb az tény.
-
Diskcopy
tag
válasz killerjohn #641 üzenetére
Statement expected, but expression of type 'TImage' found
Form1.FindComponent('image'+IntToStr(i)) as TImage).Picture.Bitmap := TBitmap.Create;
így van a kód, és a as Timage). a pontnál nyavajog, míg a másik verzióval amit írtam megy. Te biztos tudod, hogy miért. -
Diskcopy
tag
válasz killerjohn #645 üzenetére
7es delphi.
-
BlackWoOd
aktív tag
válasz killerjohn #640 üzenetére
Te fejlesztés közben nem szoktad elnevezni a komponenseidet, hogy mikor keresed, megtaláld?
Pl. Image1 helyett Kep_Bal_Felso, vagy ilyesmi?
Vannak ám előnyei, ha valaminek a neve utal a tartalmára/funkciójára...
(Talán te is rájössz, hogy miért nehézkes ez a ''komponens a neve'' alapján procedúra egy nagyobb app esetében. De tényleg hagyjuk.)< ..kevés az ember, sok az emberszerű lény... >
Új hozzászólás Aktív témák
- Milyen videókártyát?
- Kerékpárosok, bringások ide!
- Azonnali VGA-s kérdések órája
- Elemlámpa, zseblámpa
- Vigneau interaktív lokálblogja
- Google Pixel 6/7/8 topik
- DIGI internet
- Ford topik
- Kínában túl sok az EV, fokozódik az árháború
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- További aktív témák...
- ZOTAC GeForce GTX 1080 AMP Edition 8GB GDDR5X 256bit
- Filmes gép gyűjtemény
- Nikon D5000 + AF-S DX NIKKOR 18-105 mm
- Bontatlan Seagate & Western Digital HDD-k 3TB - 12TB -ig - Számla + Garancia, Ár alatt! BeszámítOK!
- DJI Mini 4 pro FMC drón - 3 akku, RC2 táv, 2 táska, Filterek, 2025. decemberig garancia, DJI Care