Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.12.2010, 19:25
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию Пишу инсталлятор...

Здраствуйте! Снова я! Вот почти-почти написал создатель инсталляторов типа InnoSetup ну вот хочу поставить ключ активации. Вообщем это Form3 (главная Form1) там Memo(Куда код вписывается) и BitBtn (Чтобы зарегестрировать ключ). Это я сделал, если пользователь ввел ключ (их всего 5) то в файл key.ccbf записывается это:
Код:
1
2
[RegistryKey]
Key=...
Ну вот если заного открыть программу этого уже не будет я подумал...И тута в голову стукнула одна мыслейка прочитать этот файл и ключ записать в Form1.sMemo1.Lines.Text и нажать на BitBtn как вообще это сделать? Надо прочитать key.ccbf и ключ записать в Форм3.сМемо1.Линес.Текст и нажать на кнопку.
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #2  
Старый 31.12.2010, 20:17
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Честно говоря не понял что ты хочешь...
Код:
1
2
Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'key.ccbf');
Buttin1.Click;
__________________
Помогаю за Спасибо
Ответить с цитированием
  #3  
Старый 01.01.2011, 15:11
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от v1s2222
Честно говоря не понял что ты хочешь...
Код:
1
2
Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'key.ccbf');
Buttin1.Click;
Ну это понятно я сделал по твоему способу. Я сейчас сделал т.е пользоваетль вводит код если он правильный он сохраняется в файл, потом при запуске из этого файла вводится в Мемо1 и нажимается БитБтн. Ну так вот я написал при сохранении:
Код:
1
sMemo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + 'key.ccbf');
А при запуске:
Код:
1
2
Form3.sMemo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'key.ccbf');
Form3.sBitBtn1.Click;

Но пишет:
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at adress 005076A8 in module 'Project1.exe'. Read of adress 0000030C'. Proccess stopped. Use Step or Run to continue.

И ёще как сделать:

Код:
1
2
3
if (файл key.ccbf найден в папке с программой) then
действие
end;
__________________
Начинающий Delphi
Помогаю за Спасибо!

Последний раз редактировалось PaHaNjkee, 01.01.2011 в 15:15.
Ответить с цитированием
  #4  
Старый 01.01.2011, 15:22
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Цитата:
Сообщение от PaHaNjkee
И ёще как сделать:

Код:
1
2
3
if (файл key.ccbf найден в папке с программой) then
действие
end;
Код:
1
2
3
4
if FileExists(ExtractFilePath(Application.ExeName) + 'key.ccbf') then
begin
  // действие
end;
Ответить с цитированием
  #5  
Старый 01.01.2011, 15:39
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от ryderx34
Код:
1
2
3
4
if FileExists(ExtractFilePath(Application.ExeName) + 'key.ccbf') then
begin
  // действие
end;
Спс, но у меня все равно выдает ошибку которая была приведена выше. У меня ругается на эту строку:
Код:
1
2
3
4
5
if FileExists(ExtractFilePath(Application.ExeName) + 'key.ccbf') then
begin
<font color="Red">Form3.sMemo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'key.ccbf');</font>
Form3.sBitBtn1.Click;
end;

Сначала программа запускается, потом я ввоже код активации все норм, файл создается, я закрываю программу, открываю и пишет ошибку...Помогите, плз
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #6  
Старый 01.01.2011, 16:16
Аватар для BoRoV
BoRoV BoRoV вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 193
Репутация: 12694
По умолчанию

Код:
1
2
3
4
5
if FileExist(ExtractFilePath(ParamStr(0)) + 'key.ccbf') then
begin
  Form3.sMemo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'key.ccbf');
  Form3.sBitBtn1.Click;
end;
__________________
Меня греют ваши плюсы к моей репутации...
Ответить с цитированием
  #7  
Старый 01.01.2011, 16:55
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от BoRoV
Код:
1
2
3
4
5
if FileExist(ExtractFilePath(ParamStr(0)) + 'key.ccbf') then
begin
  Form3.sMemo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'key.ccbf');
  Form3.sBitBtn1.Click;
end;
X_x бессмысленно
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #8  
Старый 01.01.2011, 17:17
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Возможно ты или не создал Form3, либо она уже уничтожена...
__________________
Помогаю за Спасибо
Ответить с цитированием
  #9  
Старый 01.01.2011, 18:12
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от v1s2222
Возможно ты или не создал Form3, либо она уже уничтожена...
Нет форма3 у меня создана подключена к 1 форме а 1 к 3
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #10  
Старый 01.01.2011, 18:26
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Если хочешь, скинь проект, будет время исправлю.
__________________
Помогаю за Спасибо
Ответить с цитированием
  #11  
Старый 01.01.2011, 18:44
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Вообщем

Unit1:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, sSkinManager, sDialogs, StdCtrls, sEdit, sMemo, sLabel,
  sSpinEdit, ShellApi, IniFiles, sComboBox;
 
type
  TForm1 = class(TForm)
    sSkinManager1: TsSkinManager;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    sEdit1: TsEdit;
    sEdit2: TsEdit;
    sEdit3: TsEdit;
    sMemo1: TsMemo;
    sEdit4: TsEdit;
    sLabelFX1: TsLabelFX;
    sLabelFX2: TsLabelFX;
    sLabelFX3: TsLabelFX;
    sLabelFX4: TsLabelFX;
    sLabelFX5: TsLabelFX;
    sLabelFX6: TsLabelFX;
    sLabelFX7: TsLabelFX;
    sSpinEdit1: TsSpinEdit;
    sSpinEdit2: TsSpinEdit;
    sSpinEdit3: TsSpinEdit;
    sLabelFX8: TsLabelFX;
    sEdit5: TsEdit;
    sLabelFX9: TsLabelFX;
    sComboBox1: TsComboBox;
    procedure FormCreate(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure sComboBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  unreg,reg:string;
 
implementation
 
uses Unit2, Unit3;
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
unreg:='(trial version)';
reg:='(register version)';
if FileExists(ExtractFilePath(Application.ExeName) + 'key.ccbf') then
begin
Form3.sMemo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'key.ccbf');
Form3.sBitBtn1.Click;
end;
end;
 
procedure TForm1.N5Click(Sender: TObject);
begin
Application.Terminate;
end;
 
procedure TForm1.N7Click(Sender: TObject);
begin
Application.MessageBox('1. Wank :)','Creating a batch file',mb_iconinformation or mb_ok);
end;
 
procedure TForm1.N2Click(Sender: TObject);
begin
sMemo1.Lines.Text:='@echo off'+#13#10+
'cls'+#13#10+
'echo '+sedit1.Text+#13#10+
'echo '+sedit2.text+#13#10+
'title '+sedit4.text+#13#10+
':srcds'+#13#10+
':loop'+#13#10+
'echo (%date% %time%) srcds started.'+#13#10+
'start /wait '+sEdit3.Text+' -console -game cstrike -tickrate '+inttostr(sSpinEdit1.Value)+' -port '+inttostr(sSpinEdit2.Value)+' +fps_max 600 +maxplayers '+inttostr(sSpinEdit3.Value)+' +map '+sEdit5.text+#13#10+
'goto srcds'+#13#10+
'echo (%date% %time%) WARNING: srcds closed or crashed, restarting.'+#13#10+
'goto loop';
sMemo1.Lines.SaveToFile('Start.bat');
ShowMessage('File was saved in a folder with the program!');
end;
 
procedure TForm1.N10Click(Sender: TObject);
begin
Form3.Show;
end;
 
procedure TForm1.N8Click(Sender: TObject);
begin
Form2.Show;
end;
 
procedure TForm1.N3Click(Sender: TObject);
begin
ShellExecute(Handle,'Open',Pchar('Start.bat'),nil,nil,1);
end;
procedure TForm1.sComboBox1Change(Sender: TObject);
var
  Ini: TIniFile;
begin
  case sComboBox1.ItemIndex of
  0: Ini := TIniFile.Create(ExtractFilePath(Paramstr(0)) + 'english.lng');
  1: Ini := TIniFile.Create(ExtractFilePath(Paramstr(0)) + 'russian.lng')
  end;
  sLabelFX1.Caption := Ini.ReadString('CaptionsForm1', 'Label1', '...');
  sLabelFX2.Caption := Ini.ReadString('CaptionsForm1', 'Label2', '...');
  sLabelFX3.Caption := Ini.ReadString('CaptionsForm1', 'Label3', '...');
  sLabelFX4.Caption := Ini.ReadString('CaptionsForm1', 'Label4', '...');
  sLabelFX5.Caption := Ini.ReadString('CaptionsForm1', 'Label5', '...');
  sLabelFX6.Caption := Ini.ReadString('CaptionsForm1', 'Label6', '...');
  sLabelFX7.Caption := Ini.ReadString('CaptionsForm1', 'Label7', '...');
  sLabelFX8.Caption := Ini.ReadString('CaptionsForm1', 'Label8', '...');
  sLabelFX9.Caption := Ini.ReadString('CaptionsForm1', 'Label9', '...');
  N1.Caption := Ini.ReadString('CaptionsForm1', 'MainMenu1', '...');
  N6.Caption := Ini.ReadString('CaptionsForm1', 'MainMenu2', '...');
  N9.Caption := Ini.ReadString('CaptionsForm1', 'MainMenu3', '...');
  N2.Caption := Ini.ReadString('CaptionsForm1', 'MainMenu4', '...');
  N3.Caption := Ini.ReadString('CaptionsForm1', 'MainMenu5', '...');
  N5.Caption := Ini.ReadString('CaptionsForm1', 'MainMenu6', '...');
  N8.Caption := Ini.ReadString('CaptionsForm1', 'MainMenu7', '...');
  N10.Caption := Ini.ReadString('CaptionsForm1', 'MainMenu8', '...');
  Form2.Caption := Ini.ReadString('CaptionsForm2', 'FormCap', '...');
  Form3.Caption := Ini.ReadString('CaptionsForm3', 'FormCap', '...');
  Form3.sBitBtn1.Caption := Ini.ReadString('CaptionsForm3', 'BitBtnCap', '...');
  Form3.sLabelFX1.Caption := Ini.ReadString('CaptionsForm3', 'Labelfx1', '...');
  Form3.sLabelFX2.Caption := Ini.ReadString('CaptionsForm3', 'Labelfx2', '...');
  Ini.Free;
end;
 
end.


Unit2:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, sLabel;
 
type
  TForm2 = class(TForm)
    sLabelFX1: TsLabelFX;
    sLabelFX2: TsLabelFX;
    sLabel1: TsLabel;
    sWebLabel1: TsWebLabel;
    sWebLabel2: TsWebLabel;
    sLabelFX3: TsLabelFX;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.dfm}
 
end.


Unit3:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
unit Unit3;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, sBevel, StdCtrls, sEdit, sLabel, acPNG, Buttons,
  sBitBtn, IniFiles, sMemo;
 
type
  TForm3 = class(TForm)
    Image1: TImage;
    sLabelFX1: TsLabelFX;
    sLabelFX2: TsLabelFX;
    sBevel1: TsBevel;
    sBitBtn1: TsBitBtn;
    sMemo1: TsMemo;
    procedure sBitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form3: TForm3;
  regkey:string;
 
implementation
 
uses Unit1;
 
{$R *.dfm}
 
procedure TForm3.sBitBtn1Click(Sender: TObject);
begin
regkey:='0397563126378129337615312802380987125312';
if sMemo1.Lines.Text='' then
begin
Application.MessageBox('You have not entered the key!','Error', mb_iconstop or mb_ok);
end;
if sMemo1.Lines.Text<>regkey then
begin
Application.MessageBox('You entered the wrong key!','Error',mb_iconwarning or mb_ok)
end
else
begin
Application.MessageBox('You are entering the correct key! Thank you for using the program! Happy New Year 2011:)','Correct key', mb_iconinformation or mb_ok);
Form1.N3.Enabled:=true;
Form1.sEdit4.Enabled:=true;
Form1.sEdit1.Enabled:=true;
Form1.sEdit2.Enabled:=true;
sMemo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + 'key.ccbf');
end;
end;
end.
__________________
Начинающий Delphi
Помогаю за Спасибо!

Последний раз редактировалось PaHaNjkee, 06.01.2011 в 18:16.
Ответить с цитированием
  #12  
Старый 08.01.2011, 12:39
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Помогите, плз уже 3 дня мучиюсь весь инет облазил...
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:36.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025