Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на Delphi

Выпуск № 134
от 07.02.2003, 08:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 461
Отправлено ответов: 850
Активность: 184.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Jadd
Статус: Профессиональный
Общий рейтинг: 143.45
[Подробней >>]
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 116.74
URL: Пристанище неодинокого программиста
[Подробней >>]
Илья
Статус: Доверительный
Общий рейтинг: 108.09
[Подробней >>]
 
baldr
Статус: Профессиональный
Общий рейтинг: 113.73
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 446. - Кто-нить может перевести эту функцию с VB на DElphi? - Есть-ли специализированные программы для эт... (ответов: 1)
Вопрос № 448. Скажу проще... Мне надо, чтобы при нажатии на button1 окно программы сворачивалось, а при нажатии, н... (ответов: 1)
Вопрос № 451. Уважаемые эксперты, Я пишу почтовую программу и у меня возникли следующие проблемы: 1. Как сохраня... (ответов: 4)

Вопросов: 3, ответов: 6


 Вопрос № 446

- Кто-нить может перевести эту функцию с VB на DElphi?
- Есть-ли специализированные программы для этой цели(преревод исходников с VB на Delphi)?


Приложение:


Вопрос отправлен: 01.02.2003, 11:09
Отправитель: pcgamer

[Следующий вопрос >>] [Список вопросов]

Отвечает Jadd

Здравствуйте, pcgamer!
Проще пареной репы.
procedure WriteHack(title: String;address, Value: DWORD; bType: Byte);
var
hWnd, pid, pHandle, PROCESS_ALL_ACCESS, hProcess: DWORD;
begin
hWnd = FindWindow(vbNullString, title)
If (hWnd = 0) Then
return;
GetWindowThreadProcessId(hWnd, pid);
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (pHandle = 0) Then
hWnd = FindWindow(vbNullString, title)
If (hWnd = 0) Then
begin
Application.MessageBox('Couldnt get a process handle!', @title + 'Trainer', MB_ICONSTOP+MB_OK);
return;
End;
WriteProcessMemory(pHandle, address, value, bType, 0);
CloseHandle(hProcess);
end;
Примерно так. А программ таких я не знаю. Но что мешает ее написать самому?

Ответ отправлен: 01.02.2003, 20:12
Отправитель: Jadd


 Вопрос № 448

Скажу проще...
Мне надо, чтобы при нажатии на button1 окно программы сворачивалось, а при нажатии, например, Ctrl+Alt+F12, оно обратно разворачивалось.
Помогите кто-нибудь, пожалуйста.



Вопрос отправлен: 03.02.2003, 03:38
Отправитель: mad rat

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Добрый день, mad rat!

Извини, что сразу не ответил - искал решение. Головная боль - эти хуки, если не знаешь, как с ними работать. Но если поймёшь...
Короче, вот код программы. Состоит из двух частей: EXE и DLL (два различных проекта). Первая часть - собственно форма, вторая часть обработчик хука (так положено - по другому нельзя).
В обработчике хука создаётся глобальная область данных (FileMapping), благодаря которой все приложения "знают", какое окно хочет быть активизировано и по какой комбинации клавиш.
Вообще, рекомендую почитать документацию...

Приложение:

Ответ отправлен: 03.02.2003, 15:55
Отправитель: Артём Шегеда


 Вопрос № 451

Уважаемые эксперты,
Я пишу почтовую программу и у меня возникли следующие проблемы:
1. Как сохранять все соощения?(исходящие, отправленные, удаленные...). Я думаю использовать базу данных Paradox 7, правильно ли это?
2. C помощью какой компоненты Delphi лучше всего сделать перечень сообщений(Listbox) которое отображает письма в папках(Inbox, Outbox, Sent, Draft). Я попробовал Dbgrid но получилось грубо, не так как в Outlook Express или The Bat!.
Я буду очень признателен Вашим ответам.
Спасибо.



Вопрос отправлен: 04.02.2003, 08:45
Отправитель: dude (squeeze_ms@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Илья

Доброе время суток, dude!
1. Зачем??? Если Вы будете использовать Paradox, то Вам придется статить BDE везде где будет работать прога, а BDE немного глюковатый и весит не мало. В данном случае можно самому придумать какой-либо формат для файла хранящего письма, или найти инфу о формате таких файлов стандартных прог (MS Outlook, The Bat...).
2. Если не использовать BDE, то использовать DBGrid тоже нет смысла. Можно использовать простой StringGrid. Его можно подогнать по виду под Microsoft Outlook. Только я не помню, можно ли вставлять в него картинки/иконки. Если можно, то вообще супер получится (в смысле похоже).


Ответ отправлен: 04.02.2003, 21:57
Отправитель: Илья


Отвечает Артём Шегеда

Добрый день, dude!

1. В файлах, а как ещё? Можешь сделать свою БД, но только без использования BDE. Можешь просто создать текстовый файл и все сообщения сохранять в нём (благо, e-mail - это "голый" текст), а отдельно завести индексный файл, в котором сохраняешь начало сообщения и его длину.
2. Я, лично, пользовался ListView - во многом удачная вещь...

Нда... Почтовых клиентов развелось - как грязи... У меня самого свой есть.

Ответ отправлен: 04.02.2003, 12:22
Отправитель: Артём Шегеда


Отвечает Jadd

Приветствую Вас, dude!
1) Можно использовать базы, как ты правильно догадался. Но, я бы не рекомендовал парадокс(вообще BDE) из-зи "накладных расходов". Используй базы типа DBISAM
2)Компонента TListView в режиме список. Я бы так сделал.

Ответ отправлен: 04.02.2003, 13:48
Отправитель: Jadd


Отвечает baldr

Доброе время суток, dude!
1. Вот тебе достоинства этого метода: тебе не надо проектировать и писать свою СУБД, ты просто
вызываешь уже готовые API-функции BDE и экономишь кучу времени.
Недостатки: BDE есть далеко не на всех компьютерах, причем незначительные отличия в номере их
версии оказываются значительными отличиями в поддержке функций. Если таскать полный BDE с собой,
то это - не меньше 17 Mb, а если только нужные библиотеки - 2 Mb. Но все равно это много.
Поэтому есть два выхода. Первый: сейчас есть много бесплатных (и платных!) компонентов для
написания легких и функциональных баз данных. Например, VolgaDB и пр...
Второй способ я избрал после таких же раздумий над написанием проги для чтения наших форумов.
Саму прогу и ее исходники, если надо, ты найдешь на сайте RusFAQ в разделе RusFAQ TEAM...
В общем, я написал почти что свою СУБД с таблицами, индексами и функциями...
2. И тоже я об этом думал при написании той проги... У меня там TStringList - это тот же DBGrid.
Правда, он меня тоже не устраивает, так как там не отображаются картинки. Зато стандартный...
В общем, можешь использовать TDrawGrid - уж его-то тебе точно хватит! :)
Короче говоря, моя прога со своей СУБД и только стандартными компонентами занимает 450 Kb.
Это притом, что 382Kb - это только стандартные Делфовские библиотеки, включенные в проект.
При любых дополнительных компонентах этот размер резко увеличится... Решай сам.


Ответ отправлен: 04.02.2003, 23:25
Отправитель: baldr



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (37)
C / C++ (28)
Perl (7)
Delphi (18)
Pascal (24)
Basic / VBA (12)
Java / JavaScript (12)
PHP (8)
MySQL / MSSQL (8)
Пользователю
Windows 95/98/Me (35)
Windows NT/2000/XP (29)
"Железо" (31)
Поиск информации (18)
Администратору
Windows NT/2000/XP (14)
Linux / Unix (13)
Юристу
Гражданское право (11)
Семейное право (7)
Трудовое право (6)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное