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

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

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    88
    Reputations:
    8
    + pos, copy для получения частей
     
  2. RAINUR

    RAINUR New Member

    Joined:
    24 May 2010
    Messages:
    151
    Likes Received:
    0
    Reputations:
    0
    Как в компоненте WebBrowser игнорировать загрузку файлов и другие окна. .
    Вот например я загружаю страницу http://sait.ru/1.exe, но мне не нужно файл загружать, отменить загрузку и переходить к следующей ссылке, который в массиве. .
    Все дело в том, что если я нарываюсь на файл, или если произошла ошибка обработки страницы, на следующий сайт не переходит. .
     
  3. firstfallen

    firstfallen New Member

    Joined:
    1 Mar 2010
    Messages:
    64
    Likes Received:
    0
    Reputations:
    0
    Создал событие на форме OnClose там поставил пару условий...
    при завершение условия(любого, не важно что да, что нет) форма закрывается.
    Как отменить процедуру OnСlose?
     
  4. crystalbit

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

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    88
    Reputations:
    8
    используй событие onCloseQuery.
    там пропишешь CanClose:=false;
     
  5. nonrblGyN4ik

    nonrblGyN4ik New Member

    Joined:
    23 Oct 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Я новенький вот паскаль учу
    есть такой вопрос...Работу закончил хочу немного доработать .а как не знаю
    короче сделал игрушку в ней есть минюшка в которой управляешь стрелочкой
    как сделать что бы мышкой жать можно было ,а не на клавиатуре

    И если можно то как сделать что бы в самой игре объект тоже при помощи мышки ставился??
    Зарание спасибо
     
  6. 0ldbi4

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

    Joined:
    14 Apr 2008
    Messages:
    264
    Likes Received:
    51
    Reputations:
    10
    nonrblGyN4ik так же как и клавиатурой просто смотри где находится указатель(курсор) и в зависимости от этого двигай объект
     
  7. bag

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

    Joined:
    6 Mar 2008
    Messages:
    116
    Likes Received:
    48
    Reputations:
    0
    народ по поводу регулярок, нужно вытащить текст между тегами, вытаскиваю так:
    текст такой <spann>bla$bla"bla:1</spann>
    <spann>(.*)</spann>
    помогите составить регулярку чтобы текст вытащился без спец символов и числа 1
     
  8. bag

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

    Joined:
    6 Mar 2008
    Messages:
    116
    Likes Received:
    48
    Reputations:
    0
    если вхождение в строку одно то нормально работает, а если например
    <td>tovar1</td>
    <td>tovar2</td>
    <td>tovar3</td>
    и мне нужно получить tovar1,tovar2,tovar3, то регулярочка <td>(.*)</td> не прокатывает, выводит:
    tovar1</td>
    <td>tovar2</td>
    <td>tovar3
    прошу пример:)
     
  9. TOP4

    TOP4 Banned

    Joined:
    19 Dec 2010
    Messages:
    23
    Likes Received:
    4
    Reputations:
    1
    Ты не в ту тему пишешь. Тебе надо сюда .
     
  10. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Попробуй <td>(.+?)</td>
     
  11. nonrblGyN4ik

    nonrblGyN4ik New Member

    Joined:
    23 Oct 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    а как мышку подгрузить то и с картинкой соединить?:))
     
  12. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    помогите с заданием

    1. Задано множeство персональных ЭВМ, которыми обеспечены институты: Intel Pentium/Celeron, AMD K6/Athlon, AMD K6/Duron, AS-400. Известен набор машин, имеющихся в каждом институте. Количество институтов - 3. Требуется пострoить и распечатать множество, включающее в сeбя ЭВМ:
    1) которые имеет хотя бы один институт;
    2) которых нет ни в одном институте.
     
  13. firstfallen

    firstfallen New Member

    Joined:
    1 Mar 2010
    Messages:
    64
    Likes Received:
    0
    Reputations:
    0
    есть фрагмент кода


    Когда использую zap = 5 делфи выдаёт такую ошибку:

    Как с этим бороться?
     
    #7453 firstfallen, 22 Dec 2010
    Last edited: 22 Dec 2010
  14. RAINUR

    RAINUR New Member

    Joined:
    24 May 2010
    Messages:
    151
    Likes Received:
    0
    Reputations:
    0
    Проверь переменную zap.
    Code:
    showmessage(zap); 
    поставить где тебе нужно узнать значение переменной, очень удобно ..
     
  15. firstfallen

    firstfallen New Member

    Joined:
    1 Mar 2010
    Messages:
    64
    Likes Received:
    0
    Reputations:
    0
    ставил не помогало...
    В итоге сейчас испортил всё каким то условием. вернул руками всё как было и теперь всё работет Оо втф!
     
  16. P.A.U.L

    P.A.U.L New Member

    Joined:
    12 Aug 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Delphi

    Помогите плз) Есть процедура, которая выводит на экран график(координатную сетку и эллипс по заданным точкам радиуса и центра окружности)

    НО, в ней не проходит компиляцию обьект канвас, эллипс:
    Code:
    canvas.Ellipse(400+40*(x-R),400+40*(y-R),400+40*(x+R),400+40*(y+R));
    Выводит ошибку: [Pascal Error] Unit2.pas(49): E2250 There is no overloaded version of 'Ellipse' that can be called with these arguments

    Как решить данную проблему?

    Code:
    procedure TForm2.FormPaint(Sender: TObject);
      var i:integer;
          s:string;
    
    begin
      canvas.Brush.Color:=RGB(0,0,0);
      canvas.Rectangle(0,0,800,800);
    
      canvas.Ellipse(400+40*(x-R),400+40*(y-R),400+40*(x+R),400+40*(y+R));
    
    canvas.Brush.Color:=RGB(0,0,0);
    canvas.pen.color:=RGB(255,255,255);
    font.size:=14;
    canvas.moveto(0,400);     //Ось ОХ
    canvas.lineto(800,400);
    for i:=-9 to 9 do begin
      canvas.moveto(400+i*40,395);
      canvas.lineto(400+i*40,405);
      s:=inttostr(i);
      Canvas.TextOut(385+i*40,405,s);
    end;
    
    canvas.moveto(400,0);     //Ось ОY
    canvas.lineto(400,800);
    for i:=-9 to 9 do begin
      canvas.moveto(395,400+i*40);
      canvas.lineto(405,400+i*40);
      s:=inttostr(i);
      Canvas.TextOut(410,385+i*40,s);
    end;
    //стрелочки
    
    with canvas do begin
      moveto(390,30);
      lineto(400,0);
      moveto(410,30);
      lineto(400,0);
      font.color:=clwhite;
      TextOut(370,10,'Y');
      moveto(770,390);
      lineto(800,400);
      moveto(770,410);
      lineto(800,400);
      TextOut(770,360,'X');
    end;
    end;
     
    #7456 P.A.U.L, 22 Dec 2010
    Last edited: 22 Dec 2010
  17. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    задания такие:
    1. Зaдано множество персональных ЭВМ, которыми обeспечены институты: Intel Pentium/Celeron, AMD K6/Athlon, AMD K6/Duron, AS-400. Извeстен набор машин, имeющихся в каждом институте. Количество институтов - 3. Требуется построить и распечатать множество, включающее в себя ЭВМ:
    1) которые имеет хотя бы один институт;
    2) которых нет ни в одном институте.
    2. Рaспечатать анкетные данные студeнтов, получивших в последнюю сeссию оценки 2 и 3. (N>=10).

    icq 55253два

    нужно использовать множество, просто через масив не зя!
    PHP:
    Const
    N=3;
    Type
    Product
    =(bread,butter,cheese,milk); {продукты  }
    Assort=set of product; {ассортимент продуктов  }
    Shop=array[1..nof assort; {наличие продуктов в магазинах  }

    Var
        
    M1:shop;
        
    XProduct;
    A,b,c,xm1assort;
    I,j,v,iw:integer;
    BEGIN
    For I:=1 to n do
        
    Begin
            Xm1
    :=[];
            
    Writeln(‘введите номера продуктов ‘,I:2-го магазина=);
            
    Repeat
                Read
    (iw);
                Case 
    iw of
                    1
    :x:=bread;
                    
    2:x:=butter;
                    
    3:x:=cheese ;
                    
    4:x:= milk;
                else
                    
    write(‘номера продуктов 1..4’);
                
    end;  {case}
                
    xm1:=xm1+[x];   {наличие продуктов в одном магазине  }
            
    until eoln;
    m1[1]:=xm1
    end
    ;     {конец цикла по магазинам }
    {
    получение множеств А,В,С  }
     
    A:=m1[1];
    B:=[];
    For 
    I:=1 to 3 do
    Begin
    A
    :=A*m1[1]; ];{одновременно во всех  
    B:=Bm1[1{хотя бы в одном  }
     
    C:=[ bread.. milk]-B;  {нет ни в одном  }
    End;
    For 
    I:=1 to 3 do
    Begin
            
    Case i of
                1
    Writeln(‘продуктыимеющиеся во всех магазинах ‘);
                
    2Writeln(‘ассортимент продуктов ‘);
                
    3Writeln(‘продуктыкоторых нет ни в одном магазине ‘);
            
    end;
    For 
    x:=bread to milk do
            If 
    x in a then
    Case x of
                    Bread
    Write(‘хлеб ‘);
                    
    ButterWrite(‘масло ‘);
                    
    CheeseWrite(‘сыр ‘);
                    
    MilkWrite(‘молоко  ‘);
                
    end;  {case}
            if 
    I:=1 then a:=b
                
    else
            
    a:=c;
            
    writeln
        end
    END
    .
    PHP:
    Program data_;
    type
    mes
    = (janfebmaraprmayjunjulaugsepoctnovdec);
    day=1..31;
    year=1900..2010;
    var
    day;
    mеs;
    year;
    1..12;
    BEGIN
      Write
    (‘введите дату D,N,G’);  readln(d,n.g);
       Case 
    n of
           1
    :m:=jan;
           
    2:m:=feb;
           
    3:m:=mar;
           
    4:m:=apr;
           
    5:m:=may;
           
    6:m:=jun;
           
    7:m:=jul;
           
    8:m:=aug;
           
    9:m:=sep;
           
    10:m:=oct;
           
    11:m:=nov;
           
    12:m:=dec;
    end;
       Case 
    m of
    Jan
    marmayjulaugoct:
                    If 
    d=31 then
                        begin
                            d
    :=1;  m:=succ(m)
                        
    end
                               
    else
                            
    inc(d);
    aprjunsepnov:
    f d=30 then
                        begin
                            d
    :=1;  m:=succ(m)
                        
    end
                               
    else
                            
    inc(d);
    dec
    If 
    d=31 then
                        begin
                            d
    :=1;  m:=jan;  inc(g)
                        
    end
                               
    else
                            
    inc(d);
    feb:
    if ((
    d=28) and (not((g mod 400=0) or (g mod 4=0) and (g mod 100<>0)))
    or (
    d=29then
                        begin
                            d
    :=1;  m:=mar
                        
    end
                               
    else
                            
    inc(d);
    end;        {case}
       
    writeln(‘дата следующего дня);
        
    write(d:2);
       Case 
    m of
           jan 
    write(‘января’);
           
    feb write(‘февраля’);        
           
    mar write(‘марта’);
           
    apr write(‘апреля’);
           
    may write(‘мая’);
          
    jun :write(‘июня’);
           
    ju1 wгite‘июля‘ ) ;
           
    aug wгitе('августа' ) ;
           
    sep :write('сентября');
         
    oct write('октября');
         
    nov write('ноября');
         
    dec write('декабря');
      
    end;
       
    write(g:5'  года'
    END.
     
    #7457 MaTpOc, 22 Dec 2010
    Last edited: 23 Dec 2010
  18. TOP4

    TOP4 Banned

    Joined:
    19 Dec 2010
    Messages:
    23
    Likes Received:
    4
    Reputations:
    1
    может быть <td>(.*?)</td> ?
     
  19. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    * - 0 или более
    + - 1 или более
    И что же тебе не нравится?
    Если между тегов пусто то такой тег и незачем парсить.
    Ну можно конечно, но придется дополнительно проверять подвыражение на неравенство '', а в моем случае проверять не придется.
    Жду объяснений.
     
  20. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Типы у переменных x,y,R какие?
     
Thread Status:
Not open for further replies.