[ 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. zenodrom

    zenodrom New Member

    Joined:
    30 Mar 2011
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    В хедерсах все верно. Единственное, что настараживает это кукисы. Подскажите, как чистить после каждого обращения к сайту.
     
  2. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Code:
    HTTPSend.Cookies.Clear;
     
    1 person likes this.
  3. Drul

    Drul Banned

    Joined:
    15 May 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Поделитесь пожалуйста компонентом: TMS v6.1.1.0
    Нигде найти не могу :*(
     
  4. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    есть TMS Component Pack 6.0.4.0 Full source
    смотреть на рутрекере, как все нормальные люди
     
  5. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Помогите строку зашифровать md5.
    Версия дельфи - 7.
     
  6. flaurance1

    flaurance1 New Member

    Joined:
    5 Feb 2011
    Messages:
    43
    Likes Received:
    3
    Reputations:
    1
    Вычисление хеш-суммы MD5:
    Code:
    unit Umd5;
    interface
    uses Windows, SysUtils;
    type
    THash = DWord;
    function md5 (buf: string): string;
    implementation
    var HEX: array[Word] of string;
    function LRot32 (a, b: LongWord): LongWord;
    asm
    mov ecx, edx
    rol eax, cl
    end;
    function md5 (buf: string): string;
    type
    pint = ^Integer;
    tdata = array [0..15] of DWORD;
    pdata = ^tdata;
    tbyte = array [0..15] of byte;
    pbyte = ^tbyte;
    var
    i, Len: Integer;
    data: pdata;
    CurrentHash: array[0..3] of DWord;
    P: array[0..7] of Word absolute CurrentHash;
    A, B, C, D: DWord;
    begin
    Len := Length (buf);
    SetLength (buf, 64);
    buf[Len+1] := #$80;
    FillChar (buf[Len+2], 63 - Len, 0);
    pint (@buf[57])^ := Len * 8;
    CurrentHash[0] := $67452301;
    CurrentHash[1] := $efcdab89;
    CurrentHash[2] := $98badcfe;
    CurrentHash[3] := $10325476;
    A := CurrentHash[0];
    B := CurrentHash[1];
    C := CurrentHash[2];
    D := CurrentHash[3];
    data := addr (buf[1]);
    A := B + LRot32 (A + (D xor (B and (C xor D))) + data^[ 0] + $d76aa478, 7);
    D := A + LRot32 (D + (C xor (A and (B xor C))) + data^[ 1] + $e8c7b756, 12);
    C := D + LRot32 (C + (B xor (D and (A xor B))) + data^[ 2] + $242070db, 17);
    B := C + LRot32 (B + (A xor (C and (D xor A))) + data^[ 3] + $c1bdceee, 22);
    A := B + LRot32 (A + (D xor (B and (C xor D))) + data^[ 4] + $f57c0faf, 7);
    D := A + LRot32 (D + (C xor (A and (B xor C))) + data^[ 5] + $4787c62a, 12);
    C := D + LRot32 (C + (B xor (D and (A xor B))) + data^[ 6] + $a8304613, 17);
    B := C + LRot32 (B + (A xor (C and (D xor A))) + data^[ 7] + $fd469501, 22);
    A := B + LRot32 (A + (D xor (B and (C xor D))) + data^[ 8] + $698098d8, 7);
    D := A + LRot32 (D + (C xor (A and (B xor C))) + data^[ 9] + $8b44f7af, 12);
    C := D + LRot32 (C + (B xor (D and (A xor B))) + data^[10] + $ffff5bb1, 17);
    B := C + LRot32 (B + (A xor (C and (D xor A))) + data^[11] + $895cd7be, 22);
    A := B + LRot32 (A + (D xor (B and (C xor D))) + data^[12] + $6b901122, 7);
    D := A + LRot32 (D + (C xor (A and (B xor C))) + data^[13] + $fd987193, 12);
    C := D + LRot32 (C + (B xor (D and (A xor B))) + data^[14] + $a679438e, 17);
    B := C + LRot32 (B + (A xor (C and (D xor A))) + data^[15] + $49b40821, 22);
    A := B + LRot32 (A + (C xor (D and (B xor C))) + data^[ 1] + $f61e2562, 5);
    D := A + LRot32 (D + (B xor (C and (A xor B))) + data^[ 6] + $c040b340, 9);
    C := D + LRot32 (C + (A xor (B and (D xor A))) + data^[11] + $265e5a51, 14);
    B := C + LRot32 (B + (D xor (A and (C xor D))) + data^[ 0] + $e9b6c7aa, 20);
    A := B + LRot32 (A + (C xor (D and (B xor C))) + data^[ 5] + $d62f105d, 5);
    D := A + LRot32 (D + (B xor (C and (A xor B))) + data^[10] + $02441453, 9);
    C := D + LRot32 (C + (A xor (B and (D xor A))) + data^[15] + $d8a1e681, 14);
    B := C + LRot32 (B + (D xor (A and (C xor D))) + data^[ 4] + $e7d3fbc8, 20);
    A := B + LRot32 (A + (C xor (D and (B xor C))) + data^[ 9] + $21e1cde6, 5);
    D := A + LRot32 (D + (B xor (C and (A xor B))) + data^[14] + $c33707d6, 9);
    C := D + LRot32 (C + (A xor (B and (D xor A))) + data^[ 3] + $f4d50d87, 14);
    B := C + LRot32 (B + (D xor (A and (C xor D))) + data^[ 8] + $455a14ed, 20);
    A := B + LRot32 (A + (C xor (D and (B xor C))) + data^[13] + $a9e3e905, 5);
    D := A + LRot32 (D + (B xor (C and (A xor B))) + data^[ 2] + $fcefa3f8, 9);
    C := D + LRot32 (C + (A xor (B and (D xor A))) + data^[ 7] + $676f02d9, 14);
    B := C + LRot32 (B + (D xor (A and (C xor D))) + data^[12] + $8d2a4c8a, 20);
    A := B + LRot32 (A + (B xor C xor D) + data^[ 5] + $fffa3942, 4);
    D := A + LRot32 (D + (A xor B xor C) + data^[ 8] + $8771f681, 11);
    C := D + LRot32 (C + (D xor A xor B) + data^[11] + $6d9d6122, 16);
    B := C + LRot32 (B + (C xor D xor A) + data^[14] + $fde5380c, 23);
    A := B + LRot32 (A + (B xor C xor D) + data^[ 1] + $a4beea44, 4);
    D := A + LRot32 (D + (A xor B xor C) + data^[ 4] + $4bdecfa9, 11);
    C := D + LRot32 (C + (D xor A xor B) + data^[ 7] + $f6bb4b60, 16);
    B := C + LRot32 (B + (C xor D xor A) + data^[10] + $bebfbc70, 23);
    A := B + LRot32 (A + (B xor C xor D) + data^[13] + $289b7ec6, 4);
    D := A + LRot32 (D + (A xor B xor C) + data^[ 0] + $eaa127fa, 11);
    C := D + LRot32 (C + (D xor A xor B) + data^[ 3] + $d4ef3085, 16);
    B := C + LRot32 (B + (C xor D xor A) + data^[ 6] + $04881d05, 23);
    A := B + LRot32 (A + (B xor C xor D) + data^[ 9] + $d9d4d039, 4);
    D := A + LRot32 (D + (A xor B xor C) + data^[12] + $e6db99e5, 11);
    C := D + LRot32 (C + (D xor A xor B) + data^[15] + $1fa27cf8, 16);
    B := C + LRot32 (B + (C xor D xor A) + data^[ 2] + $c4ac5665, 23);
    A := B + LRot32 (A + (C xor (B or (not D))) + data^[ 0] + $f4292244, 6);
    D := A + LRot32 (D + (B xor (A or (not C))) + data^[ 7] + $432aff97, 10);
    C := D + LRot32 (C + (A xor (D or (not B))) + data^[14] + $ab9423a7, 15);
    B := C + LRot32 (B + (D xor (C or (not A))) + data^[ 5] + $fc93a039, 21);
    A := B + LRot32 (A + (C xor (B or (not D))) + data^[12] + $655b59c3, 6);
    D := A + LRot32 (D + (B xor (A or (not C))) + data^[ 3] + $8f0ccc92, 10);
    C := D + LRot32 (C + (A xor (D or (not B))) + data^[10] + $ffeff47d, 15);
    B := C + LRot32 (B + (D xor (C or (not A))) + data^[ 1] + $85845dd1, 21);
    A := B + LRot32 (A + (C xor (B or (not D))) + data^[ 8] + $6fa87e4f, 6);
    D := A + LRot32 (D + (B xor (A or (not C))) + data^[15] + $fe2ce6e0, 10);
    C := D + LRot32 (C + (A xor (D or (not B))) + data^[ 6] + $a3014314, 15);
    B := C + LRot32 (B + (D xor (C or (not A))) + data^[13] + $4e0811a1, 21);
    A := B + LRot32 (A + (C xor (B or (not D))) + data^[ 4] + $f7537e82, 6);
    D := A + LRot32 (D + (B xor (A or (not C))) + data^[11] + $bd3af235, 10);
    C := D + LRot32 (C + (A xor (D or (not B))) + data^[ 2] + $2ad7d2bb, 15);
    B := C + LRot32 (B + (D xor (C or (not A))) + data^[ 9] + $eb86d391, 21);
    Inc (CurrentHash[0], A);
    Inc (CurrentHash[1], B);
    Inc (CurrentHash[2], C);
    Inc (CurrentHash[3], D);
    Result := StrLower(PChar(HEX[P[0]]));
    for i := 1 to 7 do
    Result := Concat (Result, StrLower(PChar(HEX[P[i]])));
    end;
    var DEC, Tmp: Integer;
    LH: string;
    initialization
    for DEC := 0 to $ffff do
    begin
    Tmp := DEC and $ff;
    LH := IntToHex (Tmp, 2);
    Tmp := DEC shr 8;
    HEX[DEC] := Concat (LH, IntToHex (Tmp, 2));
    end;
    end.
     
  7. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Вышел из ситуации благодаря функциям синапса
    PHP:
    uses synacode;
    var
     
    hash:string;
     
    begin hash:=MD5(utf8toansi(edit1.Text));
     
    edit2.Text:=StrToHex(hash);
     
  8. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Изучи основные функции для работы с текстом:
    Pos, Delete, Insert, Copy...
     
  9. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    StringReplace
     
  10. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Есть форма, на ней кнопки, нужно сделать, чтобы при нажатии кнопки открывалась программа (.exe) в новой форме (своей). На форме есть еще одна кнопка, при нажатии на которую появляется форма, в которой текст.
    Заранее спасибо.
     
  11. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    39
    Reputations:
    2
    Ты сам то понял че сказал вообще???
    "А за деровом - дерево..." Как по твоему другая программа будет открываться в новой форме? Тебе нужно запустить exeшник по нажатии кнопки что ли?
     
  12. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    39
    Reputations:
    2
    var s,s1:string;
    i:integer;
    begin
    s:='Привет,Привет,Привет';
    s1:='';
    for i:=1 to length(s) do
    if s<>',' then s1:=s1+s;
    end;


    самый простой пример.
     
  13. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22

    Это не самый простой пример, это самое тупое решение в лоб.
    Чем это лучше чем
    Code:
    s := StringReplace('Привет,Привет,Привет', ',', '', [rfReplaceAll]);
    ?
     
    #8333 GhostOnline, 7 Jul 2011
    Last edited: 7 Jul 2011
  14. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Да. Есть еще другая кнопка, должна выводить текст в другой форме.
     
  15. ShyRka_coder

    ShyRka_coder Member

    Joined:
    27 Jul 2010
    Messages:
    127
    Likes Received:
    7
    Reputations:
    5
    Ну может он не знал этого .... и написал вручную :) хотя зачем делать велосипед когда он уже есть .. :confused: :confused: :confused: .
     
  16. ShyRka_coder

    ShyRka_coder Member

    Joined:
    27 Jul 2010
    Messages:
    127
    Likes Received:
    7
    Reputations:
    5
    Откуда берется текст, путь к ехе сам вводишь?
    Объясни поподробней!!
     
  17. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Путь к exe "вшит в форму", ничего не вводишь, только в коде он есть. Нажимаешь кнопку, открывается exe.
    Назовем это button1.
    Есть на форме button2, текст тоже должен быть "вшитым" в форму, никуда не вводится, при нажатии на button2, открывается еще одно окно (форма, отдельно) и там этот текст отображается. Такое возможно сделать? Например, в некоторых программах есть "Об авторе" и там маленьком окошке открывается текст, вот мне надо так же.
     
  18. ShyRka_coder

    ShyRka_coder Member

    Joined:
    27 Jul 2010
    Messages:
    127
    Likes Received:
    7
    Reputations:
    5
    НУ что бы открыть новою форму в билдере С++ будет так:
    Form2 = new TForm2(Application); // Actication form
    Form2->ShowModal();
    + надо добавить инклюд второй формы #include "Unit2.h"!!
    ну и конечно создать форму :) и на форм 2 пишешь все что надо
    а вот с ехе файлом нихера не понял бро...
     
  19. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    мне нужно на delphi (object pascal).
     
  20. ShyRka_coder

    ShyRka_coder Member

    Joined:
    27 Jul 2010
    Messages:
    127
    Likes Received:
    7
    Reputations:
    5
    А йопт я что то переплутал :))
    в меню File - New - Form
    Создается новая форма

    Теперь переходим к первой форме и выбираем File - Use Unit
    в окне выбираем модуль второй формы

    на первую форму кидаем кнопку и прописываем код на OnClick
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Form2.ShowModal; // Если хотим открыть Модально
    Form2.Show; // или если просто открываем форму
    end;

    вроде так :)
    П.С. не я автор !!!
     
Thread Status:
Not open for further replies.