Вопрос № 41750: Здравствуйте.
Подскажите пожалуйста, как сделать приложение зависимым от разрешения экрана?...Вопрос № 41786: как использовать int 16h в delphi?
пишу консольное приложение
begin
...
asm
mov ah,00
int 16h
mov key, ah
end;
...
end.
слетает...Вопрос № 41795: Здравствуйте!!! Имеется процедура, которая рисует корабль на форме. Все точки
для построения корабля рассчитываются от одной начальной (Х=0 и Y=80) (см. приложение).
Требуется добавить на мачту корабля флаг РФ так чтобы он развивался как будт...Вопрос № 41800: Каким образом можно заставить Delphi не обращать внимание на то, что я изменил в процедуре обработки события Sender с TObject на уточненный тип объекта, в моем случае - TEdit! Мне надоело при каждом пробном запуске 24 раза нажимать No, чтобы он не уб...Вопрос № 41812: Добрый день. С праздником.
Ссылаюсь на вопрос №41659
Создаю динамически в PageControl1 закладки, в них WebBrowes:
procedure TForm1.ToolButton1Click(Sender: TObject);
var
tab: TTabsheet;
wb: TWebBrowser;
s: string...Вопрос № 41823: Мир вам, уважаемые эксперты!
Вновь пришел за советом.
Положим, есть программа А и программа Б. Программа А занимается сложным математическим расчетом и выдает в результате большой поток численных значений. Программа Б должна подхватывать эти ...Вопрос № 41825: Здравствуйте эксперты!!
Подскажите пожалуйста каким образом можно найти в интернете домашний компьютер по IP адресу и вообще возможно ли это? После прочтения нескольких книг, я намостырился выполнять это в локальной сети, а вот в интернете что то...
Вопрос № 41.750
Здравствуйте.
Подскажите пожалуйста, как сделать приложение зависимым от разрешения экрана?
Отправлен: 30.04.2006, 21:55
Вопрос задала: GidraIRi (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Bochvarov NikB
Здравствуйте, GidraIRi!
Надеюсь, что кирилский алфавит будет тебе понятен.
Мелкие процедурьи в UtilsStr и UtilsMessageE5 не будут создавать тебе проблем.
Приложение:
Ответ отправил: Bochvarov NikB (статус: 8-ой класс)
Ответ отправлен: 30.04.2006, 22:02 Оценка за ответ: 5 Комментарий оценки: Спасибо, все работает
Вопрос № 41.786
как использовать int 16h в delphi?
пишу консольное приложение
begin
...
asm
mov ah,00
int 16h
mov key, ah
end;
...
end.
слетает
Отправлен: 01.05.2006, 11:29
Вопрос задал: 34076 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, 34076!
Такая постановка вопроса вызывает, мягко говоря, удивление. Служб, которые основываются на прерываниях, таких как были в DOS, в Windows нет. Поскольку речь идет о Delphi, то пишите Вы именно программу для Windows, несмотря на то, что она называется "консольная".
Вместо 16h, что было в DOS, Windows предлагает Вам набор собственных служб для консоли. Наберите в справке для Win32 "Console Functions" и Вы получите их список.
В частности для клавиатуры там есть функции:
ReadConsoleInput() - считывает следующий знак из буфера ввода и удаляет его оттуда;
PeekConsoleInput() - тоже самое, только знак не удаляется.
Первая функция и является как раз аналогом службы 00h досовской 16h (набор служб для клавиатуры).
Вторая функция - аналог службы 01h.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 01.05.2006, 12:38
Вопрос № 41.795
Здравствуйте!!! Имеется процедура, которая рисует корабль на форме. Все точки
для построения корабля рассчитываются от одной начальной (Х=0 и Y=80) (см. приложение).
Требуется добавить на мачту корабля флаг РФ так чтобы он развивался как будто на него дует ветер
Приложение:
Отправлен: 01.05.2006, 13:34
Вопрос задал: Rewer8 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Евгения
Здравствуйте, Rewer8!
Я попробовала сделать так (получилось не очень красиво из-за задержки прорисовки, но если спросят, что это больше всего напоминает, то ответом будет: развевающийся флаг :)):
1. на OnTimer изменяем параметр l, который впоследствии будет отвечать за смещение синусоиды.
2. флаг рисуется: 4 синусоиды и еще одна линия - являющаяся правым краем флага.
3. закрашиваются секции флага в разные цвета.
4. флаг удаляется, удаляются линии и закраска.
5. флаг рисуется снова со смещением синусоиды.
Получилось, что флаг мигает... извините, если вам не нравится этот вариант... но может еще какие идеи вам придут :)
см. Приложение.
Приложение:
--------- Я не волшебник, я только учусь... А разве кто-то обещал, что будет легко?
Ответ отправила: Евгения (статус: 4-ый класс)
Ответ отправлен: 02.05.2006, 04:38 Оценка за ответ: 5 Комментарий оценки: Очень даже красивый флаг! Спасибо!!!
Вопрос № 41.800
Каким образом можно заставить Delphi не обращать внимание на то, что я изменил в процедуре обработки события Sender с TObject на уточненный тип объекта, в моем случае - TEdit! Мне надоело при каждом пробном запуске 24 раза нажимать No, чтобы он не убрал ссылку на обработку!
Отправлен: 01.05.2006, 15:50
Вопрос задал: Дмитрий Т. (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Ерёмин Андрей
Здравствуйте, Дмитрий Т.!
А зачем вы это делаете? Delphi так и будет всё время предупреждать об этом. Если вы хотите обращаться в этому объекту (Sender) как к TEdit, то делайте это так (пример с текстом): (Sender as TEdit).Text:='123'; --------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор) Россия, Тула WWW:Программирование на DELPHI: Всё для программиста. ICQ: 286837644 ---- Ответ отправлен: 01.05.2006, 19:17 Оценка за ответ: 5 Комментарий оценки: Благодарю за ответы! В частности данный очень, просто о такой возможности я не знал.
Вопрос № 41.812
Добрый день. С праздником.
Ссылаюсь на вопрос №41659
Создаю динамически в PageControl1 закладки, в них WebBrowes:
Так вот скажем создал нажимаю кнопку 10 закладок, перешел на 7-ю закладку исходя из кода:
TWinControl(wb).name := 'wb' + inttostr(i);
имя WebBrowser будет wb6, потому что отчет был с нуля.
Мне нужно в Edit1 узнать имя WebBrowser в закладке в которой буду находится, тобишь в текущей.
Отправлен: 01.05.2006, 18:05
Вопрос задал: Maximus (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ерёмин Андрей
Здравствуйте, Maximus!
Это можно сделать, исходя из свойства ActivePageIndex или учитывая i (если не трогать это значение): Edit1.Text:='wb'+IntToStr(PageControl1.ActivePageIndex);
Либо +/- 1 к этому значению в зависимости от условий.
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Мир вам, уважаемые эксперты!
Вновь пришел за советом.
Положим, есть программа А и программа Б. Программа А занимается сложным математическим расчетом и выдает в результате большой поток численных значений. Программа Б должна подхватывать эти цифры и исходя из них что-нибудь рисовать пользователю.
Как это можно реализовать ?
Наиболее критична - скорость работы программы А - желательно, что бы ей ничего не мешало.
Также очень хочется рисование realtime...
У меня сейчас одна идея - pipe. Т.е. вывод консольной программы А пускать на ввод программы Б (а ля unix), но не очень представляю, как это будет выглядить, и подходит ли вообще.
Буду благодарен любым замечаниям или идеям.
С уважением, Лука.
Отправлен: 01.05.2006, 21:34
Вопрос задал: Luka (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Jeka911
Здравствуйте, Luka!
1)Есть идея использовать потоки.. А - в поток вызываемый программой В, а по завершении вычислений - рисовать.
2)Посылать сообщения из программы А по завершении вычислений в В, например программно нажать на ней кнопку, а результаты вычислений сохранять в А и загружать в В из файла.
rgds,
--------- Шахтер - чемпион!!!
Ответ отправил: Jeka911 (статус: 2-ой класс)
Ответ отправлен: 02.05.2006, 01:23 Оценка за ответ: 4 Комментарий оценки: Спасибо за участие, но... 1) Как я писал, хотелось бы иметь realtime, дело в том, что расчет может длиться несколько часов/дней ;) Да и зачем поток мне не ясно - ведь А всё равно запустится в своем адресном пространстве и своем потоке. Вопрос в том как данные передавать. 2) Если б можно было ждать конца расчета, то и сообщений никаких не надо
- просто отслеживать когда А закончит работу. Кроме того мне не хочется завязывать в цепочку не самую быструю операцию записи на диск. Скорость выполнения *ОЧЕНЬ* критична.
Отвечает: Denisss
Здравствуйте, Luka!
В прикрепленном файле - пример, как можно такое сотворить.
Пример написан на Delphi 7.
cons - консольное приложение.
wingui - GUI приложение.
Запускаете wingui.exe. Автоматически запустится cons.exe. Далее все числа, что Вы будете вводить в консоль будут передаваться в оконное приложение и там отображаться.
:q - выход из консольного приложения (хотя можно и просто на крестик нажать)
Удачи!
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
Ответ отправил: Denisss (статус: Специалист)
Ответ отправлен: 02.05.2006, 17:28 Оценка за ответ: 5 Комментарий оценки: Спасибо. Пример толковый. Буду тестировать производительность. Интересно, несколько сот тысяч сообщений не уронят винду ? :/
Вопрос № 41.825
Здравствуйте эксперты!!
Подскажите пожалуйста каким образом можно найти в интернете домашний компьютер по IP адресу и вообще возможно ли это? После прочтения нескольких книг, я намостырился выполнять это в локальной сети, а вот в интернете что то никак!
В книжках написано что типо, если в локальной сети, то использовать clientSocket.host(типо имя компьютера), если в интернете нужно использовать IP адрес и следовательно ClientSocket.addres, а процесс тот же самый как и в локальной сети!!
Но что то я ну никак не могу представить как поиск в интернете будет происходить по принципу поиска компьютера в локальной сети!!!
Может я чего не так понял!??
Отправлен: 01.05.2006, 21:40
Вопрос задал: F Ruslan R (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Решетник Д
Здравствуйте, F Ruslan R!
Во-первых, не каждый Домашний компьютер, имеет прямой доступ в инет. в основном доступ идет через прокси-сервер на провайдере. это делает связь с таким компьютером почти невозможной.
(то есть компьютер имеет только ИП адрес внутри провайдера/сети (например, 192.168.0.1), а пров берет интернет и дает его внутри своей сети на этот ИП).
Поэтому для связи между компьютерами используют спец серверы, через которые эти ПК соединяются (как для ICQ, Skype).ИП адрес "в мир" есть у обладателей DSL-модемов (наверное - у меня есть), спутникового интернета. Также такой ИП можно купить за денежку (наверное у провайдера).
Надеюсь я ответил на тот вопрос.
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 4-ый класс)
Ответ отправлен: 02.05.2006, 19:18 Оценка за ответ: 5