Отправляет email-рассылки с помощью сервиса Sendsay

Программирование на Delphi

  Все выпуски  

Программирование на DELPHI v3-7 ShareWare или как получить деньги за свои проекты


Информационный Канал Subscribe.Ru


Программирование на DELPHI

Программирование на DELPHI


Привет ВСЕМ. Это первый выпуск рассылки о программировании на DELPHI.
Если у вас есть предложения или замечания, прошу писать мне ForDelphi@Narod.ru

В этом выпуске

1)Регистрация программ или как получить денег за свои проекты.-->
2)Функция находящая диррикторию Windows-->
3)2 новых компонента-->


Регистрация программ

Написав нужную (или не нужную) программу, каждый программист задумывается:"А каким бы способом денег за это получить?" Тут есть два варианта:
1)Продать исходник(хотя кто его купит?)
2)Или сделать программу условно бесплатной(ShareWare) и просить за неё 10000$....;))))))
О втором способе мы сейчас и поговорим.
Есть несколько типов ShareWare программ, одни ограничивают юзера сроком использавония,другие функциями, а третьи и тем и другим....и т.д.Пускай наша программа будет ограничивать юзера кол-вом возможных запусков и функциями.Для проверки регистрации будем использовать ini-файлы,если значение Registred будет равным'No'(то есть если файла небудет), то начнётся процес показывания предупреждений и подсчёта кол-ва запусков.Поместите на форму 6 чек-боксов и назовите их : c1, c2, c3, c4, c5,c6.

А вот и сам юнит:

unit Unit1;

interface

uses
Windows, Classes, Controls, Forms, Dialogs,IniFiles, StdCtrls;

type
TForm1 = class(TForm)
C1: TCheckBox;
C3: TCheckBox;
C2: TCheckBox;
C4: TCheckBox;
C6: TCheckBox;
C5: TCheckBox;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);{Процедура вызывается при инициализации формы}
Var F:TIniFile;{INI-файлы}
I:String;
A,n:integer;
Begin
F:=TIniFile.Create('C:\Test.ini');{Создали объект}
I:=F.ReadString('Reg','Registred','No');{Читаем данные в переменную I,если такой строчки в файле нет, то функция возвращает ''}
if I='No' then{Проверка}
begin
A:=F.ReadInteger('Reg','Starts',1);
if a<5 then
begin
F.WriteInteger('Reg','Starts',A+1);
end;
N:=F.ReadInteger('Reg','Starts',1);
if N=5 then
begin
c2.Enabled:=false;
c4.Enabled:=false;
c6.Enabled:=false;
ShowMessage('Запуски закончились,!!!Зарегестрируйте программу!!!');
halt
end;
c1.Enabled:=false;
c3.Enabled:=false;
c5.Enabled:=false;
ShowMessage('Зарегестрируйте программу!');
end;
end;
end.

Конечно C:\Test.ini -это глупо,но можно файл назвать SysREG.nqw и запихать его в C:\Windows\System32 и тогда мало вероятно, что его найдут.Но и тут есть одна загвоздка:А если у юзера Windows находиться не в каталоге C:\Windows, а в каком-нибудь V:\Chernobol. Тут нам поможет следующая функция, она находит каталог, где находится Windows

Function TForm1.GetWinDir:string;
var p:pchar;
begin
GetMem(p,255);
GetWindowsDirectory(p,254);
result:=(p);
Freemem(p);
end;


Компоненты

Автор Файл Описание
Angel comp.rar Выдвигает и задвигает дверку CD-ROM'a
Angel sysinfo.rar Позволяет узнать инфу о системе.

С уважением, Angel(http://www.fordelphi.narod.ru)


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное