- Milyen okostelefont vegyek?
- Vodafone mobilszolgáltatások
- A Honor és a Huawei uralja a kínai mobilpiacot
- Garmin Forerunner 255 Music - nem csak futóknak
- Yettel topik
- Motorola Moto G24 Power - hol van az erő?
- Android alkalmazások - szoftver kibeszélő topik
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- Ezek a OnePlus 12 és 12R európai árai
- Google Pixel 6/7/8 topik
Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Robotkart irányított a majom a kínai Neuralink agyi chipjével
it A mindezt lehetővé tévő Neucybert a Neuralink kínai riválisa, a Beijing Xinzhida Neurotechnology fejlesztette ki.
-
Miniképernyős, VIA-s Epomaker billentyűzet jött a kábelmentes szegmensbe
ph A megfizethető, szivacsokkal jól megpakolt modell ötfajta kapcsolóval és kétféle színösszeállítással/kupakprofillal szerezhető be.
Új hozzászólás Aktív témák
-
killerjohn
addikt
VCL :
TForm
property Components[Index: Integer]: TComponent read GetComponent;
function TComponent.GetComponent(AIndex: Integer): TComponent;
begin
if FComponents = nil then TList.Error(@SListIndexError, AIndex);
Result := FComponents[AIndex];
end;
function TComponent.FindComponent(const AName: string): TComponent;
var
I: Integer;
begin
if (AName <> '') and (FComponents <> nil) then
for I := 0 to FComponents.Count - 1 do
begin
Result := FComponents;
if SameText(Result.FName, AName) then Exit;
end;
Result := nil;
end;
a függvényhíváson belül már a saját, közvetlen elérésű adattagjával dolgozik az osztály, és nem a GetComponent függvényen keresztül ad vissza értéket, amikor a Components[] tömb elemeit olvasod....
Tehát még gyorsabb is. -
BlackWoOd
aktív tag
válasz killerjohn #650 üzenetére
A polírozásba ne menjünk bele, hogy ki mit és mennyit fejleszt és hogy kinek mekkora.
Ennek ellenére _szerintem_ nem túl jó a neve alapján ilyen módon használni egy komponenst.
Egy életszerű példa: Megváltoztatod a komponens nevét, majd x helyen a forrásba is átvezeted a változást.
Viszont nem veszed észre, hogy van egy x+1edik előfordulás, ráadásul valami elágazás mélyén, ahol ez ''véletlenszerűen'' hibát fog okozni. Az ilyen dolgokat élvezet debuggolni.
Jobb, ha az ilyesmit a fordító kiszúrja, szerintem.< ..kevés az ember, sok az emberszerű lény... >
-
g4dg3t
senior tag
válasz killerjohn #654 üzenetére
nem szeretek belehegeszteni a kodba komponensnevekre hivatkozasokat...szamomra attekinthetobb es foleg szebb ha egy sajat ciklus vegzi a keresest mondjuk Tag alapjan. (...mindenki mashogy csinalja...)
-
Diskcopy
tag
válasz killerjohn #659 üzenetére
Újabb lámer kérdés coming. Menetközben átvésem a Timage Bitmapját. viszont csak akkor frissít, ha ráklikkelek és akkor is úgymond ''Maszkosan'' tehát az előző is látszik alatta. Hogyan frissítsem rögtön, vagy mit állítsak be a TImage tulajdonságainál. Egyszerűbb nektek megmondani, minthogy megint órákat töltsek el vele, mint a FindComponenttel
Amúgy a FindComponenttel nagyon lerövidült az egész, és jól áttekinthető. Még1x köszi -
Diskcopy
tag
válasz killerjohn #661 üzenetére
Imagelistből rádobok a sima imagere egy másik képet.
Imagelist2.GetBitmap(c, Timage(Form1.FindComponent('Image'+IntToStr(c))).Picture.Bitmap);
Ha nagyon béna megoldás, akkor azért ne harapd le a fejem -
-
Diskcopy
tag
válasz killerjohn #665 üzenetére
Nyomtam neki de még mindíg, frissít mostmár, eddig a képek sem jelentek meg, de most megjelenik egyből, csak még mindíg alatta van a régi.. Imagelistben sincs Transparent, meg magában az imageben sincs a tulajdonságok között. Nem értem
-
Diskcopy
tag
Jó, akkor komplexen a probléma. van ugye a Timagelistem. ebben van 5 kép.(dobókocka képei), és dobok vele 5 darabot( 5 sima image). Ezt akarom kitenni. Kérlek írd meg nekem akkor pontosan, hogy hogy csináljam, mert amint látszik hülye vagyok.
eddig így volt:
for c:=1 to 5 do begin
dobott[c]:=random(5)+1;
Imagelist2.GetBitmap( dobott[c]-1, Timage(Form1.FindComponent('Image'+IntToStr(c))).Picture.Bitmap);
Timage(Form1.FindComponent('Image'+IntToStr(c))).Invalidate;
end;
Előre is kösz. -
-
Diskcopy
tag
válasz killerjohn #670 üzenetére
igen. annál mind a kettő clNone...
-
Diskcopy
tag
válasz killerjohn #672 üzenetére
nem akarok külön mellékelni hozzá képeket. Ha runtime töltöm be LoadFromFile, akkor mellékelnem kéne, nem? Transparentre akkor megoldás mi? mert már a falat kaparom
Adj nekem is, most szívtam el az utcsót
[Szerkesztve] -
Szalma
őstag
válasz Diskcopy #669 üzenetére
(Jónak tűnik. Valami transparent kapargatás kellene neki, de nem tudok többet fejből, szerencsére nincs delfi a gépemen már ~2 éve... )
Szeretettel:
Szalma
ui.: Jaja... Bitmap mag kapargatás megvan... Lehet lejjebb is menni, de nem éri meg...
szerk.: Szerintem tök jó, ha belefordulnak a képek. Külső resource kicsit ciki. Utána egy UPX-el rámenni, és kicsi lesz.
[Szerkesztve] -
killerjohn
addikt
válasz Diskcopy #669 üzenetére
Procedure ClearBitmap(Btm: TBitmap);
Begin
With Btm.Canvas Do
Begin
Pen.Color := clWhite;
Brush.Color := clWhite;
Rectangle(0,0,Btm.Width,Btm.Height);
End;
End;
itt jön a Tiéd :
Var Img : TImage;
For c := 1 to 5 Do
Begin
dobott[c]:=random(5)+1;
Img := Timage(Form1.FindComponent('Image'+IntToStr(c)));
ClearBitmap(Img.Picture.Bitmap);
Imagelist2.GetBitmap( dobott[c]-1, Img.Picture.Bitmap);
Img.Invalidate;
End;
próba, kemence. -
Diskcopy
tag
válasz killerjohn #676 üzenetére
Kemence bejött MESTER
felvehetlek-e MSNre, vagy ICQ, nem akarom szétfloodolni a topicot hülyeségekkel, lehet még lesz kérdésem. Ha nem, persze megértem. Eddig is nagy THX neked. -
killerjohn
addikt
válasz Diskcopy #677 üzenetére
A ''mester'' azért erős....
Itt se ICQ-t, se MSN-t nem használok... Otthon nincs net, jövőhéten hozzák be... Marad a PH!. De ez nem flood. Ez a topic erre van, nem ?
Szerk: A rendszergazda nem szereti az ilyen jellegű ''chat'' cuccokat. Próbáltam elmagyarázni, de fogja fel.... mind1.
[Szerkesztve] -
Diskcopy
tag
válasz killerjohn #678 üzenetére
Jó, hát akkor marad a remény, hogy ha újabb problem lesz, ittleszel a közelben, vagy más Mester . Mindenkinek köszönöm, aki eddig segített. Minden gond megoldódott. Ph! Rulez. Sorry a sok Offért.
[Szerkesztve] -
Szalma
őstag
válasz killerjohn #676 üzenetére
(Gyilkos, ipari megoldás... )
Szeretettel:
Szalma -
killerjohn
addikt
Na, most megyek, ne keressetek... Addig is good luck ! Delphi rulez. off
-
yksz
aktív tag
Hogyan kell egy editboxba visszafelé írni? Tehát ha ebben a sorrendben pozyogom be: 23, akkor ezt írja ki: 32
Fly away my precious knowledge fly far away
-
yksz
aktív tag
Még elfelejtettem, hogy hpgyan olvasok be visszafelé karakterenként egy szovegrészletet?Pl.: abcdef és ezt beolvasni karakterenként így: fedcba THX
Fly away my precious knowledge fly far away
-
Robiba
tag
válasz killerjohn #686 üzenetére
2. Vissza:=ReverseString(Eredeti);
1. A fentit használhatod az Edit OnChange eseményében.Billentyűzet hiba! Nyomjon F1-et a folytatáshoz!
-
yksz
aktív tag
válasz killerjohn #686 üzenetére
THX az elozo válaszokat, ezt pedig úgy gondoltam, hogy egy karakterláncot visszafelé, karakterenként beolvasni egy változóba.
Fly away my precious knowledge fly far away
-
Robiba
tag
Hááát, ha még ezek után sem megy: #686
A 2.-t ne csináld, elég gáz, inkább saját komponenst kellene írni rá.
A #688-ra: milyen változóba?
Tessék, beírom egy string változóba:
var
Vissza:String;
begin
Vissza:=ReverseString(Edit1.Text);
end;Billentyűzet hiba! Nyomjon F1-et a folytatáshoz!
-
yksz
aktív tag
Ezt eddig értem, csak karakterenként nem tudom, tehát T: string. Ebbe beolvasom a karakterlánc utolsó karakterét, csinálok vele vmit, eldobom, az utolsó elottit olvasom be, csinálok vmit, eldobom... Mert a reverseSring az egészet olvassa be és nem csak egyet.
Fly away my precious knowledge fly far away
-
yksz
aktív tag
válasz killerjohn #692 üzenetére
THX, erre voltam kíváncsi
Fly away my precious knowledge fly far away
-
Divi
aktív tag
Sziasztok!
Szeretném az ötleteiteket hallani, hogy hogyan lehetne megvalósítani Delphiben egy vezérlő ''onMouseLeave'' eseményét.
Ugy az OnMouseMove jó arra, hogy észleljük, hogy az egér a komonensre érkezett.
De hogyan észleljük, hogy másra érkezett?
Az eddigi ötlet, hogy az őt körülvevő összes komponensre írunk egy OnMouseMove-ot, és ott futtatjuk, az adott parancssort amit szeretnénk (az én esetemben egy szín állítást).
Működőképenek látszik, de számomra elsőre egy kicsit favágó módszer.
Van valami jó és elegáns megoldás erre?lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
Divi
aktív tag
Update:
Egy másik ötletem, hogy a MouseMove eseménnyel vizsgáljuk le, hogy hol van az egér, és ha egy akármekkora szegélyre ér, akkor hajtsuk végre az ''onMouseLeave''-et sajnos csk félmegoldás, mert eddigi tapasztalaim szerint sokszor túl lassú ahhoz, hogy kellő számossággal levizsgálja, így sokszor egy erősebb egérmozdulat után ''bejelölt'' marad a vezérlő...lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
yksz
aktív tag
Teszel egy timert, ami nézi, hogy hol van az egér. Ha a komponens koordinátáin belul akkor ... ha a komponens koordinátáin kívul, akkor... Ha azt akarod, hogy csak akkor legyen, ha leviszed róla, tehát a ráviszed és le, akkor megnézed rajta van-e és utána, hogy mikor viszi le. Jobb nem jut az eszembe
Fly away my precious knowledge fly far away
-
yksz
aktív tag
Lehet, hogy nálad muxik ez a reversestring, de nálam undeclared identifier
Az onkeydown, vagy Onchange eseményre a selstart=0 sem vált hasznomra, ugyanis nem kézzel nyomom le a billt, hanem a progi írja ki és íg csak simán hozzáírja, de nem az eljéreTehát valami olyasmi kéne, ami hozzáir egy karaktert, de az elejére.Fly away my precious knowledge fly far away
-
yksz
aktív tag
Hehe elkészultem elso olyan progimmal, amelyikkel az olyanok mint én 10 percig jól elszórakoznak:
Bővebben: link
Akármilyen nagy pozitív egész számot lehet használni
[Szerkesztve]Fly away my precious knowledge fly far away
Új hozzászólás Aktív témák
- Új, bontatlan Samsung S24+ 256 GB black
- Dell Latitude E7270, 12,5" HD Kijelző, i5-6300U CPU, 8GB DDR4, 256GB SSD, W10, Számla, Garancia
- Amazfit I T-REX 2 I GTS 3 I GTR 3 I GTR 3 Pro
- Új Latitude 7440 2-in-1, FHD+ IPS kihajtható érintő, i7-1365U, 32GB DDR5, 512GB NVMe, IR kamera, gar
- Beszámítás! GB H610M i5 13400F 32GB DDR4 1TB SSD RTX 3070Ti 8GB MONTECH AIR 1000 Lite Corsair 650W