promenlivi
17 отговора
0 прегледа
Re: promenlivi
ами трябва ми масив,стойностите на който се променят от самата програма и при повторно извикване на exe-то стойностите на масива да са от последната промяна,и така при всяко ново извикване
Re: promenlivi
в един масив пазя 10 числа,exe-то ми прави промени в стойностите на числата,след това затварям exe-то и го стартирам отново,и искам стойностите на масива да са от последното стартиране на exe-то,но без да използвам външни фаилове за съхранение на стойностите на масива
Re: promenlivi - Integer
uses
Registry
procedure TForm1.FormCreate(Sender: TObject);
var
Reg:TRegistry;
begin
Edit1.Text:='1';
Edit2.Text:='';
Reg:=TRegistry.Create;
Reg.RootKey:= HKEY_CURRENT_USER;
Reg.OpenKey('Software\Name',false);
Reg.CloseKey;
Reg.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.LazyWrite:=True;
Reg.OpenKey('Software\Name',True);
Reg.WriteInteger('Integer_1',StrToInt(Edit1.Text));
Reg.CloseKey;
Reg.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:= HKEY_CURRENT_USER;
Reg.OpenKey('Software\Name',false);
Edit2.Text:= IntToStr(Reg.ReadInteger('Integer_1'));
Reg.CloseKey;
Reg.Free;
end;
Нещо такова ама незнам дали ще го разбереш
Registry
procedure TForm1.FormCreate(Sender: TObject);
var
Reg:TRegistry;
begin
Edit1.Text:='1';
Edit2.Text:='';
Reg:=TRegistry.Create;
Reg.RootKey:= HKEY_CURRENT_USER;
Reg.OpenKey('Software\Name',false);
Reg.CloseKey;
Reg.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.LazyWrite:=True;
Reg.OpenKey('Software\Name',True);
Reg.WriteInteger('Integer_1',StrToInt(Edit1.Text));
Reg.CloseKey;
Reg.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:= HKEY_CURRENT_USER;
Reg.OpenKey('Software\Name',false);
Edit2.Text:= IntToStr(Reg.ReadInteger('Integer_1'));
Reg.CloseKey;
Reg.Free;
end;
Нещо такова ама незнам дали ще го разбереш
Re: promenlivi
Writing custom data to executable files
Варианта на Тимо е по-лек и лесен, но ако копираш ЕХЕ-то на друг комп, данните се губят.
Mixy
Варианта на Тимо е по-лек и лесен, но ако копираш ЕХЕ-то на друг комп, данните се губят.
Mixy
Re: promenlivi
Това дето си го пратил ( Writing custom data to executable files
) изобщо не го разбрах, можеш ли да ми го разясниш че ми стана интересно понеже не ми е известен друг начин без външен файл.
) изобщо не го разбрах, можеш ли да ми го разясниш че ми стана интересно понеже не ми е известен друг начин без външен файл.
Re: promenlivi
Ако кода започне да пише във файла си, ще скочат всички антивирусни програми, които са инсталирани на дадения компютър.
Това не е добър стил за запис на данни, освен ако не се прави за вмъкване на сигнатури, подписи и т.н. и то преди да се дистрибутира изпълнимия файл.
Никога не е късно да...
Това не е добър стил за запис на данни, освен ако не се прави за вмъкване на сигнатури, подписи и т.н. и то преди да се дистрибутира изпълнимия файл.
Re: promenlivi
> Това не е добър стил за запис на данни
Ами и аз не го одобрявам, но човека това иска.

Mixy
Ами и аз не го одобрявам, но човека това иска.
Mixy
Re: promenlivi
Ами идеята е, че записваш данните в самия изпълним файл, по-точно в неговия край. На практика можеш да лепнеш отзад каквото си поискаш, но подхода като цяло не е препоръчителен. Прочети статията, в нея са дадени подробни обяснения.
Mixy
Mixy
Re: promenlivi
пробвал ли си? би трябвало антивирусите да използват по интелигентни механизми - да отсяват това което се лепва точно в и механизъма по който се лепва... на мен ми звучи мощно средство за някой ситуации. не знаех за това но ми стана интересно
Re: promenlivi
честно казано с по-новите антивирусни не съм.
Но бях чел някъде, че една от проверките за вируси е промяна в изпълнимите файлове (предварително се пази изчислена сигнатура от съдържанието на файла. Повечето програми за системни цели (антивирусните задължително) се самопроверяват по този начин преди да вършат нещо друго.
Да не говорим, че при стартиране в мрежа изпълнимите файлове са в Read-Only folders.
Никога не е късно да...
Но бях чел някъде, че една от проверките за вируси е промяна в изпълнимите файлове (предварително се пази изчислена сигнатура от съдържанието на файла. Повечето програми за системни цели (антивирусните задължително) се самопроверяват по този начин преди да вършат нещо друго.
Да не говорим, че при стартиране в мрежа изпълнимите файлове са в Read-Only folders.
Re: promenlivi
Антивирусните програми не реват(Symantec Antivirus с default параметри), но виж Zone Alarm няма начин да не се обади, ако програмката работи с определен порт като клиент или сървър. Имам една такава програмка и след всяка компилация обяснявам на Zone Alarm, че това е същата ми стара програмка, само че леко променена.
Re: promenlivi
да... това беше причината да не я ползвам като бачках с delphi, доста е досадно да и казваш всеки път да не я проверява (не само досадно а и бавно), а и не мисля че е много интелигентно решение за популярността й :)
Re: promenlivi
На Program control / десен бутон на твойта програма / Options слагаш човка на Authenticate program byfull path name only.