не совcем понял, тоесть без деления вообще? можно так: делим битовым сдвигом (без остатка) Code: asm mov EBX, Number shr ebx,10 mov mulResult,ebx end; и сравниваем является ли результат - обратной операцией Code: if mulResult * 1024 = Number Then Result := true
!{ra!{e/\/ только что попробовал твой цикл... да действительно странно, когда используешь random то такое ощющение что он вообще не заполняет. без него всё нормально... кто знает в чём подвох ??? реально интересно стало хм... походу насчёт рандома я чёта прогнал... не в нём дело... Code: const ms = 1/24/60/60/1000; //одна милисекунда var t1, t2: tdateime; begin t1 := now; {Твой код} t2 := now - t1; ShowMessage('Твой код выполнялся:'+inttostr(trunc(t2/ms))+'милисеунд'); end; просто когда {Твой код} выполняеться где то менбше 100 милисекунд то в результате выводиться 0. но правда не всегда, иногда результат вполне нормальный. ХЗ чё такое =(
...Пробывал засовывать другие коды...сортировал массивы ..должно показывать сек 5 ..но показывает 0..((( В чем же ошибка?
Code: var s:string; pd:TStringList; begin pd:=TStringList.Create; pd.Add('Login=vasya'); pd.Add('Pass=qwerty'); s:=HTTP.Post('http://site.ru/login.php',pd); pd.Free; end; в s содержится ответ сервера.. Если под "сейсией" подразумевается сохранение куки и последующее их использование - добавляем IdCookieManager и вставляем его в параметр CookieManager в idHTTP...
Тут тема прост такая, я пишу программу клиент для файло обменника, там капча, вот нужно начать сейсию без паса и пароля, ну как буто бы я просто зашел на сайт, и уже из под этой сейсии скачать картинку и показать ее в прге а далее после ввода данных отправить данные на сервер
Code: var s:string; pd:TStringList; file:textfile; begin s:=HTTP.Get('http://site.ru/'); {ищем в переменной s ссыль на капчу} //качаем ее s:=HTTP.Get('http://site.ru/captcha.jpg'); assignfile(fil,'111.jpg'); rewrite(fil); writeln(fil,s); closefile(fil); //отсылаем pd:=TStringList.Create; pd.Add('Login=vasya'); pd.Add('Pass=qwerty'); pd.Add('Captcha=Nh7T5'); s:=HTTP.Post('http://site.ru/login.php',pd); pd.Free; end;
Если я тебя правильно понял то тебе надо поменять 'http://prank.ru/gate.php' - на что нить другое, тогда ты просто должен работать с этой прогой как, с обычным файлом, то есть: 1)Открыть файл 2)Найти в файле строку http://prank.ru/gate.php(именно так) 3)Заменить ее...НО количество символов должны быть равны!(до изменения = после изменения) 4)Сохранить и закрыть файл!
Человеку нужна программа, а как это делать руками, он знает и сам. 2 Nightmare Скачай сырцы пинч билдера от Slesh, там именно что тебе нужно.
Хочется побыстрее и попроще? Напиши свой В принципе там не трудно, посмотри что De-visible написал... Тоже идея, но все время длина должна быть одинакова, что не есть гуд)) Сделай подругому, чтоб можно было разную длину писать...
Code: подключить winsock Function DoRecv(Sock: TSocket): Bool; Var Time :TTimeVal; FD_Struct :TFDSet; Begin Result := False; Time.tv_sec := 5; Time.tv_usec := 0; FD_ZERO(FD_Struct); FD_SET(Sock, FD_Struct); If Select(0, @FD_Struct, NIL, NIL, @Time) <= 0 Then Exit; Result := True; End; function pagepost(url,post:string):string; var D:WSAData; S:TSocket; A:TSockAddr; name,path:string; buff:array[0..1023] of char; buf: Array[0..36000] Of Char; httpsend,httpresponse,str:string; recived,n:integer; begin httpresponse:=''; {??????? ????????? ????????????...} if(copy(url,1,7)<>'http://') then begin exit; end; url:=copy(url,8,length(url)); n:=Pos('/',url); if(n=0) then begin name:=copy(url,1,length(url)); path:='/'; end else begin name:=copy(url,1,n-1); path:=copy(url,n,length(url)); end; {????????} if WSAStartup($101,D)<>0 then begin result:=''; WSACleanup; exit; end; A.sin_family:=AF_INET; A.sin_addr.S_addr:=inet_addr(pChar(NameToIP(name))); A.sin_port:=htons(80); S:=socket(AF_INET,SOCK_STREAM,0); if S=INVALID_SOCKET then begin result:=''; WSACleanup; exit; end; if(connect(S,A,sizeof(A))<>0) then begin result:=''; WSACleanup; exit; end; // - - - - - - - - - - // - - - - - - - - - - {?????????????? ?????} {?????????? ???????} httpsend:='POST '+path+' HTTP/1.1'+#13#10+ 'Host: '+name+#13#10+ 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9'+#13#10+ 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'+#13#10+ 'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'+#13#10+ 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+#13#10+ 'Keep-Alive: 300'+#13#10+ 'Connection: keep-alive'+#13#10+ 'Cookie: remixchk=5'+#13#10+ 'Content-Type: application/x-www-form-urlencoded'+#13#10+ 'Content-Length: '+inttostr(length(post))+#13#10#13#10+post; send(s, HTTPSend[1], length(httpsend),0); recived:=1; while(recived>0) do begin If Not DoRecv(S) Then Begin result:=httpresponse; CloseSocket(S); WSACleanUp; Exit; End; recived:=Recv(S, Buff, 1024, 0); HttpResponse:=httpresponse+Copy (Buff,1,Recived); end; result:=httpresponse; closesocket(s); WSACleanUp; end;
Видел как-то такую конструкцию(именно так, процедура пуста). Но не понял для чего это нужно. Может можно как-0то упростить??? Type Proc1 = Procedure; Var Rs : Proc1; Procedure Pro; Begin End; .............. Rs:=pro;
Как получить список элементов панели управления (имя, иконка, имя для запуска)? Пока единственное что мне пришло в голову - искать все *.cpl файлы в system32 и вытаскивать информацию через экспортируемую функцию. Может есть более простое решение? Да и не все элементы организованы через *.cpl (display, ptinters, ...)
Вопрос по Delphi Как сделать чтоб из txt файла можно было выдернуть определенные слова допустим *Mitiay и сохронить выдернутые слова в txt другой.Думаю мысль понятно объяснил.
открываешь файл, читаешь его построчно, ищешь в строке из файла нужную тебе подстроку, записываешь в другой файл
Code: const podstroka = '*Mitiay'; var f, sorted: textfile; procedure Parse(s: string); begin if strpos(PChar(s), podstroka) <> nil then writeln(sorted, s); end; begin path := ExtractFilePath(ParamStr(0)); assignfile(f, path + 'file.txt'); assignfile(sorted, path + 'file_sorted.txt'); reset(f); rewrite(sorted); while not eof(f) do begin readln(f, s); Parse(s); end; closefile(f); closefile(sorted);