Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];

Вниз

Система проговаривания времени   Найти похожие ветки 

 
Smok_er   (2002-07-09 09:47) [0]

Уважаемые мастера!
Возможно кто-то из вас сталкивался с программой Speaking Clock Deluxe ( http://www.lux-aeterna.com), которая умеет проговаривать текущее время. Принцип работы основан на подключении dll. Для каждого языка своя dll, которые записывают по всему миру. Сейчас в коллекции около 25-30 языков.
Излазил весь интернет, но никак не могу найти доки по работе с данными dll, а писать свои просто бессмысленно.
МОжет кто слышал, видел, сталкивался с сабжем - помогите пожалуйста. Интересует все.


 
handra   (2002-07-09 10:58) [1]

скачал несколько DLL по ссылке, в течение 10-ти минут я выяснил, что все они экспортируют функцию:
procedure Speak; stdcall;.

т.е. определяем тип
TSpeakProc = procedure ; stdcall;
кидаем на форму две кнопки и TOpenDialog, обработчики:

procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
end;

procedure TForm1.Button2Click(Sender: TObject);
var hLib: THandle;
SpeakProc: TSpeakProc;
begin
hLib := LoadLibrary(PChar(OpenDialog1.FileName));
if hLib=0 then ShowMessage("Can""t loadlibrary!")
else begin
SpeakProc := GetProcAddress(hLib,"Speak");
if @SpeakProc=nil then ShowMessage("Can""t find procedure!")
else
try
SpeakProc;
finally
end;
FreeLibrary(hLib);
end;
end;


Вот собственно и все, функция в DLL проговаривает текущее время.


 
Smok_er   (2002-07-09 12:25) [2]

Большое спасибо!
Работает!

Хотелось бы узнать, как расковыривать dll и, относительно вопроса, как узнать, к какому языку относится файл, из самой dll?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
7-70933
AndreyS
2002-04-27 14:30
2002.07.22
Драйвер на Делфи.


7-70940
Doom
2002-04-28 22:47
2002.07.22
Добавить к контекстное меню ярлык


3-70670
kravchuk@torba.com
2002-06-27 16:00
2002.07.22
MS OLAP


3-70637
Nonam
2002-07-01 15:50
2002.07.22
---|Ветка была без названия|---


1-70762
Doctor Deejay
2002-07-02 21:54
2002.07.22
Меню, созданное динамически





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский