| 
| 
 | Вопрос # 6 129/ вопрос решён / | 
 |  Доброго времени суток, уважаемые эксперты!есть капча с цифрами, как к ней добавить цифры? максимальное значение 6, но можно и 8
 Приложение:Переключить в обычный режим     type      TForm1 = class(TForm)        Image1: TImage;        Button1: TButton;        EditCaptcha: TEdit;        procedure Button1Click(Sender: TObject);        procedure FormShow(Sender: TObject);      private        { Private declarations }      public        { Public declarations }        procedure Captcha_(Code: Integer);        procedure SetCaptcha_;        function TestCaptcha(C: String): Boolean;      end;     var      Form1: TForm1;       CurCod: Integer;     implementation     {$R *.dfm}     procedure TForm1.Captcha_(Code: Integer);    const        lines = 6;    var        x,y,g : integer;      str   : string;    begin      Image1.Canvas.Brush.Color := clWhite;      Image1.Canvas.Brush.Style := bsSolid;      Image1.Canvas.FillRect(Image1.Canvas.ClipRect);      if (Code < 99999) or (Code > 1000000) then        Image1.Canvas.TextOut(4,4,\'INVALID CODE\');      for x := 0 to Image1.Width - 1 do        for y := 0 to Image1.Height - 1 do            if Random(1000) mod 2 = 0 then begin            g := Random(100)+100;            Image1.Canvas.Pixels[x,y] := rgb(g,g,g);          end;      Image1.Canvas.Brush.Style := bsClear;       for x := 1 to 6 do begin        g := Random(100)+100;        case Random(3) of          0 : Image1.Canvas.Font.Color := rgb(g,0,0);          1 : Image1.Canvas.Font.Color := rgb(0,g,0);          2 : Image1.Canvas.Font.Color := rgb(0,0,g);        end;         case random(2) of          0 : Image1.Canvas.Font.Style := [fsBold];          1 : Image1.Canvas.Font.Style := [];        end;         Image1.Canvas.Font.Size := 15 + Random(6);        Image1.Canvas.TextOut((x-1)*15+10, random(image1.Height-Image1.Canvas.TextHeight(\'1\')),
IntToStr(Code)[x]);      end;       Image1.Canvas.Pen.Color := clBlack;       for x := 0 to lines - 1 do begin        Image1.Canvas.MoveTo(0, Random(Image1.Height));        Image1.Canvas.LineTo(Image1.Width, Random(Image1.Height));      end;    end;     procedure TForm1.SetCaptcha_;    begin      Randomize;      CurCod := Random(899999) + 100000;      Captcha_(CurCod);    end;     function TForm1.TestCaptcha(C: String): Boolean;    begin      Result := IntToStr(CurCod) = C;    end;     procedure TForm1.Button1Click(Sender: TObject);    begin      if(not(TestCaptcha(EditCaptcha.Text))) then begin         EditCaptcha.Clear;          SetCaptcha_;        Exit;      end;    end;     procedure TForm1.FormShow(Sender: TObject);    begin      SetCaptcha_;    end;
|  |   Вопрос задал: casio (статус: Посетитель)Вопрос отправлен: 12 мая 2012, 23:09
 Состояние вопроса: решён, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 6; последнее сообщение — 14 мая 2012, 15:53; участников в обсуждении: 2. 12 мая 2012, 23:43: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Лабораторный практикум » Delphi модератором DNK 
|   | min@y™ (статус: Доктор наук), 13 мая 2012, 10:03 [#1]:Приятно удивляет сплошное изобилие комментариев в коде! Сразу понятно, что этот код делает, читать такой код - одно удовольствие. Неоднократный вызов Randomize() вызывает приятные судороги, а дефолтные имена переменных (Form1, Image1, Button1) - приятные рвотные позывы. 
 Чел! ЧТО, Б***ТЬ, ДЕЛАЕТ ЭТОТ КОД???!!!11 Рисует капчу на канвасе или распознаёт её?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | casio (статус: Посетитель), 13 мая 2012, 16:32 [#2]:min@y™: Б***ТЬ, рисует капчу на канвасе и распознаёт её! |  
|   | casio (статус: Посетитель), 13 мая 2012, 17:02 [#3]:извеняюсь вопрос не так задал, уже засыпал на ходу, там цифры есть,нужно добавить буквы |  
|   | casio (статус: Посетитель), 13 мая 2012, 17:21 [#4]:все разобрался ) |  13 мая 2012, 17:21: Статус вопроса изменён на решённый (изменил автор вопроса — casio) 
|   | min@y™ (статус: Доктор наук), 13 мая 2012, 22:10 [#5]:Вот шо животворящий русский мат делает!   Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |