- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- DUNE médialejátszók topicja
- 3D nyomtatás
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Azonnali informatikai kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Amlogic S905, S912 processzoros készülékek
- OLED monitor topic
- Milyen monitort vegyek?
- Azonnali VGA-s kérdések órája
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Új hozzászólás Aktív témák
-
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); -
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
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
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
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.
-
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
-
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.
-
zka67
őstag
-
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)
Új hozzászólás Aktív témák
- Óvodások homokozója
- Mos, főz, takarít ez a furcsa figura
- Genshin Impact (PC, PS4, Android, iOS)
- Garry84: Sumák aprós?
- Xiaomi 14T - nem baj, hogy nem Pro
- Battlefield 6
- Xiaomi 15 Ultra - kamera, telefon
- pechman8: 300B vs. GU50: a Herceg és a Koldus
- Kerékpárosok, bringások ide!
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- További aktív témák...
- Azonnali készpénzes Intel i3 i5 i7 i9 12/13/14 gen processzor felvásárlás személyesen / csomagküldés
- GYÖNYÖRŰ iPhone 11 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3167, 100% Akkumulátor
- Epson Workforce DS-530II dokumentumszkenner
- Gamer PC-Számítógép! Csere-Beszámítás! I7 12700E / RTX 3060Ti / 32GB DDR4 / 512GB Nvme SSD
- Azonnali készpénzes AMD Radeon RX 5000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest