нет, про цепочку я ничего не говорил. Мне просто нужно настроить работу приложения через (одну) сокс-4 прокси. уточню: моё приложение работает по протоколу smtp, потому задать "адрес" в строчке "host" (как это было бы при http запросе) нет возможности. Надо как-то по-другому объяснить соксу, куда именно он должен дальше слать запрос (destination ip&port)
errorneo, вообщем вот: delphikingdom.info/asp/answer.asp?IDAnswer=56157 просмотри эту тему и тебе все станет ясно (заранее говорю: вся фишка в TSOCKS4_REQUEST)(первый send - структуры TSOCKS4_REQUEST, которая дает знать соксу что мы имеем дело с ******** данными, второй сенд - уже нормальный пакет посылаем (конкретно не имел дело с сокс протокол, так что это все на догадках и предположениях)) не понял? попробуй погуглить на структуру TSOCKS4_REQUEST + delphi (или же лучше всего - описание протокола SOCKs в руки )
ответ на мой вопрос: FillChar(addr, SizeOf(sockaddr_in), 0); addr.sin_family:=AF_Inet; addr.sin_port:=htons(3987); addr.sin_addr.S_addr:=inet_addr('194.88.11.123'); //да, логично кто конектимся к прокси s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); Connect(S,addr,SizeOf(TSockAddr)); sendbuff:= {BYTE version - 04} chr(4) + {01 - TCP Connect} chr(1) + {тут порт, он у нас 0025} chr(0)+chr(25) + {тут ip, который 97.164.93.167}chr(97)+chr(164)+chr(93)+chr(167) + {тут неведомая ***я} chr(77)+chr(79)+chr(90)+chr(0); send(s, sendbuff[1] , Length(sendbuff);, 0); sendbuff:= "нужный запрос" send(s, sendbuff[1] , sLength(sendbuff), 0); //да, по идее нужно писать структуру и отправлять её, но можно и так.. по-суровому. Хотя разницы, в общем-то, нет. Просто так выглядит примитивнее
Подскажите ошибку почему не хочет работать с mobile.beeline.kz/ru/astana/sms/send.wbp Code: procedure TForm1.Button1Click(Sender: TObject); var FS:TFileStream; Data:TStringList; S:string; begin Button1.Enabled:=false; S:=IdHTTP1.Get('http://mobile.beeline.kz/ru/astana/sms/send.wbp'); FS:=TFileStream.Create('captcha.jpg',FMCreate); IdHTTP1.Get('http://mobile.beeline.kz/ru/astana/sms/mamimg.aspx/mamimg.jpg', FS); FS.Free; rsltedit.Text:=recognize(filenameedit.Text,apikeyedit.Text,false,false,false,0,0);// антикапачи Data:=TStringList.Create; Data.Add('smstext='+edit3.Text); Data.Add('smstoprefix='+edit1.Text); Data.Add('smsto=register='+edit2.Text); Data.Add('confirmcode='+rsltedit.Text); S:=IdHTTP1.Post('http://mobile.beeline.kz/ru/astana/sms/send.wbp', Data); Button1.Enabled:=true; end;
Задача Multik Заяц из известного мультфильма убегает от Волка по лестнице длиной N ступенек. Для того, чтобы убежать, Зайцу нужно спрятаться за дверью, которые находятся на последней ступеньке. Волк не может схватить зайца, если они одновременно не находятся на 1 ступеньке, или если Волк не опережает Зайца. Заяц за 1 шаг может подняться на 1 ступеньку, а Волк - на 2. В начале бега Волк находится на 0-й строчке, а Заяц на К-й (К> 0) ступеньке. Сможет Волк поймать Зайца? Если Волк и Заяц последним шагом становятся одновременно на последнюю ступеньку, то Волк схватит Зайца. Волк и Заяц предпринимают шаги одновременно (синхронно). Технические условия: Программа Мultik читает с клавиатуры числа N и K через пробел. Программа выводит на экран 1, если Волк полакомился Зайцем или 0, если остался голодным. Все расчеты не выходят за пределы типа иnteger Turbo Pascal Примеры Введение: 10 7 Вывод: 0 Введение: 10 5 Вывод: 1 Code: program Multik; var N,K,zaec,volk,d,i:integer; label 1; BEGIN read(N,K); d:=0; zaec:=0; volk:=0; repeat zaec:=k; k:=k+1; volk:=volk+2; d:=d+1; if zaec=volk then begin i:=1; d:=n; goto 1; end else begin i:=0; d:=n; goto 1; end; if volk > zaec then begin i:=0; d:=n; goto 1; end; until d=n; if d=n then i:=0; 1:write(i); END. что неправильно? goto дописал из незнания что делать, если можно то без goto код.
хм... интересненькая задачка))) я тут набросал по быстрому... щас еще подумаю и подредактирую.... буду рад если кто поможет доделать да и исправьте ошибки... а то я не силен в этом))) PHP: program Multik; var N,K,zaec,volk,d,i:integer; label 1; BEGIN read(N,K); i:=0; volk:=0; zaec:=k; //ступенька зайца d:=int(n/2); // максимальное количество шагов возможных на лестнице for l=1 to d do //цикл перебора шагов volk:=volk+2; //волк шагает через 2 ступеньки zaec:=zaec+1; //заяц через одну if zaec=volk then write(i) and goto 1; // если совпали то выводим и и заканчиваем программу next l write(i); //если не совпали то просто выводим 0 и заканчиваем программу 1:END.
EndLeSSDre@M...опередил если что, ниже чуть оптимизированная программа без goto Code: program Multik; var n, k, volk: integer; ok: boolean; // Вместо goto begin read(n, k); // k это тот же zaec volk:=0; ok:=true; // Заяц сцуко пока жив while (ok) and (k<n) do // Пока Зайц жив и не на последней ступени begin inc(k); // Шаг зайца inc(volk, 2); // Шаг волка if k <= volk then ok:=false; // Если встали на одну ступень или Волк дальше, то Волк съел Зайца (ok = false) end; if ok then writeln('1') else writeln('0'); // Если волк не съел (ok = true), то выводим 1, если съел то 0 readln; end.
total90...если онлайн проверка, то должно быть написано какие тесты не прошла, там есть отчет по пройденным тестам? Ты отправлял в тестирующую систему как Паскаль? Если да, то комментарии удалил? Просто я писал в Delphi, и комментарии там Delphi-ие
Да, вот твой вариант: Прошло тестов: 0 из 22. Набрано баллов: 0 из 20. Мой вариант: Прошло тестов: 8 из 22. Набрано баллов: 7 из 20.
total90..хм, байда, программа правильно написано, сомнений нет, а раз прошло 0 тестов, то думаю проблема в другом, отправь этот код на проверку Code: var n, k, volk: integer; ok: boolean; begin readln(n, k); d:=0; volk:=0; ok:=true; while (ok) and (k<n) do begin inc(k); inc(volk, 2); if k <= volk then ok:=false; end; if ok then write('0') else write('1'); readln; end. а, блин, понятно почему 0 тестов проходила, я вместо 0 выводил 1, а вместо 1, 0
Code: program Multik; var intA,V,N,K:integer; R:boolean; begin writeln('Vvedite N,K'); readln(N,K); V:=0; R:=False; for intA:=K to N do begin if V>=K then begin R:=True; break; end; V:=V+2; K:=K+1; end; if R then writeln('1') else writeln(0); readln; end.
Pascal. Как видим алгоритм рабочий и никакой ошибки нету: Но при подключении модуля для работы с экраном (uses CRT) в частности процедуры clrscr - вылетает ошибка: Вопрос: почему это так и как вообще эта процедура чистки экрана может влиять на результат? Как это исправить.
Varius, ошибка показывает то, что ты где-то делишь на ноль. А если говорить конкретно о crt, то последние версии pascal имеют ошибки в реализации модуля crt на компьютерах с тактовой частотой процессора более 200мгц
Помогите написать программу подсчета количества элементов, попадающих между номером минимального элемента и максимального элемента в массиве из 30 чисел.