Просмотр полной версии : Delphi tcp/ip - и мой пк!
Привет всем!
моя компания использует проксхи - ну да ладно, сразу к делу!
как сделать программу в Delphi которая:
1) определяет мой ip
2) опредиляет время загрузки самой себя?
3) посылает мне на мыло эти данные!
4) закрывается до следующей загрузки пк.
посибо Leon :confused:
Ну айпи твой всегда почти 127.0.0.1 так что можешь смело вбивать это значение.
Время загрузки самой себя... Что ты понимаешь под загрузкой? Время с запуска EXE по создание окна? Тогда вызывай old_time = time( NULL ); и в конце elapsed_time = time(NULL)-old_time; только переведи это на паскаль. На мыло посылать очень просто через SMTP.
int s;
struct sockaddr_in s_a;
s = socket( AF_INET, SOCK_STREAM, 0 );
s_a.sin_family = AF_INET;
s_a.sin_port = htons( 25 );
s_a.sin_addr.s_addr = inet_addr( "[тут ip мейл.ру например]" );
if (connect( s, (struct sockaddr*)&s_a, sizeof( s_a ) ) == SOCKET_ERROR) return 0;
(создай корчое сокет соединения с почтовым сервером на 25 порту)
и посылай
(сервак должен посылать 250 Ok)
HELO имя_домена\r\n
MAIL FROM: <123@mail.ru>\r\n
RCPT TO: <to@mail.ru>\r\n
DATA\r\n
\r\n
[DATA]
. (ТОЧКА!)
если не ошибаюсь...
коды возврата SMTP
211 system status, or system helo reply
214 Help message....
220 <domain> service ready
221 <domain> service closing transmission channel
250 Requested mail action okay, completed
251 User to local; will forward to <forward-path>
354 Start with input; end with <CRLF>.<CRLF> (\r\n)
421 <domain> service not avialable (пошел нафиг типа)
KEZ - привет! понажимал я на твои ссылки.
я только начал заниматся с delphi! поэтому не все понил что ты там написал?
а 127,0,0,1 - это не тот ip -сегодня был на сайте - где опредиляют ip - и мне показали совсем другой! :confused:
Вот ф-ия опеределия своего айпи в интернете
char *SelfIP( void )
{
char *temp = (char*)malloc( 256 );
struct in_addr in;
DWORD ip = 0;
LPHOSTENT he;
if (!gethostname( temp, 256 ))
{
if (he = gethostbyname( temp ))
ip = ((LPIN_ADDR)he->h_addr)->s_addr;
}
memcpy( &in.s_addr, he->h_addr, he->h_length );
return inet_ntoa( in );
}
теперь переведи это на паскаль и получишь код для Delphi
и не забудь
WSADATA wsadata;
WSAStartup( MAKEWORD( 1, 1 ), &wsadata );
а в конце
WSACleanup();
в линуксе сеть используется без подобных ф-ия а в винде у тебя сокет даже не создасться без них
а как переветси на паскаль???
Это тебе решать как переводить, код я тебе дал.
Привет всем!
моя компания использует проксхи - ну да ладно, сразу к делу!
как сделать программу в Delphi которая:
1) определяет мой ip
2) опредиляет время загрузки самой себя?
3) посылает мне на мыло эти данные!
4) закрывается до следующей загрузки пк.
посибо Leon :confused:
Стукни мне в Асю или На мыло (bul666@inbox.ru) Я тебе на C++ Напишу )))
Привет! посибо но на с++ не надо. пожалуйста!
но все ровно спосибо!
-------------------------------------------------------------------
а какие последствия могут быть - если я свой ip - буду
отпровлять себеже на email>>??????????? :rolleyes:
1) определяет мой ip
procedure TForm1.Button1Click(Sender: TObject);
var
WSAData: TWSAData;
HostEnt: PHostEnt;
LocalIP: String;
Buff: array [0..MAX_COMPUTERNAME_LENGTH] of Char;
begin
FillChar(Buff, SizeOf(Buff), 0);
WSAStartUp($0101, WSAData);
GetHostName(Buff, SizeOf(Buff));
HostEnt := GetHostByName(Buff);
LocalIP := inet_ntoa(PInAddr(HostEnt.h_addr_list^)^);
ShowMessage(LocalIP); // ip
WSACleanUP();
end;
2) опредиляет время загрузки самой себя?
Событие OnCreate (у формы) происходит в момент создания:
procedure TForm1.FormCreate(Sender: TObject);
begin
ShowMessage(TimeToStr(Time)); // время
end;
3) посылает мне на мыло эти данные!
Афтор, ты на Delphi пишешь или на чём то другом ? Оглянись, там куча компонентов, если ты пишешь на 7-ом
и выше, то для отправки почты есть компонент TidSTMP, или чтотто в этом роде ... а на Api писать имхо
рановато те ...
4) закрывается до следующей загрузки пк.
Halt, но вобщето правельней Application.Terminate, хотя пох как )
Пропишись в автозагрузку, в реестр, как работать с реестром ты найдёшь в инэте.
ps
Все твои вопросы это FAQ, так что прежде чем спросить не поленись и поискать.
а какие последствия могут быть - если я свой ip - буду
отпровлять себеже на email>>???????????
Серьёзные последствия, вплоть до остановки smtp сервака LOL ))))
Ok - спосибо! Да = delphi изучаю! :)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot