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

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Подскажите как сделать.
    В общем имею форму с параметром AutoSize на которой 6 GroupBox на каждом по Edit,Btn и т.д.
    Так в же в программе есть 6 штук CheckBox который отвечаю за показывание того или иного GroupBox.
    Вот примерная картинка как выглдит форма.
    [​IMG]
    Так вот когда к примеру я скрываю 1 и 2 GroupBox то все норм форма сокращается под остальные 4 GroupBox и никаких пустых пространств.
    Но если убираю 1 и 4 GroupBox то форма остается прежней и вместо GroupBox просто пустое пространство. Как сделать так чтоб при убирании к примеру 1 и 4 GroupBox другие съезжали вниз чтобы форма становилась нормально без свободного места как в случае убираения 1 и 2 GroupBox.
     
  2. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    попробуй FlowPanel.
     
  3. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    А поподробней можно?
    И есть ли этот компонент в Delphi 7
     
    #8183 Rastamanka, 5 May 2011
    Last edited: 5 May 2011
  4. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    я, к сожалению не дельфист, и делфи у меня не установлен. в шапе он называется flowlayoutpanel. в дельфях должен называться flowpanel. я гдето случайно натыкался. вот подробней http://edn.embarcadero.com/article/33421
     
  5. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    К сожалению такого компонента в Delphi 7 нету. В инете тоже искала нету.
    Так что вопрос остается в силе )
     
  6. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    тогда просто в ручную. кидаешь в список свои групбоксы и пробегаясь по списку расчитываешь их положение в соответствии с их размером и порядковому номеру (чёт/нечёт). удаляя идин из элементов в окне, удаляешь и соответствующий элемент в списке. повторяешь процедуру прохода по списку и расстоновки элементов.
     
  7. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Так и сделала.

    Еще один вопрос
    Есть приложение Cheat Engine.
    Так вот оно может ускорять работу времени на определенных процессах.
    Подскажите как такое реализовать на Delphi?
     
    #8187 Rastamanka, 6 May 2011
    Last edited: 6 May 2011
  8. redert

    redert New Member

    Joined:
    22 Jan 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, проблема с recv в winsock. Делаю его в array of Char; Но ведь не известно сколько байтов может прийти. Можно конечно поставить array [0..99999итд] of Char; Но ведь есть наверное более правильный метод считывания ответа. Если я, например файл в ответе буду принимать, размером в 50 мб.
     
    #8188 redert, 7 May 2011
    Last edited: 7 May 2011
  9. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    читаешь в цикле по несколько байт. recv возвращает число прочитанных байт, читаешь пока не вернёт 0 (это значит, соединение разорвано) Кусок кода с msdn. Не на делфи но думаю поймёшь)

    Code:
     
    #define DEFAULT_BUFLEN 512
    ...
     char recvbuf[DEFAULT_BUFLEN];
        int recvbuflen = DEFAULT_BUFLEN;
    
    ...
     // Receive until the peer closes the connection
        do {
    
            iResult =[B] recv(ConnectSocket, recvbuf, recvbuflen, 0);[/B]
            if ( iResult > 0 )
                printf("Bytes received: %d\n", iResult);
            else if ( iResult == 0 )
                printf("Connection closed\n");
            else
                printf("recv failed: %d\n", WSAGetLastError());
    
        } while( iResult > 0 );
    
    
     
  10. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    1)ПОдскажите плиз где в реестре хранится инфа о броузере по умолчанию?
    2)как можно запретить юзеру юзать оперу хром итд(даже если он переустановит броузеры)
    В голове только мысль писать обработчик процессов и удалять все процесы с именами opera.exe hrom.exe каждые 5 секунд)

    может, как-нибудь полегче можно запретить юзеру юзать эти плохие броузеры?)
    нужно что бы из броузеров мог пользоваться только IE и FF
     
  11. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    отслеживай класс окон с заголовками соответствующих браузеров и делай SW_HIDE
     
    1 person likes this.
  12. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    И что? Этот способ намного хуже чем тот, что предложил InfectedM.
    Зачем просто скрывать браузер от пользователя, а не завершать его процес? Что будет, если пользователь 20 раз запустит браузер? 20 копий будут висеть в оперативке.
    Более менее хороший способ: перехватывать функцию типа CreateProcess во всех процесах. Выполнять ее, если запускаемый процесс не браузер, и прерывать, если наоборот.
     
    #8192 Chrome~, 10 May 2011
    Last edited: 10 May 2011
  13. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    по поводу реестра


    HKEY_CLASSES_ROOT\http\shell\open\command

    можешь у себя проверить
     
    1 person likes this.
  14. skagen

    skagen Member

    Joined:
    8 Jan 2010
    Messages:
    122
    Likes Received:
    13
    Reputations:
    0
    скажите, какую книгу по делфи начать учить? с подробным описанием классов, компонентов и т.д. спасибо
     
  15. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    фленова почитай.
     
  16. dister

    dister New Member

    Joined:
    15 Jan 2011
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Привет, Ачат!
    Имеется машина с IP-адресом 127.0.0.1 и открытым портом 4899 (РАдмин-порт). Так же имеется пара логин-пас на проход через этот порт. Она в нашем случае такая: admin-123456. Имеется так же некий файл 123.txt. Вопрос такой: возможно ли через интерфейсы Delphi пройти авторизацию на машине и передать ей наш некий файл? Тоесть в программе я указваю 127.0.0.1:4899, l-p:admin-123456, file:123.txt и программа подключается к этой машине, авторизуется и грузит файл по указанному в ней пути. Кому не сложно, можете накидать что-нибудь по коду. Зарание благодарен!
     
  17. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    К какому именно сервису ты хочешь приконнектится? Не проще ли использовать Радмин? Или он не установлен? Для передачи файлов, нужно , чтоб на машине было установлено серверное приложение, прослушивающее определенный порт, и которое организовало бы прием файла при коннекте.
     
  18. dister

    dister New Member

    Joined:
    15 Jan 2011
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    В том и дело, что использовать клиентскую часть РАдмина - не выход. На машине, к которой подключаться надо, стоит серверная часть РАдмина.
     
  19. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Так почему
    :confused: :confused:
     
  20. dister

    dister New Member

    Joined:
    15 Jan 2011
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0

    Потому что так надо. Точнее можно ее использовать, но процесс передачи файла и подключения к машине надо автоматизировать. Вот так вот. Возможно такое на Делфи?
     
Thread Status:
Not open for further replies.