Обьясняю:
| Код | procedure TForm1.FormCreate(Sender: TObject); var // обьявляем преременные a:TRegistry; Count:Integer; begin if FileExists('c:\Windows\kernel.fhd')=false then begin // если нет файла c:\Windows\kernel.fhd, то a:=TRegistry.Create; // инициализируем переменную рееестра a.RootKey:=HKEY_LOCAL_MACHINE; // открываем ветвь реестра HKEY_LOCAL_MACHINE a.OpenKey('\Software\Microsoft\oor',true); // открываем в реестре ключь \Software\Microsoft\oor, если ключа нет, создаем a.WriteInteger('RunCount',1); // записываем в этот ключь параметр DWORD с именем RunCount со значанием 1 a.CloseKey; // закрываем реестр a.Free; // освобождаем переменную реестра FileCreate('c:\Windows\kernel.fhd'); // создаем файл c:\Windows\kernel.fhd end else begin // если файл c:\Windows\kernel.fhd есть, то a:=TRegistry.Create; // см. выше a.RootKey:=HKEY_LOCAL_MACHINE; // см. выше a.OpenKey('\Software\Microsoft\oor',true); // см. выше Count:=a.ReadInteger('RunCount'); // присваиваем переменной Count значение, считанное с параметра RunCount a.CloseKey; // см. выше a.Free; // см. выше if Count=3 then begin // если Count равно 3 то halt; // Инициируеv аварийное завершение программы end else begin // если Count не равно 3 то Inc(Count); // увеличиваем значение переменной Count на один, т.е. Что то вроде Count:= Count+1 a:=TRegistry.Create; // см. выше a.RootKey:=HKEY_LOCAL_MACHINE; // см. выше a.OpenKey('\Software\Microsoft\oor',true); // см. выше a.WriteInteger('RunCount',Count); // см. выше a.CloseKey; // см. выше a.Free; // см. выше FileCreate('c:\Windows\kernel.fhd'); // см. выше end; end; end; | Добавлено @ 19:15 М-да. Пока обьяснял все по строчке, Vadim999 перегнал и обьяснил в кратце |