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

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

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

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OOD
Насколько я понял, в твоей ссылке представлена методика (реализованная в кодах), как считать много файлов в один поток. И все. А последовательность, какие файлы открывать для чтения, какие кнопки жать, использовать ли и какие компоненты для этого ты уже должен определиться и дописывать сам.

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 11:40 17-12-2008
RSoFT1978

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OOD
Исправь (убери (Sender: TObject)) в объявлении процедуры:
...
  public
    { Public declarations }
     procedure ThisISHowIPutFilesIn;  
...
Создай на диске С файлы SomeSmalFile1.txt и SomeSmalFile2.txt (не пустые).
Положи на форму кнопку, нажми на неё мышкой 2 раза и в открывшемся окне напиши   form1.ThisISHowIPutFilesIn;
Должно получится примерно так:
...
procedure TForm1.Button1Click(Sender: TObject);
begin
      form1.ThisISHowIPutFilesIn;
end;
 
Если сделаешь это без ошибок, то всё заработает.

Всего записей: 34 | Зарегистр. 19-05-2007 | Отправлено: 14:07 17-12-2008
Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не поможет ли кто решить такую проблему.
Имеется заранее неизвестное число экземпляров объекта (например, TForm). Число экземпляров выясняется во время работы программы, после чего эти экземпляры создаются. До сих пор все понятно. А вот как каждой вновь созданной форме назначить СВОЙ обработчик события (допустим, OnShow)? Ведь неизвестно, сколько обработчиков понадобится.
Вот такая задача.

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 17:38 18-12-2008
asdnsd



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grande, а "универсальный" не написать?

Всего записей: 447 | Зарегистр. 21-05-2007 | Отправлено: 18:43 18-12-2008
Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asdnsd
К сожалению, никак

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 18:51 18-12-2008
VitaliM



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

Всего записей: 2184 | Зарегистр. 12-01-2005 | Отправлено: 19:16 18-12-2008
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grande
В D2009 можно попробовать через анонимные методы, только по-моему должен быть способ как обойтись без них.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:52 18-12-2008
Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот, посмотрите, правильно ли я мыслю.
Я решил создать класс TSample (потомок, допустим, TObject). Затем в этом классе описываю нужный мне объект (как уже говорилось - потомок TForm). Затем, в процессе работы программы, когда выяснится необходимое количество экземпляров, я создаю это количество экземпляров TSample, а там создается потомок TForm. И, самое интересное, каждый экземпляр TForm будет иметь свой собственный обработчик.
Не сочтите за труд - прокомментируйте эту идею.
 
Добавлено:
Frodo_Torbins
Я работаю в Delphi7, там оных нет
 
 
Добавлено:
VitaliM
В общем-то дело не в том, что должен делать обработчик. Мне необходимо выяснить - могут ли созданные в run-time объекты одного типа иметь различные обработчики событий. Задумал тут переписать свой же проект и появилась идея, только вот не знаю, как ее реализовать.

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 21:10 18-12-2008
NOwlar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grande
Иметь-то могут, если обработчики где-то в коде описаны, ибо обработчик события назначается экземпляру класса. Только никак не могу взять в толк зачем это может понадобиться. Может разъяснения по данному вопросу помогут остальным дать тебе дельный совет?

Всего записей: 170 | Зарегистр. 25-01-2006 | Отправлено: 21:39 18-12-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Подскажите как загрузить png из ресурсов средствами GDI+. Я думал что это может функция GdipCreateBitmapFromResource, но толку-то, она грузит только битмап, когда через LoadImage так же можно... Ведь есть функция GdipLoadImageFromFile, грузящая и png и gif и некоторые другие форматы, а из ресурса-то как? Может есть идеи какие-нибудь? Просто мне важен размер компилируемого файла и цветность - PNG формат идеально подходит для этого. Тем более делаю скринсейвер - как раз через GDI можно спокойно делать с изображением что хочешь. Но вот проблема с загрузкой картинки из ресурса.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 21:44 18-12-2008
Grande



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

Цитата:
Только никак не могу взять в толк зачем это может понадобиться. Может разъяснения по данному вопросу помогут остальным дать тебе дельный совет?

Возможно, ты прав.
Задача такова: имеется несколько машин в локальной сети. Сколько их в данный момент - неизвестно. Требуется их опросить и, в зависимости от типа рабочей станции, принять решение.

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 21:53 18-12-2008
VitaliM



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

Цитата:
могут ли созданные в run-time объекты одного типа иметь различные обработчики событий

В этом проблемы нет, только  надо различать, что создать динамически рантайм объекты ты можешь сколько угодно, но они будут близнецами, а количество готовых обработчиков событий будет всегда конечно. Обработчик динамически не создашь в отличии от объекта. Либо, как уже советовали, один обрабтчик, но универсальный с критериями по типам рабочих станций (это более предпочтительный вариант, IMHO). Объект при создании получает тип рабочей станции и универсальный обработчик в зависимости от типа выполняет требуемое действие. Весь набор возможных действий тебе известен, я надеюсь, и программируется без проблем. Более того, универсальный обработчик проще развивать, добавляя новые варианты обработки в соответствии с критериями, зависящими от рабочих станций, которые могут меняться или добавляться.

Всего записей: 2184 | Зарегистр. 12-01-2005 | Отправлено: 22:14 18-12-2008
Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VitaliM
Угу, я вроде и сам к этому же подхожу. Спасибо огромное.

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 22:19 18-12-2008
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в кратце пользуясь twebbrowser пытаюсь обойти все фрейме и выдрать из них всё получаю "отказанно в доступе", вот более полное описание подобной проблемы www.delphikingdom.ru заранее благодарен за посыл в верном направлении

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 23:21 18-12-2008
ShIvADeSt



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

Цитата:
Здравствуйте. Подскажите как загрузить png из ресурсов средствами GDI+. Я думал что это может функция GdipCreateBitmapFromResource, но толку-то, она грузит только битмап, когда через LoadImage так же можно... Ведь есть функция GdipLoadImageFromFile, грузящая и png и gif и некоторые другие форматы, а из ресурса-то как?

Ссылка http://hermantan.blogspot.com/2007/09/using-vfp-resource-file-there-are.html
краткое содержание на ангельском.
I also shown you about putting an image (PNG) to custom resource section. Since the image was put as a raw data, you can only load it back as raw data. After you get the raw data, you can save it to a file, or you can also create a stream data to create the bitmap from the stream. GdipCreateBitmapFromResource() doesn't work for this resource type.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:55 19-12-2008
anfilat

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bornbill
Ответил в форуме по твоей ссылке.

Всего записей: 845 | Зарегистр. 12-08-2005 | Отправлено: 09:51 19-12-2008
Maks150988



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

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 17:27 19-12-2008
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посоветуйте, как из Delphi 7 или 6 сделать portable версию? Или где такую можно скачать? Допустима жесткая привязка к пути. Т.е. принес на машину, скопировал и работает. Это возможно?
Срочно понадобилось, попытался поискать – ничего путного.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 17:46 19-12-2008
RageSV

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
В 2009 анонимные методы не распространяются на методы класса (только шманскими способами). Фактически это недо-анонимные методы :-( .
 
Grande
Собственно уже давным давно все решено до вас. Смотрите в сторону паттерна Factory Method.
 

Всего записей: 72 | Зарегистр. 20-01-2006 | Отправлено: 18:07 19-12-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ууу, вобщем,кто разбирается в GDI+, прошу вашей помощи.
http://webdrive.avtograd.ru/Download/Explorer/temp/TScreenSaver.zip
Я не понимаю, почему не отображается загруженная картинка. Код стрима правилен полюбому. Интересует какого надо GdipCreateFromHDC подсунуть HDC, либо я HDC неправильно создал. Дибо может я что-то неправильно в WM_PAINT через блиттинг делаю... Вобщем необходимо чтобы блиттилось на HDC через PaintStruct загруженное PNG из ресурсов. Оно загружается, а вот дальше фиг знает почему не отрисовывается. Возможно стили окна надо сменить чтоли? А то сколько не попадалось примеров - через layred окна какие-то мудрено все...

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 19:47 19-12-2008
   

Страницы: 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 (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru