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

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


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


RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 313
от 03.04.2004, 13:10

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


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

Boriss
Статус: Профессиональный
Общий рейтинг: 156.95
URL: Программирование на Паскале
[Подробней >>]
THE_PRO
Статус: Профессиональный
Общий рейтинг: 138.18
URL: THE_PRO
Телефон: (994 +12) 989647
[Подробней >>]
sir henry
Статус: Профессиональный
Общий рейтинг: 159.63
[Подробней >>]
 
Pawel
Статус: Профессиональный
Общий рейтинг: 159.03
[Подробней >>]
samum2000
Статус: Профессиональный
Общий рейтинг: 132.09
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 109.01
[Подробней >>]
 
MadLan
Статус: Начальный
Общий рейтинг: 108.69
[Подробней >>]
Snowm@n
Статус: Доверительный
Общий рейтинг: 112.91
[Подробней >>]
CJ
Статус: Опытный
Общий рейтинг: 123.91
URL: Мой персональный сайт! Зайдите и не пожалеете!
Телефон: +375297353706
[Подробней >>]


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

Вопрос № 1449. Приветствую вас уважаемые Эксперты у меня возник следующий вопрос: я использую компонент IdUDPServer... (ответов: 5)
Вопрос № 1450. Приветствую всех! Вопрос у меня касательно иконки в трее. Использую для этого компоненту RxTrayIcon.... (ответов: 2)
Вопрос № 1451. Приветствую Вас! Посоветуйте: у меня есть таблица в БД (поля: int, blob, char, char). Каким способо... (ответов: 5)
Вопрос № 1452. Добрый день уважаемые эксперты Прежде всего хочу поблагодарить Вас за ваш нелегкий труд и за то что ... (ответов: 4)
Вопрос № 1453. KАК ПЕРЕВЕСТИ СТРОКУ ТИПА STRING В ЧИСЛО REAL???... (ответов: 8)
Вопрос № 1454. Как звык подключить к кнопке? ... (ответов: 6)
Вопрос № 1455. Ребята как через Api подключить звук к кнопке?... (ответов: 5)
Вопрос № 1456. Здравствуйте! Спасибо Эксперту Boriss за ссылку. Код который требовался, там есть. Но у меня возник ... (ответов: 4)

Вопросов: 8, ответов: 39


 Вопрос № 1449

Приветствую вас уважаемые Эксперты у меня возник следующий вопрос:
я использую компонент IdUDPServer (Indy Server) создаю обработчик события onUDPRead но при этом мне говорят что [Error] Unit1.pas(14): Undeclared identifier: 'TIdSocketHandle' подскажите что делать
Заранее огромное спасибо
PS Delphi7


Приложение:


Вопрос отправлен: 29.03.2004, 20:54
Отправитель: funtik

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

Отвечает Boriss

Здравствуйте, funtik!
Он описан в модуле IdTCPServer.

Ответ отправлен: 30.03.2004, 16:11
Отправитель: Boriss


Отвечает THE_PRO

Приветствую Вас, funtik!
mojet chto to v uses ne xvatayet

Ответ отправлен: 30.03.2004, 15:27
Отправитель: THE_PRO


Отвечает sir henry

Здравствуйте, funtik!
Проверьте, чтобы в строке USES стояло IdSocketHandle. В этом модуле как раз объявлен класс TIdSocketHandle.

Ответ отправлен: 29.03.2004, 23:20
Отправитель: sir henry


Отвечает Pawel

Доброе время суток, funtik!
Пропиши USES IdSocketHandle,...

Ответ отправлен: 30.03.2004, 19:15
Отправитель: Pawel


Отвечает samum2000


Доброго времени суток, funtic!
Добавь в Uses модуль idSocketHandle, в нем и описан этот класс.
--------------------------
-=Experts helper: testmode=-

Ответ отправлен: 01.04.2004, 10:08
Отправитель: samum2000


 Вопрос № 1450

Приветствую всех!
Вопрос у меня касательно иконки в трее. Использую для этого компоненту RxTrayIcon. В общем все работает, только в одном загвоздка, если сворачивать приложении кликом по ярлыку на панели задач, то иконка в трей не помещается и сам ярлык с панели задач не исчезает. Во всех остальных случаях работает как нужно. Код привожу в приложении. Подскажите че зделать плиз? Какое событие нужно отлавливать, если сворачиваешь приложение двойным щелчком в панели задач?


Приложение:


Вопрос отправлен: 30.03.2004, 03:29
Отправитель: illy

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

Отвечает Boriss

Здравствуйте, illy!
1) в приложении
2) почитайте http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1020241631

Приложение:

Ответ отправлен: 30.03.2004, 10:16
Отправитель: Boriss


Отвечает Pawel

Добрый день, illy!
Нужно использовать процедуру SetForeGroundWindow(Application.MainForm.Handle);

Ответ отправлен: 30.03.2004, 19:53
Отправитель: Pawel


 Вопрос № 1451

Приветствую Вас!
Посоветуйте: у меня есть таблица в БД (поля: int, blob, char, char). Каким способом можно записать картинку (маленькую) в blob-поле таблицы? Если можно приведите пример...



Вопрос отправлен: 30.03.2004, 05:54
Отправитель: Ole

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

Отвечает THE_PRO

Здравствуйте, Ole!
Komponent DBImage(public class TDBImage)

Ответ отправлен: 30.03.2004, 15:26
Отправитель: THE_PRO


Отвечает samum2000


Доброго времени суток, Ole!
Пример во многом зависит от тог, какую БД вы используете и какой подтип у вашего Blob поля. В приложении приведен пример для двоичного blob поля с использованием потоков.
--------------------------
-=Experts helper: testmode=-

Приложение:

Ответ отправлен: 31.03.2004, 13:53
Отправитель: samum2000


Отвечает Boriss

Здравствуйте, Ole!
У TDBImage есть свойство Picture для этих целей

Ответ отправлен: 30.03.2004, 10:00
Отправитель: Boriss


Отвечает sir henry

Приветствую Вас, Ole!
Ее можно записать из файла или из потока:
TBlobField.LoadFromFile(const Имя_файла: string);
TBlobField.LoadFromStream(Поток: TStream);
Через потоки удобно обмениваться картинками с другими компонентами.


Ответ отправлен: 30.03.2004, 16:52
Отправитель: sir henry


Отвечает Pawel

Добрый день, Ole!
Используйте тип DBImage


Ответ отправлен: 30.03.2004, 19:53
Отправитель: Pawel


 Вопрос № 1452

Добрый день уважаемые эксперты
Прежде всего хочу поблагодарить Вас за ваш нелегкий труд и за то что Вы есть, а то не было бы к кому и обратится.
Суть моей проблемы заключается вот в чем.
Есть база данных в формате dbf (файл 1.dbf), она имеет такую структуру:
U Group Parent Code Name
1 1 000-000619 01. Сухі суміші
2 1 000-000619 000-000620 01.01. Церезіт
3 1 000-000620 000-000628 01.01.01. Клею сум
4 0 000-000628 000-000631 Суміш для плитки
4 0 000-000628 000-004877 Суміш для цегли
4 0 000-000628 000-000634 Суміш для вікон
4 0 000-000628 000-004604 Суміш для підлоги
3 1 000-000620 000-000644 01.01.02 Шпаклівка
4 0 000-000644 000-000647 Шпаклівка для вікон
4 0 000-000644 000-011340 Шпаклівка для дверей
4 0 000-000644 000-008836 Шпаклівка підлогова
3 1 000-000620 000-000639 01.01.03 Штукатурка
4 0 000-000639 000-000643 Штукатурка стінна
4 0 000-000639 000-000640 Штукатурка стельна
Как, сделать так, чтобы на экране ее представить следующим образом:
01. Сухі суміші
|Церезіт
|Клею сум
|Суміш для плитки
|Суміш для цегли
|Суміш для вікон
|Суміш для підлоги

...
24. хххххххххх
|_ххххххх
|_ххххххх
То есть, чтобы было деревовидная форма(TreeView), и была возможность просматривать информацию под узлов и еще нужно организовать поиск по этой базе.
Помогите, очень нужно !!!
Заведомо признательный всем кто откликнется !!!
C уажением Taras
ttttt3000@hotbox.ru



Вопрос отправлен: 30.03.2004, 11:54
Отправитель: Taras (ttttt3000@hotbox.ru)

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

Отвечает THE_PRO

Доброе время суток, Taras!
Nu rabotay s TreeView

Ответ отправлен: 30.03.2004, 15:25
Отправитель: THE_PRO


Отвечает Boriss

Доброе время суток, Taras!
Может следует использовать TreeView. То есть, возьмите стандартный пример, но заполняйте его сами, а для поиска лучше использовать SQL, только без отображения

Ответ отправлен: 30.03.2004, 16:15
Отправитель: Boriss


Отвечает sir henry

Добрый день, Taras!
Для этого есть специальные компоненты, например:
http://www.fortunecity.com/skyscraper/sql/149/arh/abdbtree.zip
Попробуйте, авось понравится :)).

Ответ отправлен: 30.03.2004, 16:32
Отправитель: sir henry


Отвечает Pawel

Приветствую Вас, Taras!
Попробуйте использовать SQL(есть в стандартных примерах)

Ответ отправлен: 30.03.2004, 19:57
Отправитель: Pawel


 Вопрос № 1453

KАК ПЕРЕВЕСТИ СТРОКУ ТИПА STRING В ЧИСЛО REAL???



Вопрос отправлен: 30.03.2004, 15:30
Отправитель: МАКСИМ

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

Отвечает Boriss

Приветствую Вас, МАКСИМ!
Вы не написали, в какой среде. Отвечаю для Delphi
В модуле SysUtils есть много чего для преобразований. Я не без пользы для себя распечатал исходник.
Итак:
1) там описано исключение EConvertError - которое возникает при ошибках преобразования;
2) для нужного Вам преобразования есть StrToFloat и TextToFloat. Есть примеры в стандартной помощи

Ответ отправлен: 30.03.2004, 16:02
Отправитель: Boriss


Отвечает samum2000


Здравствуйте, МАКСИМ!
Для этого есть функции StrToFloat(Str) и StrToFloatDef(Str,DefValue). Обе функции типа extended, последняя в случае ошибки (например, в строке встретится буква) вернет значение DefValue.
--------------------------
-=Experts helper: testmode=-

Ответ отправлен: 31.03.2004, 13:54
Отправитель: samum2000


Отвечает sir henry

Приветствую Вас, МАКСИМ!
Для этого есть специальная функция:
StrToFloat(Строка: string): Extended;
Это если число в строке имеет десятичную запятую. Если же там десятичная точка, то надо использовать такую процедуру:
Val(строка: string; var число; код_ошибки: integer);
Причем тип получаемого числа будет определятся типом переменной "число".

Ответ отправлен: 30.03.2004, 17:04
Отправитель: sir henry


Отвечает THE_PRO

Доброе время суток, МАКСИМ!
function StrToFloat(Str:String):Extended;overload;

Ответ отправлен: 30.03.2004, 17:12
Отправитель: THE_PRO


Отвечает vitya

Здравствуйте, МАКСИМ!
StrToFloat/Real.

Ответ отправлен: 30.03.2004, 17:32
Отправитель: vitya


Отвечает Pawel

Здравствуйте, МАКСИМ!
real:=StrToFloat(String)

Ответ отправлен: 30.03.2004, 19:59
Отправитель: Pawel


Отвечает MadLan

‡¤Ю ўАБўЦ©БҐ, ЊЂЉ‘€Њ!
function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string; overload;
function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer; const FormatSettings: TFormatSettings
): string; overload;
Function FloatToStr(x: real);


Ответ отправлен: 31.03.2004, 07:27
Отправитель: MadLan


Отвечает Snowm@n

Приветствую Вас, МАКСИМ!
VAL...

Ответ отправлен: 31.03.2004, 08:13
Отправитель: Snowm@n


 Вопрос № 1454

Как звык подключить к кнопке?


Приложение:


Вопрос отправлен: 30.03.2004, 15:44
Отправитель: Паша

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

Отвечает samum2000


Доброго времени суток, Паша!
Звук можно проиграть в событии OnClick.
В модуле mmsystem описана процедура PlaySound. Вот пример ее использования:
sndPlaySound('c:mywavefile.wav', SND_ASYNC);
--------------------------
-=Experts helper: testmode=-

Ответ отправлен: 31.03.2004, 13:54
Отправитель: samum2000


Отвечает sir henry

Приветствую Вас, Паша!
Если Вы объясните, что такое "звык" то, думаю, помочь Вам будет несложно :)).

Ответ отправлен: 30.03.2004, 17:10
Отправитель: sir henry


Отвечает Pawel

Здравствуйте, Паша!
Смотря какой звук("звык")?
Опишите подробней.
Можно использовать компонент TMediaPlayer/
Можно использовать API функции.

Ответ отправлен: 30.03.2004, 20:02
Отправитель: Pawel


Отвечает Boriss

Приветствую Вас, Паша!
1) Самое простое
procedure TfmMain.Button1Click(Sender: TObject);
begin
ShellExecute(0, nil, 'Whipcrak.wav', nil, nil, SW_HIDE)
end;
2) Сложнее чуть-чуть:
procedure TfmMain.Button1Click(Sender: TObject);
begin
With MediaPlayer1 do begin
Filename := 'Whipcrak.wav';
DeviceType := dtAutoSelect ;
Open;
Play;
end;

Ответ отправлен: 30.03.2004, 20:13
Отправитель: Boriss


Отвечает CJ

Приветствую Вас, Паша!
PlaySound(...

Ответ отправлен: 30.03.2004, 22:35
Отправитель: CJ


Отвечает MadLan

„®ЎЮК© ¤Ґ­Л, Џ Х !

PlaySound(pszSound: PAnsichar,hmod: Cardinal,fdwSound: Cardinal)


Ответ отправлен: 31.03.2004, 07:34
Отправитель: MadLan


 Вопрос № 1455

Ребята как через Api подключить звук к кнопке?



Вопрос отправлен: 30.03.2004, 21:12
Отправитель: Паша

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

Отвечает samum2000


Здравствуйте, Паша!
Вызывай API функцию PlaySound() (она описана в mmSystem);
--------------------------
-=Experts helper: testmode=-

Ответ отправлен: 31.03.2004, 13:55
Отправитель: samum2000


Отвечает sir henry

Доброе время суток, Паша!
У кнопки есть событие OnClick. Заносите в него следующую функцию:
sndPlaySound('C:SOUND.WAV', SND_ASYNC);
Чтобы остановить проигрывание нужно сделать так:
sndPlaySound(nil, SND_ASYNC);


Ответ отправлен: 30.03.2004, 21:36
Отправитель: sir henry


Отвечает CJ

Доброе время суток, Паша!
Процедуру проигрывания звука надо поставить в начале кода кнопки!

Ответ отправлен: 30.03.2004, 22:34
Отправитель: CJ


Отвечает Pawel

Приветствую Вас, Паша!
Это польное описание функции API PlaySound
Функция PlaySound модуль MMSystem
Описание:
function PlaySound(pszSound: PChar; hmod: HMODULE; fdwSound: DWORD): BOOL;
Функция проигрывает звуковой файл, ресурс, или системное событие. ( Системное событие может быть связано со звуком в реестре или в файле WIN.INI.)
Параметры:
pszSound: Строка определяющая путь к звуковому файлу для проигрывания. Если этот параметр равен nil(ноль), то любое проигрывание waveform-аудио будет прекращено. Для того чтобы приостанавливать не waveform-аудио, установите флаг SND_PURGE в параметре fdwSound.
Флаги SND_ALIAS, SND_FILENAME, и SND_RESOURCE в fdwSound интерпретируются как псевдонимы для системного события, имени файла, или идентификатора ресурса. Функция ищет ассоциацию с системным событием или идентификатором ресурса в реестре или файле WIN.INI. Если ассоциация обнаружена, то событие проигрывается, если нет, то имя интерпретируется как имя файла.
hmod: Хендл выполняемого файла, который содержит ресурс со звуком для проигрывания. Этот параметр должен быть nil(ноль) если флаг SND_RESOURCE не установлен в fdwSound.
fdwSound: Флаги определяющие проигрывание звука.
SND_APPLICATION - Звк проигрывается использую ассоциацию с приложением.
SND_ALIAS - Параметр pszSound является псевдонимом системного события в реестре или файле WIN.INI. Не используйте этот флаг с флагами SND_FILENAME или SND_RESOURCE.
SND_ALIAS_ID - Параметр pszSound является идентификатором встроенного ресурса.
SND_ASYNC - Звук проигрывается асинхронно и возварат из PlaySound происходит сразу после начала проигрывания. Для того чтобы завершить асинхронный waveform-аулдио звук необходимо вызвать PlaySound с pszSound равным nil(ноль).
SND_FILENAME - Параметр pszSound является именем файла. Файл должен быть формата Wave(*.wav).
SND_LOOP - Будет проигрывать звук многократно(закольцованно), пока PlaySound не будет вызван с параметром pszSound установленным в nil(ноль). Также необходимо установить флаг SND_ASYNC для большей надежности.
SND_MEMORY - Файл события загружен в память(RAM). Параметр pszSound должен содержать указатель на образ звука в памяти.
SND_NODEFAULT - Используется событие не по умолчанию. Если звук не обнаружен PlaySound ничего не проигрывает.
SND_NOSTOP - Событие будет проиграно сразу после проигрывания уже играющего события.
SND_NOWAIT - Если драйвер занят, то функция возвращается не проигрывая звук.
SND_PURGE - Звки буду остановлены для вызывающей задачи. Если pszSound не nil то все звки задачи будут остановлены. Вы должны установить хендл владельца чтобы остановить событие SND_RESOURCE.
SND_RESOURCE - Параметр pszSound является идентификатором ресурса; hmod должно идентифицировать владельца, который содержит ресурс.
SND_SYNC - Синхронное воспроизведение звука. PlaySound возвращается после того как звук будет проигран.
Возвращаемые значения
True если успешно и false в противном случае.
Замечания
Звук указанный в pszSound должен быть установлен в доступную физическую память и формат должен поддерфивать драйвером waveform-аудио устройства. PlaySound смотрит в следующих папках: текущая, папка Windows, системная папка Windows, папки указанные в переменных среды, и список папок в сети. Для более подробной информации см. функцию OpenFile.
Если функция не может найти звук, то использует встроенный звук взамен. Если не может обнаружить ничего взамен, то ничего не играет и возвращает false.
Функция находится в файле winmm.dll

Ответ отправлен: 31.03.2004, 10:04
Отправитель: Pawel


Отвечает Boriss

Приветствую Вас, Паша!
1) MessageBeep
2) PlaySound (PChar (FSoundDown), 0, snd_Async);
3) http://www.delphimaster.ru/articles/mixer.html
4) http://image.subscribe.ru/1.gif/comp.soft.prog.docs/20030807002410/=3620=3587===n=n=/m1437338
5) Пока хватит


Ответ отправлен: 31.03.2004, 14:01
Отправитель: Boriss


 Вопрос № 1456

Здравствуйте!
Спасибо Эксперту Boriss за ссылку. Код который требовался, там есть.
Но у меня возник по ходу еще вопрос. При восстановлении окна по клику на иконке, закладка на панели задач не реагирует на действия мыши. А в ее меню по правому клику активен пункт "Восстановить", вместо "Свернуть", хотя окно уже восстановлено и функционально. И эта закладка никак не реагирует пока не щелкниш по "Восстановить". Подскажите, как работать с этим меню?
И еще один вопрос чисто в познавательных целях, вы уж извините, просто я совсем не опытен в этом, думаю что пока.
Чем отличаются коды
ShowWindow(Handle,SW_HIDE);
ShowWindow(Application.Handle,SW_HIDE); от Form1.Hide;
или
ShowWindow(Handle,SW_SHOW);
ShowWindow(Application.Handle,SW_SHOW); от Form1.Show;.
Только тем, что работа идет через API, или есть еще что-то?



Вопрос отправлен: 30.03.2004, 23:26
Отправитель: illy

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

Отвечает Boriss

Добрый день, illy!
Ничем, если из одной процедуры, так как берется Handle от Application в данном случае. А так все равно пойдет через Api
А первый вопрос - надо проанализировать, как восстанавливаете. Может, лучше SW_RESTORE

Ответ отправлен: 31.03.2004, 18:43
Отправитель: Boriss


Отвечает CJ

Приветствую Вас, illy!
там хендл просто как переменая, а там как определенный хендл приложения твоего!

Ответ отправлен: 30.03.2004, 23:37
Отправитель: CJ


Отвечает sir henry

Добрый день, illy!
2. В первой группе функций (SW_HIDE) первая функция работает с каким-то окном, хэндл которого указан в Handle. Вторая функция работает с главным окном приложения, на что указывает его хэндл (Application.Handle). Это функции WinAPI. Form.Hide(Show) от них отличается тем, что является оболочкой к данной функции WinAPI и указывает на конкретную форму (Form). Т.е. она является аналогом первой функции. Разницы между применением WinAPI и функции оболочки к ней нет никакой (по функциональности).
Form.Show(Hide) короче и понятней :)). Про то, что она является примером ООП говорить не буду - это и так понятно из синтаксиса :).

Ответ отправлен: 31.03.2004, 00:30
Отправитель: sir henry


Отвечает Pawel

Здравствуйте, illy!
Процедуры отлтчаются HANDLE
Application.Handle - это хендл всего приложения.
Form1. ... - это хендл окна form1
Если я правельно помню тот код, то вы скрываете окно , а не сварачиваете его.


Ответ отправлен: 31.03.2004, 10:15
Отправитель: Pawel



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

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (25)
C / C++ (14)
Perl (1)
Builder / Delphi (17)
Pascal (19)
Basic / VBA (3)
Java / JavaScript (4)
PHP (8)
Криптография (6)
WinAPI (12)
Радиоэлектроника (8)
Пользователю
Windows 95/98/Me (38)
Windows NT/2000/XP (51)
"Железо" (27)
Поиск информации (18)
Администратору
Windows NT/2000/XP (25)
Linux / Unix (9)
Юристу
Гражданское право (11)
Семейное право (10)
Трудовое право (10)
КоАП (7)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

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


В избранное