Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3

Модерирует : ShIvADeSt

ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Glukodel

Цитата:
предлогаю завязать с флеймом...  

Согласен, разбуянились чегой-то
 
Добавлю только маленькое имхо для читающих топик

Цитата:
в жизни не видел более корректного описания происходящего...

Я бы скорее сказал "наглядного". Обычно статьи на эту тему читаются с бОльшим трудом  
Так что, для первого чтения по механизмам потоков в windows и системам реального времени она крайне хороша.
 
А тем, кого больше интересует именно практическое применение потоков в Delphi, лучше все-таки начать с легких "сказочек" товарища Гурина.
Все максимально доходчиво и библиотеки отличные
_http://gurin.tomsknet.ru/sourcesdelphi.html

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 01:58 22-08-2007
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arvur
Glukodel
Господа, большое спасибо за науку! (хоть ещё не читал, но в to-do записал)
и я считаю, что флеймом назвать то, что приносит реальную пользу (в виде новых знаний и умений), нельзя.
впрочем... умолкаю. sapienti sat.

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 02:17 22-08-2007
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GreatOne
 
For i:=1 to 2000 do
begin
 Application.ProcessMessages;  
 Sleep(1);
end;
 
во так получиш 2 сек.

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 09:15 22-08-2007
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RostY

Цитата:
во так получиш 2 сек.

Если прочитать статейку, ссылку на которую давал Glukodel чуть ранее, то станет понятно что таким образом не получиш 2 секунды простоя. Каждый слип займет 1-10 милисек.

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 09:25 22-08-2007 | Исправлено: Dennica, 09:32 22-08-2007
Glukodel



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dennica

Цитата:
Если прочитать статейку


 
если код RostY дописать так:
var
  I: Integer;
  speed: longword;
begin
  speed := GetTickCount;
  for I := 1 to 2000 do
  begin
    Application.ProcessMessages;
    Sleep(1);
  end;
  Caption := Format('Затраченное время: %d', [(GetTickCount - speed)])
end;
то будет видно, сколько именно...  
RostY
у меня на незагруженной машине около 3900 мс,  
т.е. почти 4с...  а у тебя?

Всего записей: 97 | Зарегистр. 16-08-2004 | Отправлено: 11:41 22-08-2007
Chuvakstepan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, подскажите, как средствами Delphi узнать есть ли Directx 10 ?

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 12:06 22-08-2007
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Glukodel
у мну 3907
 
но если сделать цикл to 20 и sleep(100) тогда около 2000

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 14:19 22-08-2007
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chuvakstepan
Если версия системы XP, то в ней автоматически установлен Dirext 10-ый.
 
Добавлено:
Glukodel

Цитата:
Application.ProcessMessages;  

Эта процедура дофига сообщений обрабатывает и работает всегда гораздо дольше чем sleep(2).

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 15:08 22-08-2007
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Если версия системы XP, то в ней автоматически установлен Dirext 10-ый.  

Это в висте десятка
Возможно, есть смысл заглянуть сюда
_http://clootie.ru/delphi/index.html
.. сам не пользовался
 
Добавлено:

Цитата:
Эта процедура дофига сообщений обрабатывает

А если сообщения не обрабатывать - приложение "подвисает"

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 15:27 22-08-2007
yuish

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover

Цитата:
Если версия системы XP, то в ней автоматически установлен Dirext 10-ый.  

 
Вообще то там директ 9. 10-й автоматически в Висте.

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 15:29 22-08-2007
Chuvakstepan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
yuish
Вообще-то ты прав
 
Тогда другой вопрос, как сделать следующее:
if windows_label.caption содержит слово "Vista" then Directx_label.Caption:='DirectX 10'

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 15:39 22-08-2007
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
if pos('Vista',windows_label.caption) <> 0 then Directx_label.Caption:='DirectX 10'

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 15:41 22-08-2007
Chuvakstepan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
RostY
Большое спасибо! Учусь
 
Добавлено:
есть такая функция GradientRect, которая может залить форму
Я ей воспользовался, но при перетаскивании формы за пределы экрана, градиент стирается. Может, кто-нибудь сталкивался?

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 15:49 22-08-2007
antonn2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chuvakstepan
создать буферный битмап по размерам клиентской части формы, заливать его градиентом, в onpaint копировать нужную часть битмапа на форму через bltbtn(). При этом все должно рисоваться еще быстрее, т.к. градиент строится только один раз.

Всего записей: 97 | Зарегистр. 13-11-2006 | Отправлено: 00:13 23-08-2007
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла следующая проблемка. Еврика сообщает об утечке памяти в одной из формочек, но не показывает где именно. Вроде все уже на два раза перепроверил, никак не могу отыскать. Посоветуйте пожалуйста как/чем еще можно воспользоваться для решения проблеммы.

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 08:23 23-08-2007
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dennica
Я для отлова утечек пользовался AQTime

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 11:34 23-08-2007
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Dennica
Используй fastmm

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 12:32 23-08-2007
Chuvakstepan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите, как после закрытия моего приложения, активным становилось окно приложения, которое БЫЛО активным до запуска моего приложения

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 12:10 24-08-2007
Grafus



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, помогите начинающему!
Нужно сделать маленькую Приблуду которая по кнопке будет удалять, заранее известную, папку, например c:\temp\test\, со всем её содержимым (файлами и подкаталогами).
Вопрос в том, что надо написать для нажатия кнопки?

Всего записей: 397 | Зарегистр. 15-12-2004 | Отправлено: 12:53 24-08-2007
skinash



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grafus

Код:
function DelDir(dir: string): Boolean;  
var  
  fos: TSHFileOpStruct;  
begin  
  ZeroMemory(@fos, SizeOf(fos));  
  with fos do  
  begin  
    wFunc  := FO_DELETE;  
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;  
    pFrom  := PChar(dir + #0);  
  end;  
  Result := (0 = ShFileOperation(fos));  
end;  
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  DelDir('C:\Windows');
end;
 

 

 
Добавлено:
Chuvakstepan
Погугли по "Мечты вуайериста"

Всего записей: 145 | Зарегистр. 21-09-2006 | Отправлено: 13:06 24-08-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3
ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru