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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 734
от 12.02.2007, 10:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 436, Экспертов: 88
В номере:Вопросов: 3, Ответов: 8


Вопрос № 74440: Здравствуйте. Какой командой можно получать значения в определенном шаблоне, т.е число у которого, например, 4 знака после запятой. Я пользуюсь: FloatToStrF(x,ffGeneral,6,4); Но он почему-то не всегда даёт правильный результат. Может быть есть др...
Вопрос № 74484: Здравствуйте ! Скажите а как можно совершить звонок через модем на определенный номер телефона ? Хоть подскажите где почитать и разузнать про ЭТО поподробнее .... С Уважением !!! info@kotoff.info...
Вопрос № 74536: Вопрос по Делфи, как в ShellTreeView сделать так чтоб пользоваватель не мог переименовывать ни какие элементы отображаемые в этом контроле...

Вопрос № 74.440
Здравствуйте. Какой командой можно получать значения в определенном шаблоне, т.е число у которого, например, 4 знака после запятой.
Я пользуюсь: FloatToStrF(x,ffGeneral,6,4); Но он почему-то не всегда даёт правильный результат. Может быть есть другие способы?
Отправлен: 06.02.2007, 17:16
Вопрос задал: Иванов Михаил Викторович (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Иванов Михаил Викторович!
Есть функция Format, которую можно использовать с любых случаях:

Format('%8.2f', [123.456]);

В хелпе целый вагон форматов этой функции
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 06.02.2007, 17:28

Отвечает: sir henry
Здравствуйте, Иванов Михаил Викторович!
Это потому что тип Float сам по себе неточный. Специально для окончательно обезумевших от типа Float бухгалтеров, у которых к концу года из-за этого типа накапливались немерянные убытки :) , придумали тип Currency который имеет как раз 4 знака после запятой, но строится на основе 64-битного целого. Поэтому всегда точно, как в аптеке. :)
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 06.02.2007, 17:37

Отвечает: Gh0stik
Здравствуйте, Иванов Михаил Викторович!

Рекомендую Вам пользоваться функцией Format().
function Format(const Format: string; const Args: array of const) : string;

Первым параметром функции выступает форматирующая строка. Это обычная текстовая строка, но в ней на нужных местах стоят специальные символы, которые определяют, какие и как туда будут подставлены параметры.

Второй параметр функции Format называется списком аргументов. Он и содержит "вставляемые" в форматирующую строку параметры. Обратите внимание, что этот открытый массив имеет тип array of const, и в нем может передаваться переменное число разнотипных параметров.

Более подробно о параметрах и возможностях функции можно прочитать по ссылке http://psf.grsu.by/UchProc/konspekt/delphi/ch05/ch03 (также рассмотрены примеры использования).

Good Luck!!!

---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 06.02.2007, 17:52

Отвечает: Базанов Иван Александрович
Здравствуйте, Иванов Михаил Викторович!
Есть еще Format - практически аналог сишного sprintf()
Первый параметр - строка форматирования, потом массив значений, которые нужно преобразовать в строку

---------
Программист ошибается дважды: первый раз при рождении, второй при выборе профессии
Ответ отправил: Базанов Иван Александрович (статус: 4-ый класс)
Ответ отправлен: 06.02.2007, 18:04

Отвечает: Химяк Виктор Васильевич
Здравствуйте, Иванов Михаил Викторович!
Пример:
FormatFloat('0.00',Fields[0].AsFloat).//Fields[0].AsFloat - это у меня поле из набора данных.
Вместо '0.00' поставте '0.0000'.
Ответ отправил: Химяк Виктор Васильевич (статус: 3-ий класс)
Ответ отправлен: 06.02.2007, 21:59


Вопрос № 74.484
Здравствуйте !
Скажите а как можно совершить звонок через модем на определенный номер телефона ?
Хоть подскажите где почитать и разузнать про ЭТО поподробнее ....

С Уважением !!!
info@kotoff.info
Отправлен: 06.02.2007, 21:45
Вопрос задал: Василь КотоФФ (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, Василь КотоФФ!
1. На русфаке поиском воспользоваться
2. Читать в MSDN про TAPI
3. Идти на www.codeproject.com за исходниками разного рода.

Успехов.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Профессионал)
Адрес: Санкт-Петербург
WWW: http://www.sport-diary.ru
----
Ответ отправлен: 06.02.2007, 22:02


Вопрос № 74.536
Вопрос по Делфи, как в ShellTreeView сделать так чтоб пользоваватель не мог переименовывать ни какие элементы отображаемые в этом контроле
Отправлен: 07.02.2007, 10:04
Вопрос задал: Jakoni (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gladiator
Здравствуйте, Jakoni!
Например, по правой клавише делать следующее:

procedure TForm1.FolderListMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var P: TPoint;
S: string;
begin
P:=ClientToScreen(Point(X,Y));
S:='';
if Button = mbRight then begin
with FolderList do begin
Select(FolderList.GetNodeAt(X,Y));
if Selected.Level>1 then begin
if Folders[Selected.AbsoluteIndex].IsFolder then S:='*.*';
SelectedPath:=Folders[Selected.AbsoluteIndex].PathName+S;
Popup1.Popup(P.X,P.Y);
end;
end;//with FolderList
end;
end;
Ответ отправил: Gladiator (статус: 8-ой класс)
Ответ отправлен: 07.02.2007, 13:27
Оценка за ответ: 3
Комментарий оценки:
немного не то, я уже отключил всплытие контекстного меню а вот по двойному щелчку, с паузой можно переименовать файл как отключить вот это

Отвечает: Coupler
Здравствуйте, Jakoni!
Напишите это в событии OnEditing:
allowedit:=false;
Т.е.событие OnEditing будет представлено в виде:
procedure TForm1.ShellTreeView1Editing(Sender: TObject; Node: TTreeNode;
var AllowEdit: Boolean);
begin
allowedit:=false;
end;
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 07.02.2007, 14:51
Оценка за ответ: 5
Комментарий оценки:
отлично помогло спасибо огромное


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.44 beta от 26.01.2007
Яндекс Rambler's Top100

В избранное