[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    не совcем понял, тоесть без деления вообще?

    можно так:
    делим битовым сдвигом (без остатка)
    Code:
    asm
    mov EBX, Number
    shr ebx,10 
    mov mulResult,ebx
    end;
    и сравниваем является ли результат - обратной операцией
    Code:
    if mulResult * 1024 = Number Then Result := true
     
    #1521 Jes, 13 May 2008
    Last edited: 13 May 2008
    1 person likes this.
  2. dos999

    dos999 Elder - Старейшина

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    !{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. но правда не всегда, иногда результат вполне нормальный. ХЗ чё такое =(
     
    #1522 dos999, 13 May 2008
    Last edited by a moderator: 13 May 2008
  3. !{ra!{e/\/

    !{ra!{e/\/ Banned

    Joined:
    27 Aug 2007
    Messages:
    98
    Likes Received:
    50
    Reputations:
    3
    ...Пробывал засовывать другие коды...сортировал массивы ..должно показывать сек 5 ..но показывает 0..(((
    В чем же ошибка?
     
  4. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    #1524 De-visible, 13 May 2008
    Last edited: 13 May 2008
  5. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    Показывает кол-во тиков :)

    rdtsc
    в eax - младшая часть.
    в edx - старшая.
     
  6. ZirroCool

    ZirroCool Elder - Старейшина

    Joined:
    16 Sep 2006
    Messages:
    128
    Likes Received:
    55
    Reputations:
    20
    Халоу люди!
    Не подскажете как с помошью idhttp начать сейсию и из этой сейсии послать пост запрос?
     
  7. qPhoenix

    qPhoenix Banned

    Joined:
    15 Dec 2005
    Messages:
    87
    Likes Received:
    50
    Reputations:
    8
    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...
     
  8. ZirroCool

    ZirroCool Elder - Старейшина

    Joined:
    16 Sep 2006
    Messages:
    128
    Likes Received:
    55
    Reputations:
    20
    Тут тема прост такая, я пишу программу клиент для файло обменника, там капча, вот нужно начать сейсию без паса и пароля, ну как буто бы я просто зашел на сайт, и уже из под этой сейсии скачать картинку и показать ее в прге а далее после ввода данных отправить данные на сервер
     
  9. qPhoenix

    qPhoenix Banned

    Joined:
    15 Dec 2005
    Messages:
    87
    Likes Received:
    50
    Reputations:
    8
    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;
     
    1 person likes this.
  10. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Если я тебя правильно понял то тебе надо поменять
    'http://prank.ru/gate.php' - на что нить другое, тогда ты просто должен работать с этой прогой как, с обычным файлом, то есть:
    1)Открыть файл
    2)Найти в файле строку http://prank.ru/gate.php(именно так)
    3)Заменить ее...НО количество символов должны быть равны!(до изменения = после изменения)
    4)Сохранить и закрыть файл!
     
    2 people like this.
  11. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    Человеку нужна программа, а как это делать руками, он знает и сам.
    2 Nightmare Скачай сырцы пинч билдера от Slesh, там именно что тебе нужно.
     
    #1531 z01b, 14 May 2008
    Last edited: 14 May 2008
    1 person likes this.
  12. Killerkod

    Killerkod Elder - Старейшина

    Joined:
    1 Aug 2007
    Messages:
    178
    Likes Received:
    113
    Reputations:
    0
    Хочется побыстрее и попроще? Напиши свой;) В принципе там не трудно, посмотри что De-visible написал... Тоже идея, но все время длина должна быть одинакова, что не есть гуд)) Сделай подругому, чтоб можно было разную длину писать...
     
  13. alamat

    alamat Elder - Старейшина

    Joined:
    6 Aug 2007
    Messages:
    18
    Likes Received:
    3
    Reputations:
    0
    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;
     
  14. EB_FE

    EB_FE New Member

    Joined:
    10 Aug 2007
    Messages:
    12
    Likes Received:
    4
    Reputations:
    5
    Видел как-то такую конструкцию(именно так, процедура пуста).
    Но не понял для чего это нужно. Может можно как-0то упростить???

    Type
    Proc1 = Procedure;

    Var
    Rs : Proc1;

    Procedure Pro;
    Begin
    End;
    ..............
    Rs:=pro;
     
  15. alamat

    alamat Elder - Старейшина

    Joined:
    6 Aug 2007
    Messages:
    18
    Likes Received:
    3
    Reputations:
    0
    удалить и все :))) нах не нужна эта процедура)))
     
  16. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Как получить список элементов панели управления (имя, иконка, имя для запуска)? Пока единственное что мне пришло в голову - искать все *.cpl файлы в system32 и вытаскивать информацию через экспортируемую функцию. Может есть более простое решение? Да и не все элементы организованы через *.cpl (display, ptinters, ...)
     
  17. /Boom\

    /Boom\ Elder - Старейшина

    Joined:
    14 Feb 2008
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    Вопрос по Delphi

    Как сделать чтоб из txt файла можно было выдернуть определенные слова допустим *Mitiay и сохронить выдернутые слова в txt другой.Думаю мысль понятно объяснил.
     
  18. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    открываешь файл, читаешь его построчно, ищешь в строке из файла нужную тебе подстроку, записываешь в другой файл
     
  19. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    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);
    
     
    1 person likes this.
  20. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    *Mitiay - походу имелась ввиду маска... Иначе, какой смысл в сохранении одного и того же слова?
     
Thread Status:
Not open for further replies.