Вопрос № 111727: Здравствуйте! Я первый раз пишу кейген для лицензии. Есть ключ авторизации (неизвесное кол-во знаков), и нужна составить по нему лицензионный ключ. Ну понял там типа прибавление номера знака, умножение на 2 и тд. Только незнаю как это все реализовать...Вопрос № 111752: Здравствуйте, уважаемые эксперты!
Как программно заставить проводник открыть необходимую мне папку? Допустим путь к папке будет храниться в переменной
var path:pchar;...Вопрос № 111789: Доброго времени суток. есть такая проблемка. сижу и туплю над задачей:
написать программу, позволяющую перевести любое число из 17-ичной системы счисления в десятичную.
предположим есть поле edit1 куда надо ввести число и поле label2 где...Вопрос № 111828: Привет эксперты!
Помогите пожалуйста перевести это на делфи:
LPDISPATCH lpDisp = m_objABSDriver.OpenABS("xxx.abs");
...
CABS m_objABS(lpDisp); <---вот тут непонятка, как это сделать в Дельфе?
Спасибо....
Вопрос № 111.727
Здравствуйте! Я первый раз пишу кейген для лицензии. Есть ключ авторизации (неизвесное кол-во знаков), и нужна составить по нему лицензионный ключ. Ну понял там типа прибавление номера знака, умножение на 2 и тд. Только незнаю как это все реализовать... У кого-нибудь есть примерчик кейгена такого?
Отвечает: Сычёв Павел Алексеевич
Здравствуйте, Зощенко Алексей!
Реализуеться просто- на форму кидаешь два Edit, кнопку, ну и лэйблы по желанию.
Пользователь вводит ключь авторизации в первый эдит, нажимает кнопку. в обработчике нажатия кнопки пишете проверку автор. ключа (чтобы совпадал с шаблоном), если проходит, то выполняете преобразования ключа в лицензионный ключь.
Если хоти поподробнее, присылайте алгоритм получения кода лицензии - сделаю keygen
Ответ отправил: Сычёв Павел Алексеевич (статус: 1-ый класс)
Ответ отправлен: 30.11.2007, 19:10 Оценка за ответ: 2
Вопрос № 111.752
Здравствуйте, уважаемые эксперты!
Как программно заставить проводник открыть необходимую мне папку? Допустим путь к папке будет храниться в переменной
var path:pchar;
Отвечает: Vas177
Здравствуйте, Александр Леонидович!
попробуйте
procedure TForm1.Button1Click(Sender: TObject);
var path:pchar;
begin
path := 'c:windowssystem';
ShellExecute(Handle, nil, path, nil, nil, SW_SHOWNORMAL);
end;
функция ShellExecute находится в модуле ShellAPI
Ответ отправил: Vas177 (статус: 2-ой класс)
Ответ отправлен: 30.11.2007, 17:06 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо! Очень быстрый ответ!
Отвечает: Gh0stik
Здравствуйте, Александр Леонидович!
На самом деле предыдущий ответ не совсем точный, поскольу открывается не проводник, а окно...
Вот немного другой код: procedure TForm1.Button1Click(Sender: TObject); var path:pchar; begin path:='/e,'+'c: emp'; ShellExecute(Handle, nil, 'explorer.exe', path, nil, SW_SHOWNORMAL); end;
В строке path:='/e,'+'c: emp'; '/e,' - это параметр запуска проводника, чтобы открывалась нужная папка.
Да и не забудте про подключение
модуля ShellApi (uses ShellApi).
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 30.11.2007, 17:33
Вопрос № 111.789
Доброго времени суток. есть такая проблемка. сижу и туплю над задачей:
написать программу, позволяющую перевести любое число из 17-ичной системы счисления в десятичную.
предположим есть поле edit1 куда надо ввести число и поле label2 где должен отображаться результат перевода после нажатия на button1.
function XSystemToDec(const aX: String; const X: Integer): Integer;
- преобразует из любой системы (1 < X < 36) в 10-чную aX - число в этой системе; X - система счисления (например: для 17-чной системы X=17).
Вторая функция function System17ToDec(const a17: String): Integer;
- преобразует из 17-чной системы в 10-чную, сама по себе является упрощением первой функции.
Пример использования функций достаточно прост:
procedure TForm1.Button5Click(Sender: TObject); begin
Label1.Caption:= IntToStr(XSystemToDec(Edit1.Text, 17));
Label2.Caption:= IntToStr(System17ToDec(Edit1.Text)); end;
Удачи!
Приложение:
--------- Будь осторожен, когда молишься ради чего-то, потому что можешь это получить...
Ответ отправил: Denisss (статус: Профессионал) Россия, Москва ---- Ответ отправлен: 01.12.2007, 12:54
Отвечает: Дегтярев Антон Александрович
Здравствуйте, Тихонов Алексей!
для этой задачи вам понадобится дополнительно подключить модуль math и функция возведения в степень power.
Далее зная алгоритм преобразования числа всё просто.
Приложение:
--------- Знаете для чего нужен Яndex? для проверки работы интернета
Я предложу Вам процедуру, которая переводит число из системы X в систему Y. procedure SysX_to_SysY(sysX:string; osnX,osnY:integer; var sysY:string); var dec,i,z1,z2,r:integer;
b,c:string; begin
i:=0;
dec:=0; //число в десятичной системе
sysY:=''; while sysX<>'' do //переводим число из системы Х в десятичную begin
c:=copy(sysX,length(sysX),1);
delete(sysX,length(sysX),1); if i=0 then z2:=1 else z2:=round(exp(i*ln(osnX))); if ord(c[1]) > 64 then z1:=ord(c[1])-55 else z1:=StrToInt(c);
dec:=dec+z1*z2; inc(i); end;
while dec > 0 do //переводим число из десятичной системы в ситему Y begin
r:=dec mod osnY;
dec:=dec div osnY; if r < 10 then b:=IntToStr(r) else b:=chr(ord('A')-10+r);
sysY:=b+sysY; end; end;
Для Вашей задачи вызвать данную процедуру с соответствующими параметрами. procedure SysX_to_SysY(sysX:string; osnX,osnY:integer; var sysY:string);
//sysX - число в системе Х
//osnX - основание системы Х
//osnY - основание системы Y
//sysY - число в системе Y
Пример использования: procedure TForm1.Button4Click(Sender: TObject);
var dd:string;
begin
SysX_to_SysY('G',17,10,dd);
ShowMessage(dd);
end;
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 01.12.2007, 17:59
Вопрос № 111.828
Привет эксперты!
Помогите пожалуйста перевести это на делфи:
LPDISPATCH lpDisp = m_objABSDriver.OpenABS("xxx.abs");
...
CABS m_objABS(lpDisp); <---вот тут непонятка, как это сделать в Дельфе?
Спасибо.
Отправлен: 01.12.2007, 07:48
Вопрос задал: Apex36 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Gladiator
Здравствуйте, Apex36!
Это вызов функции function m_objABS(lpDisp:LPDISPATCH): CABS;
Ответ отправил: Gladiator (статус: Студент)
Ответ отправлен: 03.12.2007, 07:59 Оценка за ответ: 4 Комментарий оценки: Привет, а вот и не вызов функции, - это какое-то хитрое объявление экземпляра класса, и какая-то извращенная ?инициализация? этого экземпляра значением переменной lpDisp.. Как такое в Дельфе сделать - пока не понятно... Спасибо.