ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

11.03.2009, 20:09
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 99
Провел на форуме: 613745
Репутация:
51
|
|
Сообщение от LASS0
Помогите пожалуйста решить задачку двумя способами, через цикл repeat until
и через for
С repeat
Код:
Program z1;
var a,b,c,x,y:real;
begin
a:=2.8;
b:=-0.3;
c:=4;
x:=0.8;
repeat
if x<1.4 then
y:=(a+b*x)/sqrt(x*x+4)
else
if x=1.4 then
y:=a*(x*x)+b*x+c
else
y:=a/x+exp(a*b);
writeln ('x=',x:8:2,' y=',y:8:2);
x:=x+0.2;
until x>2.8;
end.
А вот в for в паскале шаг может быть равен только единице, да и числа только целые, вот пример реализации, думаю пойдёт.
Код:
Program z1;
var a,b,c,y,f:real;
x:integer;
begin
a:=2.8;
b:=-0.3;
c:=4;
For x:=8 to 26 do
begin
if x mod 2 = 0 then begin
f:=x/10;
if f<1.4 then
y:=(a+b*f)/sqrt(f*f+4)
else
if f=1.4 then
y:=a*(f*f)+b*f+c
else
y:=a/f+exp(a*b);
writeln ('x=',x/10:8:2,' y=',y:8:2);
end;
end;
end.
|
|
|

11.03.2009, 21:16
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
Я вот всё пытаюсь загрузить файл по средствам сокетов
Код:
var Site : PChar;
sock : TSocket;
HostEnt : PHostEnt;
WSA : TWSAData;
addr : sockaddr_in;
sendbuff : String;
PostData : String;
f:TextFile;
i:integer;
buf:array[0..255] of char;
begin
if WSAStartup($0101, WSA) <> 0 then
Exit;
sock := Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
FillChar(addr, SizeOf(sockaddr_in), 0);
addr.sin_family := AF_INET;
addr.sin_port := htons(80);
Site := 'www.google.ru';
HostEnt := gethostbyname(Site);
addr.sin_addr.s_addr := Longint(PLongint(HostEnt^.h_addr_list^)^);
Connect(sock, addr, SizeOf(addr));
sendbuff := 'GET /images/nav_logo3.png HTTP/1.0'#13#10+
'Accept: */*;q=0.1'#13#10+
'Referer: http://www.google.ru/search?hl=ru&newwindow=1&q=zz&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq='#13#10+
'Accept-Language: ru'#13#10+
'Proxy-Connection: Keep-Alive'#13#10+
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01709); .NET CLR 1.1.4322)'#13#10+
'Host: www.google.ru'#13#10#13#10;
send(sock, sendbuff [1], Length(sendbuff), 0);
AssignFile(f, 'logo.html');
Rewrite(f);
repeat
i := recv(sock, buf, sizeof(255), 0);
write(f, copy(buf,1,i));
until
(i = 0) or (i = SOCKET_ERROR);
CloseSocket(sock);
CloseFile(f);
end;
но в файл, как и положено вместе с телом запроса добавляется и header
Код:
HTTP/1.0 200 OK
Content-Type: image/png
Last-Modified: Wed, 11 Feb 2009 03:40:02 GMT
Expires: Sun, 17 Jan 2038 19:14:07 GMT
Cache-Control: public
Date: Wed, 11 Mar 2009 17:10:09 GMT
Server: gws
Content-Length: 6339
Age: 3
Connection: Close
как этого избежать и не будет ли файл битым или тело запроса нужно ещё шифровать в base64 перед приёмом?
|
|
|

11.03.2009, 21:24
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
LASS0, зачем создавать тему и тут писать?!
https://forum.antichat.ru/showthread.php?p=1163693#post1163693
|
|
|

11.03.2009, 22:10
|
|
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме: 2715445
Репутация:
588
|
|
как то так:
Код:
type
TForm1 = class(TForm)
...
procedure OnMessageRecv(Sender: TObject; Msg, UIN: String);
...
procedure TForm1.OnMessageRecv(Sender: TObject; Msg, UIN: String);
begin
...
end;
...
bot[n].OnMessageRecv:=Form1.OnMessageRecv;
с остальными событиями также.
|
|
|

11.03.2009, 23:10
|
|
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме: 776255
Репутация:
52
|
|
А как в Паскале сделать так, чтобы текст, выводимый на экран, писался в файл?
|
|
|

12.03.2009, 01:24
|
|
Новичок
Регистрация: 13.02.2007
Сообщений: 3
Провел на форуме: 33825
Репутация:
6
|
|
Сообщение от Si{R}ius
А как в Паскале сделать так, чтобы текст, выводимый на экран, писался в файл?
Ну можно это сделать так ^_^ -
Код:
var
f: textfile;
s: string;
.....
begin
assign(f,'blablabla.txt');
rewrite(f);
.....
writeln(s); --- выводим на экран )
.....
writeln(f,s); ---- пишем в файл )
close(f);
end;
|
|
|

12.03.2009, 10:46
|
|
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме: 776255
Репутация:
52
|
|
Спасибо, уже разобрался 
Последний раз редактировалось Si{R}ius; 12.03.2009 в 18:12..
|
|
|

12.03.2009, 20:32
|
|
Новичок
Регистрация: 27.09.2007
Сообщений: 22
Провел на форуме: 10910
Репутация:
0
|
|
Как в Паскале, вызвать такую константу, как число E?
|
|
|

12.03.2009, 21:00
|
|
Флудер
Регистрация: 18.01.2005
Сообщений: 2,298
Провел на форуме: 13936387
Репутация:
1844
|
|
Сообщение от Jino
Как в Паскале, вызвать такую константу, как число E?
В Паскале нету константы E... Скажи нормально, чего хочешь...
Константа - это константа, если она есть ты её не переназначишь и никак и не выразишь...
|
|
|

12.03.2009, 21:30
|
|
Познающий
Регистрация: 01.03.2008
Сообщений: 99
Провел на форуме: 613745
Репутация:
51
|
|
Сообщение от Jino
Как в Паскале, вызвать такую константу, как число E?
Код:
begin
writeln (E);
end.
Приятного кодинга
Сообщение от dinar_007
В Паскале нету константы E...
У меня есть.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|