ФОРУМ    ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 11.03.2009, 20:09
lll6
Познающий
Регистрация: 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.
 

  #2  
Старый 11.03.2009, 21:16
ZET36
Участник форума
Регистрация: 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 перед приёмом?
 

  #3  
Старый 11.03.2009, 21:24
eLWAux
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


Отправить сообщение для eLWAux с помощью ICQ
По умолчанию

LASS0, зачем создавать тему и тут писать?!
https://forum.antichat.ru/showthread.php?p=1163693#post1163693
 

  #4  
Старый 11.03.2009, 22:10
Hellsp@wn
Постоянный
Регистрация: 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;
с остальными событиями также.
 

  #5  
Старый 11.03.2009, 23:10
Si{R}ius
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме:
776255

Репутация: 52
По умолчанию

А как в Паскале сделать так, чтобы текст, выводимый на экран, писался в файл?
 

  #6  
Старый 12.03.2009, 01:24
bbbb
Новичок
Регистрация: 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;
 

  #7  
Старый 12.03.2009, 10:46
Si{R}ius
Участник форума
Регистрация: 13.11.2008
Сообщений: 131
Провел на форуме:
776255

Репутация: 52
По умолчанию

Спасибо, уже разобрался

Последний раз редактировалось Si{R}ius; 12.03.2009 в 18:12..
 

  #8  
Старый 12.03.2009, 20:32
Jino
Новичок
Регистрация: 27.09.2007
Сообщений: 22
Провел на форуме:
10910

Репутация: 0
По умолчанию

Как в Паскале, вызвать такую константу, как число E?
 

  #9  
Старый 12.03.2009, 21:00
dinar_007
Флудер
Регистрация: 18.01.2005
Сообщений: 2,298
Провел на форуме:
13936387

Репутация: 1844


Отправить сообщение для dinar_007 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Jino  
Как в Паскале, вызвать такую константу, как число E?
В Паскале нету константы E... Скажи нормально, чего хочешь...
Константа - это константа, если она есть ты её не переназначишь и никак и не выразишь...
 

  #10  
Старый 12.03.2009, 21:30
lll6
Познающий
Регистрация: 01.03.2008
Сообщений: 99
Провел на форуме:
613745

Репутация: 51
По умолчанию

Цитата:
Сообщение от Jino  
Как в Паскале, вызвать такую константу, как число E?
Код:
begin
writeln (E);
end.
Приятного кодинга
Цитата:
Сообщение от dinar_007  
В Паскале нету константы E...
У меня есть.
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ