Участвуйте в конкурсе "Статья месяца" и вы выиграете книгу по Delphi от магазина ОЗОН. В конце каждого месяца Вами будет выбран лучший автор, который и получит книгу. Присылайте ваши статьи на
pixel@novgorod.net .
Хотите поучаствовать в нашем
проекте, вы умеете работать с OpenGL или DX?
Присоединяйтесь вместе мы напишем
классную RPG ... подробности по адресу pixel@novgorod.net
или http://pixelsoft.narod.ru
раздел Проект... Желательны(Хотя не
обязательны , по ходу сами все поймете)
знания Borland C++ Builder или Delphi в сфере графики(или
просто кодеры).Все абсолютно свободно
freewareно и бесплатно. ПОЛНЫЙ ДОСТУП К
НАШИМ ИСХОДНИКАМ.
ув. Подписчики. пожалуйста оцените труд данных авторов отдав свой голос за того, кого вы считаете достойным. 31 июля по итогам голосования лучшему автору будет
подарена книга от магазина "ОЗОН". Если вы хотите увидить своё имя среди авторов - то прочитайте условия конкурса
Наверное меня загрызла совесть, или
читатели, но я решил привнести некоторые
серьезные советы к нашему украшательно
развлекательному тону....
Все
это я надергал из кучи хлама (~300 мб на моем
винте).
Например вот это:
Использование
INI файлов
uses inifiles;
...
var
ini: TIniFile;
....
procedure TForm1.Button1Click(Sender: TObject); // Read values from INI file
var
ergebnis:string;
begin
ergebnis:=ini.ReadString('Section','name','');
MessageDlg('Value of Section: ' + ergebnis, mtInformation, [mbOK], 0);
end;
procedure TForm1.Button2Click(Sender: TObject); //Write values to INI file
begin
ini.WriteString('Section','name','value');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ini:= TIniFile.Create('c:\test.ini');
//Create INI Object and open or create file test.ini
end;
Код проверен(!)
на дельфи 5
Узнать
тип соединения(прокси\локалка\не интернет)
uses wininet;
Function ConnectionKind :boolean;
var
flags: dword;
begin
Result := InternetGetConnectedState(@flags, 0);
if Result then
begin
if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then
begin
showmessage('Modem');
end;
if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
begin
showmessage('LAN');
end;
if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then
begin
showmessage('Proxy');
end;
if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then
begin
showmessage('Modem Busy');
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ConnectionKind;
end; Код у меня работал, но я его использовал
частично
На
форму надо положить компонент TNMSMTP из FastNet
вкладки.
procedure TForm1.Button1Click(Sender: TObject);
begin
NMSMTP1.Host := 'mail.host.com';у нас это:
Mail.ru или ваш сервак
NMSMTP1.UserID := 'username';
про пароль я незнаю т.к код не юзал
попробуйте ввести
NSMTP1.
и подождать, появится подсказка , ищите там
чтото типа login,password,userpassword....
NMSMTP1.Connect;
NMSMTP1.PostMessage.FromAddress := 'webmaster@swissdelphicenter.ch';
NMSMTP1.PostMessage.ToAddress.Text := 'user@host.com';
NMSMTP1.PostMessage.Body.Text := 'This is the message';
NMSMTP1.PostMessage.Subject := 'Mail subject';
NMSMTP1.SendMail;
showmessage('Mail sent !');
end; взято из www.torry.net
Все
это очень классно направляет вас к
написанию своего браузера\звонилки\менеджера
закачек. Лично мне нравится код про тип
соединения, на его базе я слепил счетчик
времени ,проведенного в сети, и до сих пор
его пользую... А если чего не получится, не
стесняйтесь, пишите.
В прошлый раз я рассказал вам, как устроить подлянку с комментарием в "паскалевском" исходнике. Сегодня я дам вам
несколько полезных советов по написанию "неприятных" программ, страшно портящих жизнь вашим коллегам, одноклассникам или
просто хорошим людям.
Совет 1-й. Настойчивость
Для начала неплохо было бы, если бы ваше милое дитя у никак нельзя было закрыть. Делается это очень просто - в
обработчик события OnDestroy вашей основной формы добавляется строка:
ShellExecute(0, 'open', PChar(Application.ExeName), nil, nil, SW_SHOW),
а в раздел uses модуля соответствующей формы добавляется модуль ShellAPI.
При попытке закрыть программу она запускает свою новую копию, а старая благополучно закрывается, и система думает, что
сделала все, что от нее хотели, при этом новая копия программы естественно продолжает выполняться.
Совет 2-й. Еще раз настойчивость
Было бы замечательно, если бы ваша программа запускалась сама при загрузке, и при этом ее нельзя было бы вырубить
простым удалением из Автозагрузки. Для этого в обработчик события OnDestroy вашей основной формы полезно было бы
добавить строки:
with TRegistry.Create do
try
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', False);
WriteString('shootka', Application.ExeName);
finally
Free;
end;
а в раздел uses модуля соответствующей формы добавляется модуль Registry, содержащий класс TRegistry, и Windows,
содержащий константу HKEY_LOCAL_MACHINE.
Совет 3-й. Скромность
Этот совет уже чисто эстетический и рассчитан на гурманов, которым не нравится что их творение светится факелом в
Панели задач. Убрать свое детище оттуда можно одной нехитрой строчкой:
ShowWindow(Application.Handle, SW_HIDE);
которую, правда, вам придется всунуть во все места, где происходит изменение состояния основного окна - начиная от
TMainForm.OnShow и заканчивая Application.OnMinimize.
В принципе, основа есть. Остается сделать Formstyle="fsStayOnTop," написать на форме что-нибудь вроде "А у вас молоко
убежало!", да забабахать программу <не>нужному человеку на рабочий стол. Побольше фантазии и нескучное утро вашей жертве
обеспечено.
p.s. Все описанные методы программистского хамства на самом деле вполне безобидны, и их действия с легкостью могут быть
пресечены более-менее продвинутым пользователем.
p.p.s. Автор (и редакция) статьи не несет ответственности за повреждение информации и человеческих тел, а также за понижения в
должности и увольнения, вызванные использованием вышеизложенной информации.
P.s от редактора, не забудьте продумать ,
как вы сами из нее будете выходить(тестировать
все равно вам...)