Új hozzászólás Aktív témák
-
Jester01
veterán
Elõrebocsátom, hogy csak tippem van, nem értek delphihez
Szóval elõször is a try után nem kell esetleg begin-end blokk ?
Illetve ha nem használod fel az r értékét akkor valószínûleg kioptimalizálja a fordító az osztást. (Mondjuk mivel konstansok vannak, ezt illene egyébként is elkövetnie.)
Ezenkívül nem tudom van-e lehetõség delphiben mindent elkapó kivételkezelõ írására, mert egy olyat jó lenne még odatenni, hogy kiírja valójában milyen exception volt.Jester
-
ReJim
őstag
az a jelenség (amit lol-ként jellemeztél ) az azért fordult elő, mert a delphi mindenképpen vizsgálja, ha belőle futtatod.
le lehet kapcsolni, hogy ne legyen ilyen debugg:
Tools menü ->Debugger Options -> Languages Exceptions (3-dik) fül -> Stop Delphi exceptions pipát kivesz.
ekkor ha try-except, és kivétel lesz, akkor nem fog bejönni a delphi hibajüzi, és nem száll el a progi.
(tipp: ha elszáll a programod, akkor ctrl+f2-vel időt spórolsz, azzal nullázod a progit, enm lesz ao tt a fagyás.)</end.?>
-
czappa
aktív tag
-
tbs
addikt
Szerintem ha csak teheted ódzkodj a regisztritől. Extrém esetben telefonon kell a hozzá nem értő júzet irányítanod egy kis hackeléshez. A regisztriben tök könnyen futhat bele jogosultsági gondokba a tudtán/tudtodon kívül, és adminként könnyebben barmolhatja szét egy klasszikus ''tüsszentős'' egérmozdulattal a windows-át.
Ini párti vagyok. Ha a %WINDIR%-be rakod, vagy a program mellé, fullpath sem kell neki, notepaddal következmények nélkül szerkesztheti.
Amúgy a delphi helpje elég jó példákat hoz. Sajnos a Delphi5 registry komponensei alapban mindig írás/olvasásra akarják a kulcsokat megnyitni, ebből adódhat probléma, figyelj rá! -
pIIrash
tag
unit un_RMethods;
interface
uses Windows, SysUtils, Registry;
const
CurVer = 'SOFTWARE\Microsoft\Windows\CurrentVersion\';
R_UninstPrg = CurVer + 'Uninstall';
R_RUN = CurVer + 'Run';
procedure SetStartWithWindows(AppName, AppTitle: string);
procedure SetRegistryValue(RootKey: HKEY; Key, KeyName, Value, regType: string);
implementation
procedure SetRegistryValue(RootKey: HKEY; Key, KeyName, Value, regType: string);
var
Registry: TRegistry;
begin
Registry := TRegistry.Create;
with Registry do
begin
try
RootKey := RootKey;
if OpenKey(Key, False) then
begin
if regType = 'STR' then WriteString(KeyName, Value);
if regType = 'BOL' then WriteBool(KeyName, StrToBool(Value));
if regType = 'INT' then WriteInteger(KeyName, StrToInt(Value));
end;
finally
Free;
end;
end;
end;
function GetRegistryValue(RootKey: HKEY; Key, Value, regType: string): string;
var
Registry: TRegistry;
TempValue: string;
begin
Registry := TRegistry.Create;
with Registry do
begin
try
RootKey := RootKey;
if OpenKey(Key, False) then
begin
if regType = 'STR' then TempValue := Registry.ReadString(Value);
if regType = 'BOL' then TempValue := BoolToStr(ReadBool(Value));
if regType = 'INT' then TempValue := IntToStr(ReadInteger(Value));
end;
finally
Free;
end;
end;
Result := TempValue;
end;
pl: beírás:
procedure SetStartWithWindows(AppName, AppTitle: string);
begin
SetRegistryValue(HKEY_LOCAL_MACHINE, R_RUN, <Program elérési útja>, <Program neve>, 'STR');
end;
pl: kiolvasás:
InstallPath := GetRegistryValue(HKEY_LOCAL_MACHINE, SOFTWARE\<A program neve>\, A kulcs amiből olvasni akarsz);
Remélem segít!
[Szerkesztve]
Új hozzászólás Aktív témák
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Realme GT 5G - versenyképes
- A fociról könnyedén, egy baráti társaságban
- Milyen légkondit a lakásba?
- Könyvajánló
- Luck Dragon: MárkaLánc
- Így állítsd be a gyermeked androidos készülékét
- Milyen egeret válasszak?
- Autós topik
- További aktív témák...
- RTX 2080TI ROG STRIX GAMER PC
- AKCIÓ !! M3 Chip - MacBook Pro 14" 8C CPU / 10C GPU / 8 GB/ 1 TB / Bontatlan / Magyar
- Tidradio td-h3 akkumulátor
- HP ZBook Studio x360:i7 9850H,32GB,512GB,P2000,15.6" UHD 3840x2160 TOUCH 600nit 100%AdobeRGB,HP gari
- i7-es PC, i7-4790 CPU, 16 GB DDR3 RAM, 1030 2 GB VGA, 240 GB SSD