Code: const INTERNET_CONNECTION_MODEM = 1; INTERNET_CONNECTION_LAN = 2; INTERNET_CONNECTdState'; {$R *.DFM} procedure TForm1.CheckState(Sender: TObject); var dwConnectionTypes: DWORD; begin dwConnectionTypes:=IC_MODEM+IC_LAN+IC_PROXY; if InternetGetConnectedState(@dwConnectionTypes,0) then ShowMessage('Youa connected') else ShowMessage('No Connection'); end;
Code: function InetIsOffline(Flag: Integer): Boolean; stdcall; external 'URL.DLL'; if InetIsOffline(0) then ShowMessage('This computer is not connected to Internet!') else ShowMessage('You are connected to Internet!');
Я канешна извеняюсь но я написал тоже самое толька оформил хренова иба малый опыт писатьни в форумах)))
Прежде чем задавать здесь вопрос стоит посмотреть, а нет ли его сдесь -> http://forum.antichat.ru/showthread.php?p=325627#post325627 . Это хорошая тема, но интересно было бы усышать какую то интересную проблему (вопрос). Ведь спрашивать на счёт строк, которые проходят в школе это не очень серьёзно. ИМХО.
2 Brun Ладно, попробую задать вопрос немного поинтереснее... Как реализовать отправку писем через Socks5, допустим, используя компоненты Indy - IdSMTP и TidMessage?
Code: idSmtp.Host:=<smtp>; // smtp.mail.ru idSmtp.UserName:=<user name>; idSmtp.Password :=<password>; // если не надо авторизации на смтп сервере idSmtp.AuthenticationType:=atNone // если надо idSmtp.AuthenticationType:=atLogin ...... if not idSmtp.Connected then idSmtp.Connect; idMess.Body.Clear; idMess.Body.Add('ТЕКСТ') idMess.From.Address:=<отправитель>; idMess.Subject:='тема'; idMess.Recipients.EMailAddresses:=<получатель>; idSmtp.Send(idMess); idSmtp.Disconnect; Удачи!!
2 neji Не плохо... Осталось лишь дописать главную часть заданного мной вопроса, а именно поддержку Socks5...
У меня такой вопрос не простой.... Вообщем по TICQClient'y У меня в файле допустим 15 номеров формата uins;pass Вообщем надо сделать чтобы все эти 15 номеров подконнектились....и не выключались Пытасюь сделать типа этого: Code: Uins.LoadFromFile('uins.txt'); Uins.LoadFromFile('uins.txt'); Uins.NameValueSeparator := ';'; for i := 0 to Uins.Count - 1 do begin ICQClient1.UIN := StrToInt(copy(Uins.Strings[i],0,pos(';',Uins.Strings[i])-1)); ICQClient1.Password := copy(Uins.Strings[i],pos(';',Uins.Strings[i])+1,32); ICQClient1.Login(); end; Этим способом выводит в онлайн только 1 номер(последний в файле),а мне надо чтобы все номера выводились.. Так вот мне сказали что надо использовать не 1 ICQClient, а столько, сколько надо номеров вывести вонлайн... Так вот скажите пожалуйста как мне это сделать правильно и чтобы эти номера вывелись в онлайн одновременно, то бишь потоки... Пожалуйста поподробнее...Надо вникнуть. За эту задачу дам +18, только объясните подробненько каждую функцию которую будете делать...
Так ты выведешь только 1 номер в онлайн, так как у тебя только 1 ICQClient, а их должно быть столько же сколько и уинов, я тебе по асе кидал почти весь код своего флудера, советую немного подучить Delphi, тогда ты сможешь воспользоваться моим кодом
Можно еще попробывать создавать потоки и потом в Runtime создавать TICQClient. Вот пример создания в рунтайме n-го колва кнопок и присвоение им обработчика клика. Также можно и создать скока хошь TICQClient'ов Code: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; s:array of tbutton; const b_c=4; implementation {$R *.dfm} procedure my_click(Self: pointer; Sender: TObject); begin showmessage(inttostr(Tbutton(sender).Tag)); end; procedure TForm1.Button1Click(Sender: TObject); var x:integer; begin setlength(s,b_c); for x:=0 to b_c-1 do begin s[x]:=tbutton.Create(self); s[x].ParentWindow:=form1.Handle; s[x].Caption:=inttostr(x); s[x].Left:=10; s[x].Top:=40*x; s[x].Tag:=x; @s[x].OnClick:=@my_click; end; end; end.
2 Go0o$E На счет писам - дык можно запросто юзать обычные сокеты И через почтовые шлюзы отправлять письма. А там какой хошь такой и пиши адрес отправителя. Если заюзать сокеты то запросто можно всё переложить на socks5 Я себе для теста писал модуль дельфяный который сам создавал соединение с сокс5 прокси и возвращал дескптор сокета. модуль конечно сырой. (т.е. можно юзать тока IP и только TCP Connect). Если нужен, то могу выложить
вообшем вопрос как создать сторожа, который "наблюдает" за сайтом т.е. заходит на сайт каждые 20 минут и проверяет изменилось ли что-нибудь или нет. мнеб какой-нибудь сорц или хотяб примерно как это это осушествить
tip4il, я похожего сторожа писал, но он оказался не сильно эффективен. На таком крупном и активном форуме каждые 20 минут гарантированно происходят изменения. К тому же имеются возможности для этого у самого форума. Вообще сначала определи требования к сторожу: что именно надо - обнаруживать любые изменения в конкретных разделах, просто создание новых тем или пр. В лучшем варианте это съест 75 Кб траффика (загрузка главной страницы форума), а если что-то посложнее - нужно будет тратить ещё больше. Реализация возможна следующими средствами: использовать idHTTP или использовать WebBrowser. В всяком случае грузим html и производим выборочные сравнения с ранее загруженным, замечая отличия.
Почему все так и лезук к визуальным компонентам? Если легче юзать напрямую сокеты. Вот я написал парочку функций для работы с сокетами и всё время их юзаю. К примеруЖ функции передаешь адрес буфера где содержится HTTP-заголовки, адрес буфера куда будет помещан ответ, IP сервака и порт куда нужно подсоедениться. И всё пашет запросто. Даже Time-out есть Особенно удобно юзать если юзаются потоки
дайте плиз учебник или статьи по сетевым компонентам (Indy), или статьи на эту тему. или сорцы с большим количеством комментов. http://www.programmersclub.ru/book тут я уже был. я начинающий, так что особо не понайте всем заранее очень благодарен!))
Я как раз занимаюсь подобной тематикой. Вот статьи, из написанных мной, где рассматривается работа с некоторыми INDY-компонентами: Пишем простенький браузер Простейший IRC-клиент на Delphi, средствами INDY Простой веб-сервер на Дельфи Пишем быстро простой бэкдор на основе idHTTPServer Бесформенное использование INDY на примере Id http ProxyServer К статьям обычно прилагается прокомментированный исходный код. Кроме самих статей, в теме после них, иногда бывают ещё указаны ссылки на полезные литературные источники. PS: Всё это было на форуме и до этого поста . Рекомендую начать использовать поиск.
Люди, подскажите. Я не силен с работой с графикой в делфе.. не так давно один человечек попросил написать меня простенькие графические часики.. я сделал форму, которая рисуется по контуру загруженной картинки циферблата, сделал перетаскивание часов по экрану за любую их часть, расчитал попиксельно, куда должна с каждой новой секундой отклоняться стрелка в зависимости от начального положения. Даже стрелку нарисовал стандартными MoveTo, LineTo. Вот тут загвоздочка и пошла... стрелка-то, конечно, рисуется, и отрисовывается куда надо, только звездочка получается, потому что рефреша нету. Делаю рефреш - обновляется и картинка циферблата, отображая только равномерный Color формы... искал помощи в разны местах - не нашел. Может кто сможет помочь? Не стоит говорить в своих ответах что-то вроде "зачем тебе часы, если их сейчас можно найти и скачать навалом..." Если я задаю вопрос, значит мне действительно это нужно. Спасибо заранее тем, кто сможет помочь разобраться! Ник Ример
Тебе нужна буфферизация(вспомогательная картинка), вот простенький пример набросал Code: var Form1: TForm1; bm : TBitmap; im : TBitmap; al : Integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin bm:=TBitmap.Create; bm.Width:=128; bm.Height:=128; im:=TBitmap.Create; im.LoadFromFile('D:\MyDocs\My Pictures\untitled.bmp'); end; procedure TForm1.FormPaint(Sender: TObject); begin Form1.Canvas.Draw(0, 0, bm); end; procedure TForm1.Timer1Timer(Sender: TObject); begin bm.Canvas.Draw(0, 0, im); bm.Canvas.Pen.Color:=$00FF00; bm.Canvas.MoveTo(64, 64); bm.Canvas.LineTo(round(sin(al/60*pi*2)*64)+64, round(cos(al/60*pi*2)*64)+64); dec(al); Form1.Canvas.Draw(0, 0, bm); end;
подскажите какие-нибудь проги для начинающих для самостоятельного написания. ведь теория без практики - это не есть гуд) просто подкиньте идей, а в процессе написания можно будет и теорию подучить, и в целом потренироваться. заранее спасибо =)
О, вот возможно интересное задание - попробуй постепенно воспроизвести стандартный набор Windows: напиши блокнот, калькулятор, проводник, Интернет-браузер, редактор типа WordPad и медиаплеер в этой последовательности. Я начинал своё самообучение именно так. В ходе создания программ тебе потребуется освоить работу с практически всеми визуальными компонентами. Причём, благодаря таким компонентам, само написание программ очень простое! А ещё есть исходники их (конечно на Делфи - можно подсмотреть). При возникновении конкретных проблем тебе всегда помогут здесь Однако, если ещё ты не запускал Делфи, не видел "HelloWorld" и не знаешь, где пункт "Compile", то приступать к подобным заданиям не следует. Нужно хорошо освоить синтаксис языка и функционал среды разработки для того, чтобы хоть как то начать.