Участвуйте в конкурсе "Статья месяца" и вы выиграете книгу по Delphi от магазина ОЗОН. В конце каждого месяца Вами будет выбран лучший автор, который и получит книгу. Присылайте ваши статьи на
pixel@novgorod.net .
Авторов просим строго придерживаться
тематики рассылки.
Хотите поучаствовать в нашем
проекте, вы умеете работать с OpenGL или DX?
Присоединяйтесь вместе мы напишем
классную RPG ... То что готово, уже
есть на скриншотах в разделе проект... Желательны(Хотя не
обязательны , по ходу сами все поймете)
знания Borland C++ Builder или Delphi в сфере графики(или
просто кодеры).Все абсолютно свободно
freewareно и бесплатно. ПОЛНЫЙ ДОСТУП К
НАШИМ ИСХОДНИКАМ.
ув. Подписчики. пожалуйста оцените труд данных авторов отдав свой голос за того, кого вы считаете достойным. 31 июля по итогам голосования лучшему автору будет
подарена книга от магазина "ОЗОН". Если вы хотите увидить своё имя среди авторов - то прочитайте условия конкурса
Вот, решил я найти что-нибудь
полезное для сетевого программирования.
Пожалуй данный код будет очень кстати, если
вы имеете свой сайт. В этом случае можно
продумать систему апдейтов из интернета,
для своей программки. Вот код , как
даунлоадить файл из инета:
Uses URLMon, ShellApi;
function DownloadFile(SourceFile, DestFile: string): Boolean; begin try Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; except Result := False; end; end;
procedure TForm1.Button1Click(Sender: TObject); const // Место
файла в сетке
SourceFile = 'http://www.google.com/intl/de/images/home_title.gif'; // Куда
его сохранять
DestFile = 'c:\temp\google-image.gif'; begin if DownloadFile (SourceFile, DestFile) then begin ShowMessage('Download succesful!'); end else ShowMessage('Error while downloading ' + SourceFile) end;
Не
обязательно качать картинку, и потом
загружать, код можно протестировать в
оффлайн режиме, только D:/вашфайл.егорасширение
будет выглядеть, как file:///D:/вашфайл.егорасширение....
Для тех, кто пишет полезные проги, и
продает их, или просто распространяет с
копирайтом, всегда кошмаром является
защита его детища от разных личностей, вот
несколько методов , которые обезопасят вас
хотя бы, от новичков в хаке.
Подсчет контрольной суммы некоего файла
- ключа
function GetCheckSum(FileName : string) : DWORD;///
сама функция var F : Fileof DWORD;
P : Pointer;
Fsize : DWORD;
Buffer : Array [0..500] of DWORD; begin FileMode := 0;
AssignFile(F,FileName);
Reset(F);
Seek(F,FileSize(F) div 2);
Fsize := FileSize(F) -1 -FilePos(F); if Fsize > 500 then Fsize := 500;
BlockRead(F, Buffer, Fsize);
Close (F);
P := @Buffer; asm xor eax, eax
xor ecx, ecx
mov edi , p
@again:
add eax, [edi + 4*ecx]
inc ecx
cmp ecx, fsize
jl @again
mov @result, eax end; end;
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(IntToStr(GetCheckSum('c:\key.dat'))); //тут вы
узнаете эту сумму end;
Если
код немного модернизировать, то ваша прога
откажется запускаться, если сумма не
совпадает(файл-ключ можно сделать из любого
небольшого файла.)...
Если вы хотите пользоваться программой
один со своего компа на помощь приходит
этот код
function GetCurrentUserName : string; const cnMaxUserNameLen = 254; var sUserName : string;
dwUserNameLen : DWord; begin dwUserNameLen := cnMaxUserNameLen-1;
SetLength(sUserName, cnMaxUserNameLen);
GetUserName(PChar(sUserName), dwUserNameLen);
SetLength(sUserName, dwUserNameLen);
Result := sUserName; end;
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(GetCurrentUserName);//данная прога
просто говорит вам ваш логин, но если
сделать так:
////////////if
GetCurrentUserName<>'pixel' then halt
///////////тогда
она не будет запускаться если вы не pixel :) end;
Примечание:
вход в систему нужно делать через логин.(код
не проверял, он может работать только на NT
или наоборот)