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

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    Что значит ручками?
    Отключаются он изменением параметров реестра. Мне в свое время нужно было отключать правил реестр и отключал.
    В гугле точно есть описание что и как
     
  2. Cock3r

    Cock3r New Member

    Joined:
    19 Jan 2011
    Messages:
    14
    Likes Received:
    3
    Reputations:
    0

    http://programmersforum.ru/showthread.php?t=93011
     
  3. DarckUser

    DarckUser New Member

    Joined:
    8 Mar 2011
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Доброго времени. Столкнулся с проблемкой следующего характера: как средствами Делфи считать число с окна и получить его в формате string?
     
  4. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    что за окно?
     
  5. DarckUser

    DarckUser New Member

    Joined:
    8 Mar 2011
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Окно игрушки.
     
  6. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    Ну как один из вариантов.
    делать скриншот, вырезать нужные вам цыферки и отправлять на антигейт.

    А так нужно смотреть на саму игрушку, но скорее всего простого пути не будет
     
    1 person likes this.
  7. ADR-007

    ADR-007 Member

    Joined:
    12 Jul 2010
    Messages:
    218
    Likes Received:
    9
    Reputations:
    0
    установил Gecko ActiveX по етой инструкции но компонент на палитре не появился ...
    а на код
    Code:
      with TMozillaBrowser.Create(Self) do
      begin
        Align:=alClient;
        Sleep(10000);
        Forms.Application.ProcessMessages;
        Navigate('http://www.google.com.ua');
      end;
    выдает 'Browser is not in a valid state'
     
  8. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    Имеется следующий код:

    Code:
    Case k of
        1:
        begin
         canvas.MoveTo(x1,y1);
         canvas.LineTo(x2,y2);
        end;
        2: canvas.Rectangle();
        3:
    
    При попытке скомилировать выдает ошибку вот на этой строчке 2: canvas.Rectangle();
    Попытка изменить 2: canvas.Rectangle(); на
    2: canvas.Rectangle(x1,y2); ничего не дает.
    С чем это связано и как испавить ошибку?
     
  9. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    Rectangle это прямоугольник и задается он 4 точками.

    Canvas.Rectangle(x1,y1,x2,y2); //нарисовать прямоугольник (верхний-левый угол в х1,у1 а правый-нижний в х2,у2)
     
  10. Sams

    Sams Member

    Joined:
    18 Apr 2009
    Messages:
    247
    Likes Received:
    70
    Reputations:
    17
    Есть две структуры:

    Code:
    a = record
    [COLOR=Yellow] a1: dword;
     a2: dword;
     a3: dword;[/COLOR]
    end;
    Code:
    b = record;
     [COLOR=DarkOrange]b1: dword[/COLOR];
     [COLOR=DeepSkyBlue]b2: dword[/COLOR];
     [COLOR=Magenta]b3: a[/COLOR];
    end;
    Если взглянуть на структуру b, то в памяти она будет вот так (это не точные значения, приблизительно для примера):
    00 00 00 00 00 00 00 00 83 E3 11 66

    т.е. в переменную b3 записывает указатель на структуру "а". Собственно от сюда вопрос, можно ли сделать так, что бы там была сама структура "а", а не указатель на нее? (так, как это делается в ассемблере)

    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    Заранее благодарен.

    -------------------------------------------------------------------------

    P.S. arnis,
    двумя точками задается ;)
     
    #7970 Sams, 14 Mar 2011
    Last edited: 14 Mar 2011
  11. Sams

    Sams Member

    Joined:
    18 Apr 2009
    Messages:
    247
    Likes Received:
    70
    Reputations:
    17
    fd00ch, да, ты прав. Я ошибся. Что касается чисто структур, то они влаживаются друг в друга. Всё дело в том, что я использовал массив. Ну тогда откорректирую вопрос:

    Code:
    a = record
     a1: dword;
     a2: dword;
     a3: dword;
    end;
    Code:
    b = record;
     b1: dword;
     b2: dword;
     b3: array of a; //ну или не обязательно безразмерный
     //b3: array [1..5] of a;
    end;
    Можно-ли более менее грамотно это реализовать, не применяя извращений с памятью?
     
    #7971 Sams, 15 Mar 2011
    Last edited: 15 Mar 2011
  12. Sams

    Sams Member

    Joined:
    18 Apr 2009
    Messages:
    247
    Likes Received:
    70
    Reputations:
    17
    В общем мне нужно собрать пакет данных для сетевой передачи. Я конечно могу реализовать это дело таким образом packet := packet + NewData; и так заполнять пакет информацией последовательно. Но это убого с точки зрения оптимизации, а особенно в ООП языках высокого уровня.
    Хочу сделать красиво и через структуры, т.к. в моем случае они подходят просто идеально.

    Представим, что есть пакет, в который записывается информация, но не известно сколько её будет. Например:

    Code:
    data = record
      data1: dword;
      data2: dword;
    end;
    Code:
    packet = record
      param1: dword;
      param2: dword;
      param3: array of data;
    end;
    param3: array of data; - т.е. внутри структуры я объявил массив структур.
    Мне нужно добиться такого результата, что бы при, допустим, SetLength(packet.param3, 2) структура содержала в себе данные этого массива, т.е. две структуры data подряд, а не указатель на сам массив.
    Как я понял, нужно как-то выделить внутри packet память, для этого массива. Вот в этом и заключается вся задача, получить выходной пакет в памяти вида:
    Code:
    param1 param2 data[0].data1 data[0].data2 data[1].data1 data[1].data2
    а не
    Code:
    param1 param2 <указатель на массив структур data>
    Если поможешь, буду весьма благодарен ;)
     
    #7972 Sams, 15 Mar 2011
    Last edited: 15 Mar 2011
  13. Sams

    Sams Member

    Joined:
    18 Apr 2009
    Messages:
    247
    Likes Received:
    70
    Reputations:
    17
    Этот вариант не прокатит, потому что у меня пакет состоит из нескольких структур, и после param3 есть еще безразмерные массивы, опять таки структур.
    Приблизительно вот так:
    Code:
    packet = record
      param1: dword;
      param2: dword;
      param3: array of data;
      param4: array of newdata;
      param5: dword;
      param6: array of newdata2;
    end;
    где data, newdata и newdata2 являются структурами
     
  14. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    1 фалсе
    2 труе
    3 труе
    4 труе
    5 фалсе
     
  15. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    1 Integer
    2 real
    3 boolean
    4 integer
     
  16. foozzi

    foozzi Member

    Joined:
    13 Apr 2010
    Messages:
    195
    Likes Received:
    12
    Reputations:
    5
    есть возможность вытащить исходники из скомпилиной программы delphi 6-7 или c++ ?
     
    #7976 foozzi, 15 Mar 2011
    Last edited: 15 Mar 2011
  17. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    Нет в читабельном виде не вытащите.
    Можно выташить форму, ресурсы, даже пробраз исходника. Но самого кода не будет
     
  18. Sams

    Sams Member

    Joined:
    18 Apr 2009
    Messages:
    247
    Likes Received:
    70
    Reputations:
    17
    fd00ch, хм, вариант не плохой. Но правда подготовка промежуточного буфера, это будет масса головной боли. У меня в пакете есть заголовок, в который надо передать размер всего пакета. Ух и подсчет будет...Но это уже из другой оперы. Разберусь, не впервые :) Спасибо за совет, думаю твой метод из всех, что я представлял - самый гуманный.

    ------------------------------------------------------------------------

    foozzi,
    Частично можно из Delphi 6-7. Используй прогу DeDe
     
    #7978 Sams, 15 Mar 2011
    Last edited: 15 Mar 2011
  19. ADR-007

    ADR-007 Member

    Joined:
    12 Jul 2010
    Messages:
    218
    Likes Received:
    9
    Reputations:
    0
    напеші об’єкт котори виполняєт всю грязною роботу?
     
  20. ADR-007

    ADR-007 Member

    Joined:
    12 Jul 2010
    Messages:
    218
    Likes Received:
    9
    Reputations:
    0
    1. (а или б) і не а
    (a or b) - еслі а или б истина то виражания равно истине
    (true or false) = true
    не - инвертор
    не а - если а = true то а = false и наобарот если a = false то a = true
    т.е.
    (a or b) and not a =
    (true or false) and not true =
    true and not true =
    true and false =
    falsa
    ясн?

    или так
    таблица истиности
    AND
    X1 X2 Y
    0 0 0
    0 1 0
    1 0 0
    1 1 1

    OR
    X1 X2 Y
    0 0 0
    0 1 1
    1 0 1
    1 1 1

    Not
    X Y
    0 1
    1 0
     
Thread Status:
Not open for further replies.