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

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

    Joined:
    13 Dec 2007
    Messages:
    24
    Likes Received:
    17
    Reputations:
    -6
    в дельфе усё сие деяние должно творитцо)
    p.s ссори, забыл сказать)
     
  2. Jerri

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

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Мне на паскале нужна такая прога:
    Вывод одной надписи,и через 15 секунд ещё одной надписи. Как это на паскале реализовать? :(
     
  3. Thenno

    Thenno Member

    Joined:
    3 Jul 2009
    Messages:
    77
    Likes Received:
    21
    Reputations:
    0
    Гуги в сторону модуля CRT и процедуры delay ().
     
  4. Jerri

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

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    спс. :)
     
  5. yfet

    yfet Banned

    Joined:
    11 Jul 2009
    Messages:
    48
    Likes Received:
    19
    Reputations:
    5
    как отловить капчу контакта?
     
  6. SHAXID

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

    Joined:
    13 Dec 2007
    Messages:
    24
    Likes Received:
    17
    Reputations:
    -6
    Народ, помогите, пожалуйста, намутить такую тему:
    Нужно создать меню, которое содержит след.пункты:
    "файл", "массив", "диаграмма", "сброс".

    - При выборе элемента меню "файл" должна запускаться процедура, которая рассчитывает количество положительных элементов файла с целым компонентом из 10 чисел (сумма, разность, макс. элемент, минимальный элемент и т.д.)

    - при выборе пункта "массив", должна запускаться процедура, которая рассчитывает количество отрицательных элементов целого массива (сумма и т.д.)

    - При выборе пункта "диаграмма", должна запускаться процедура 'создание диаграммы' (столб.,круговая), на основе полученных данных (п.1 и п.2)

    - При выборе пункта "сброс", должна очищаться диаграмма (компонент chart) для послед. данных.

    з.ы На дельфе это всё делается)
     
    #4866 SHAXID, 4 Dec 2009
    Last edited: 4 Dec 2009
  7. mr_walker

    mr_walker Member

    Joined:
    9 Aug 2009
    Messages:
    41
    Likes Received:
    34
    Reputations:
    2
    Ребята...как реализовать в логе(мемо) сервера(инди ХТТП сервак) чтобы показывалось КТО подключился... я ставлю обработку события ОнКоннект, но не знаю к какому элементу Инди ХТТП сервера обращатся...
     
  8. n0th1ng!~

    n0th1ng!~ New Member

    Joined:
    10 Nov 2009
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    народ есть exe файл надо поллучить весь его код он на делфи как?
     
  9. root_sashok

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

    Joined:
    4 Aug 2008
    Messages:
    389
    Likes Received:
    573
    Reputations:
    102
    Ну, насчет всего кода не уверен, а декомпилятор тебе поможет. Скачай это.
     
  10. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    в каком плане КТО? IP адрес? имя компьютера, или что ты имеешь в виду?
     
  11. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Code:
    s := '<lol>ass</lol>';
    
    p := pos('<lol>', s);
    if (p > 0) then
    begin
       p1 := pos('</lol>', s);
       if (p1 > 0) and (p1 > p) then data := copy(s, p+5, p1-p-5);
    end;
    
    примерно так при условии что теги идут парно и правильно
     
    1 person likes this.
  12. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Регуляркой:
    Code:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
     RegExp:=TRegExpr.Create;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
     tag:string;
    begin
     regexp.expression:='<lol>(.+?)</lol>';
     tag:='<lol>Hello world</lol>';
     if RegExp.Exec(tag) then showmessage(RegExp.Match[1]);
    end;
    Где взять RegExp:
    http://www.delphisources.ru/files/sources/raznoe/2007_year/regexp_debugger.zip

    Вот еще тема которая мне помогла когда то:
    http://forum.antichat.ru/threadnav119447-1-10.html
     
    #4872 wolmer, 7 Dec 2009
    Last edited: 7 Dec 2009
    1 person likes this.
  13. _s1r1us_

    _s1r1us_ New Member

    Joined:
    24 Aug 2009
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    Как узнать Last Update icq? пнити в нужную сторону))
     
  14. mr_walker

    mr_walker Member

    Joined:
    9 Aug 2009
    Messages:
    41
    Likes Received:
    34
    Reputations:
    2
    Я уже спрашивал... но...:
    Ребята...как реализовать в логе(мемо) сервера(инди ХТТП сервак) чтобы показывалось КТО(АйПи Адрес) подключился... я ставлю обработку события ОнКоннект, но не знаю к какому элементу Инди ХТТП сервера обращатся...
     
  15. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    процедура OnConnect даёт тебе доступ к потоку подключившегося пира под именем AThread:
    Code:
    procedure TForm1.IdHTTPServer1Connect(AThread: TIdPeerThread);
    оттуда можно достать его IP адрес:
    Code:
    Memo1.Lines.Add(AThread.Connection.Socket.Binding.PeerIP);
    Удачи :)
     
    #4875 Linkus, 7 Dec 2009
    Last edited: 7 Dec 2009
    1 person likes this.
  16. Sin3v

    Sin3v Banned

    Joined:
    16 Jul 2008
    Messages:
    11
    Likes Received:
    95
    Reputations:
    9
    Решите плиз) (Паскаль)
    в каждом столбце и каждой строк матрицы самодержица строго по одному не левому элементу. Перестановкой строк добиться расположение всех нулей по главной диагонали. В программе должна присутствовать проверка чтоб в строке был строго один ноль, в противном случае цикл не выполняться.
     
  17. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0
    Code:
    PROGRAM PMatrix;
    uses
        Crt;
    
    const
         N = 3;
    
    Var
       Matrix:      Array [1..N,1..N] of byte;
       Indexes:     set of byte;
       counter:     byte;
    
    function CheckLine(LineIndex: byte): boolean;
    var
       i, j:        byte;
    begin
         counter := 0;
         CheckLine := false;
         for i := 1 to N do
             if (Matrix[LineIndex,i] = 0) then
                begin
                     inc(counter);
                     if counter > 1 then
                        begin
                             CheckLine := false;
                             exit;
                        end;
                     if (i in Indexes) then
                        begin
                             CheckLine := false;
                             exit;
                        end;
                end;
        CheckLine := true;
    end;
    
    
    procedure GenerateMatrix;
    var
       tmpindex:    byte;
       i, j:        byte;
    begin
         Indexes := [];
         randomize;
    
         for i := 1 to N do
             begin
                  repeat
                        tmpindex := random(N)+1;
                        for j := 1 to N do
                            if j = tmpindex then
                               Matrix[i,j] := 0
                            else
                               Matrix[i,j] := random(99)+1;
                  until (CheckLine(i));
    
                  Indexes := Indexes + [tmpindex];
             end;
    end;
    
    
    procedure ChangeLines(index1, index2: byte);
    var
       tmp:         byte;
       i:           byte;
    begin
         for i := 1 to N do
             begin
                  tmp := Matrix[index1,i];
                  Matrix[index1,i] := Matrix[index2,i];
                  Matrix[index2,i] := tmp;
             end;
    
    end;
    
    
    procedure SortMatrix;
    var
       i, j:        byte;
    begin
         for i := 1 to N do
             begin
                  if not(CheckLine(i)) then
                     exit;
                  for j := 1 to N do
                      if (Matrix[i,j] = 0) then
                         ChangeLines(i,j);
             end;
    end;
    
    
    procedure ShowMatrix;
    var
       i, j:        byte;
    begin
         for i := 1 to N do
             begin
                  for j := 1 to N do
                      if (Matrix[i,j] < 10) then
                         write(' ', Matrix[i,j], ' ')
                      else
                          write(Matrix[i,j], ' ');
                  writeln
             end;
    end;
    
    
    var
       i, j:        byte;
       choice:      char;
    begin
         clrscr;
         write('Would you like to generate the matrix automatically? (y/n)');
         readln(choice);
         if (choice = 'y') then
            GenerateMatrix
         else
             for i := 1 to N do
                 for j := 1 to N do
                     begin
                     write('Matrix[',i,',',j,'] = ');
    
                     readln(Matrix[i,j]);
                     if (Matrix[i,j] = 0) then
                        Indexes := Indexes + [j];
                     end;
    
         writeln;
         ShowMatrix;
         writeln;
         SortMatrix;
         ShowMatrix;
         readln;
    end.
    

    Небольшой комментарий:
    • размер матрицы задается с помощью константы N. Поскольку есть возможность ручного ввода матрицы, то значение по умолчанию у N небольшое.
    • GenerateMatrix - заполняет матрицу правильным образом
    • ChangeLines - меняет 2 строки местами
    • SortMatrix - упорядочивает строки согласно заданию
    • ShowMatrix - выводит матрицу на экран
    • CheckLine - проверяет, нет ли в какой-либо строке или столбце более 1 нуля.
     
    #4877 StealthMaster, 9 Dec 2009
    Last edited: 9 Dec 2009
  18. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    вот мне надо написать что-то типо электронного справочника, попробую сначала на дельфи, потом на си++. Объясните мне как лучше, делать кучу форм и на каждой форме размещать отдельную информацию, или выводить все в одной форме? Тоесть сама идея такова, открываеться навигация, выбираешь что надо, потом открываеться новое окно (новая форма) и в форме появляеться текст на определенную тему, жмешь кнопку вперед, и появляеться новая форма с другим текстом, или же, в старую перезаписываеться инфа. Вот как лучше?
     
  19. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0
    Если планируется сделать что-то вроде справочника, то статьи в нем должны быть оформлены примерно одинаково. Поэтому для вывода статьи логично использовать одну и ту же форму, имхо.
     
  20. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    тогда другой вопрос, где хранить статьи? в константах? .тхт файлах? переменных?
     
Thread Status:
Not open for further replies.