- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Így építsd a billentyűzeted!
- Házimozi belépő szinten
- Milyen egeret válasszak?
- Hobby elektronika
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Milyen TV-t vegyek?
- Alapértelmezett konfiguráción sok Core CPU-nak lehet stabilitási gondja
- Gaming notebook topik
- Milyen processzort vegyek?
Hirdetés
-
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.
-
iPaden is vége az App Store monopóliumának
ma Ősztől lehet alternatív alkalmazásboltból telepíteni az EU tagállamaiban.
-
Alacsony fogyasztású, 128 GB-os szervermemóriát kínál a Micron
ph Az új RDIMM TSV technológia alkalmazása nélkül éri el a címben említett tárkapacitást.
Új hozzászólás Aktív témák
-
Gyuri16
senior tag
ha egy form belsejet akarod valtoztatni akkor szerintem jobb lenne tabokat hasznalni, es azzal valtogatni. amit akarsz (ha jol ertem), bar meg lehet csinalni, de nem erre van kitalalva. tobbnyire windowsos alkalmazasoknak van egy fo ablaka, ami sok masikat tud elohivni, de nem latom ertelmet onmagat valtoztatni.
ha mindenkepp ezt akarod, akkor szerintem inkabb paneleket keszits, es azokat valtogasd a formon belul (tpanelt is lehet design timeban kesziteni)Nem vagyok egoista, csak uborkagyalu!
-
zka67
őstag
-
Gyuri16
senior tag
elso: adsz neki egy ures popupmenut. jobbat nem tudok (esetleg a msg-kel jatszhatsz meg, ahogy irtad)
a masodikra: a form elemei a formnak (mint objektumnak) a valtozoi. tehat a formon belul elered oket, kivulrol pedig csak a formon keresztul lehet (form.valtozo). a poen az egeszben, hogy egyenesen nem lehet elerni, mert ezek private valtozok, tehat valamilyen public metodussal kell trukkozni. ez viszont nem szep megoldas, a formon kivul nem kellene az elemeit babralni. ha olyan valamit akarsz, ami hozzafer a kontrolokhoz, akkor az legyen a form metodusa.
Nem vagyok egoista, csak uborkagyalu!
-
Gyuri16
senior tag
ha tenyleg az objektumon belul csinalod, akkor el kell tudnod erni a valtozokat. ennek az eljarasnak az osztalyon belul kell lennie, tehat a deklaracioja igy nez ki:
procedure TForm1.valami;
azon kivul a TEditet (vagy akarmit hasznalsz) siman at tudod adni parameterkent egy ellenorzofuggvenynek (bar ebben az esetben szerintem eleg lenne a frissen begepelt chart atadni):
procedure TForm1.ellenoriz(ed: TEdit);beillesztesnek wm_paste msg-je van
Nem vagyok egoista, csak uborkagyalu!
-
zka67
őstag
Nem kell ennyire túlbonyolítani!
procedure TMainForm.EditKeyPress(Sender: TObject; var Key: Char);
begin
if Length( TEdit(Sender).Text ) > 10 then
TEdit(Sender).Text := '';
end;Mindhárom Edit-ednek ugyanazt az OnKeyPress eventet állítod be (ezért neveztem át Edit1KeyPress-ről) és a TEdit(Sender)-rel megkapod a hívó elem adatait.
-
zka67
őstag
Az első kérdésedre:
with Memo1 do buff := Copy(Text,SelStart+1,SelLength);
A második kérdésedet nem értem. Ha az Enabled értékét false-ra állítod, akkor szürke lesz a szöveg.
Az utolsó kérdésedre:
BiDiMode : TBiDiMode;
TBiDiMode = (bdLeftToRight, bdRightToLeft, bdRightToLeftNoAlign,
bdRightToLeftReadingOnly);Ha jobbra akarod igazítani akkor
BiDiMode := bdRightToLeft;
-
zka67
őstag
Külön opció nincs, de nem nehéz megírni. Csinálsz egy új osztályt, pl. TGrayEdit-et:
type TGrayEdit = class(TCustomEdit)
private
procedure SetEnabled(Value : boolean);
function GetEnabled : boolean;
public
property Enabled : boolean read GetEnabled write SetEnabled;
end;Megírod hozzá az Enabled funkciókat:
procedure TGrayEdit.SetEnabled(Value : boolean);
begin
TControl(Self).Enabled := Value;
if Value then Color := clWhite else Color := clSilver;
end;
function TGrayEdit.GetEnabled : boolean;
begin
Result := TControl(Self).Enabled;
end;A form-odban vagy ahol használod:
type
TMainForm = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
GrayEdit : TGrayEdit;
end;Létrehozod a GrayEdit-e(ket):
procedure TMainForm.FormCreate(Sender: TObject);
begin
GrayEdit := TGrayEdit.Create(Self);
with GrayEdit do begin
Parent := MainForm;
Left := 8;
Top := 8;
Text := 'Proba';
end;
end;és használhatod :
procedure TMainForm.Button1Click(Sender: TObject);
begin
GrayEdit.Enabled := not GrayEdit.Enabled;
end; -
zka67
őstag
Gondolom (remélem) már nem XP-re fejlesztesz. Vista és 7 alatt a Registry-t már nem engedi "csak úgy" írkálni, meg olvasgatni sem, csak a következőképpen:
with TRegistry.Create(MAXIMUM_ALLOWED) do
try
...
finally
Free;
end;Van még egy hiba a programodban, az EnableProxy-ban az OpenKey előtt van egy WriteBool, az szerinted hová ír?
-
zka67
őstag
Használj ini fájlokat:
uses IniFiles;
...
var Ini : TIniFile;
IniPath : string;
...
IniPath := AppDataPath; // célszerűen az APPDATA könyvtár
Ini := TIniFile.Create(IniPath+'\programnév\settings.ini');
param_int := Ini.ReadInteger(Section,Item,default_value);
param_str := Ini.ReadString(Section,Item,'default_value');
Ini.WriteInteger(Section,Item,param_int);
Ini.Free;Szerintem magáért beszél a dolog. Pl. egy settings.ini az ablakpozíció megjegyzéséhez:
[Main]
Left=200
Top=50És a hozzá tartozó kód:
// FormCreate
Left := Ini.ReadInteger('Main','Left',Left);
Top := Ini.ReadInteger('Main','Top',Top);
// FormClose
Ini.WriteInteger('Main','Left',Left);
Ini.WriteInteger('Main','Top',Top);[ Szerkesztve ]
Új hozzászólás Aktív témák
- Ukrajnai háború
- Stellar Blade
- AMD off topik: VGA, CPU, APU és minden, ami AMD
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Így építsd a billentyűzeted!
- Linux felhasználók OFF topikja
- Bemutatkozott a Moto G32 4G
- Luck Dragon: MárkaLánc
- Luck Dragon: Asszociációs játék. :)
- Autós topik látogatók beszélgetős, offolós topikja
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest