- Magga: PLEX: multimédia az egész lakásban
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- btz: Internet fejlesztés országosan!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Mr Dini: Mindent a StreamSharkról!
- M0ng00se: Hardvert áruhitelre?
- bambano: Bambanő háza tája
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
Ú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
Hirdetés
- Új WiiM Ultra streamer & DAC Wi-Fi 6E, HDMI ARC, Hi-Res Audio 2 Év Garancia!
- MACBOOK PRO 2021 14.2" M1 PRO (8/14 mag 16GB 500GB, 14 ciklussal, Üzletből ,. garanciával
- Iphone 13 128GB Zöld Nagyon Szép Állapotban, Üzletből Garanciával
- Apple MacBook Pro Retina 13" 2020 i5-10.gen 16GB/512GB SSD, Nagyon jó akku, Garancia, üzletből
- ASUS DUAL GeForce RTX 4060 Ti O8G OC Edition
- MSI CreatorPro Z16P - i7-12700H, RTX A5500, értintőkijelző
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5800X 32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
- Bomba ár! Toshiba Satellite Pro R50-C - i3-6G I 4GB I 128GB SSD I 15,6" I HDMI I Cam I W10 I Gari!
- Telefon felvásárlás!! Honor 90 Lite/Honor 90/Honor Magic5 Lite/Honor Magic6 Lite/Honor Magic5 Pro
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest