ПОМОГИТЕ НОВИЧКУ

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

RoKon
Сообщения: 82
Зарегистрирован: 27 мар 2005, 12:24
Откуда: Saransk City
Контактная информация:

1.
попробовал и RealToStr и ReToStr и всё равно ошибка
. Говорил же уже. Для проверки существования той или иной процедуры/функции читай хелп, или пользуйся сочетанием Ctrl+ Space. Набрал в редакторе кода RealTo затем нажал Ctrl+ Space и тебе все англицким по белому покажут че можно юзать.
2.
Form2 скрытая. И как мне её открыть при помощи на жатия на клаве кнопки "Y"??? С учётом того что у меня Delphi 3 иникаких Апликейшн Инвестов у меня нет
Форма именно скрытая? Т.е. она уже сущесвует, т.е. создается автоматически при загрузке формы? Тогда Form2.Show или Form2.visible:= true. Но вопрос я так понял у тебя где это написать. Очень удобны в использовании ActionList, назначаешь и горячие клавиши, и иконку, и действие при вызове,... можно сопоставить один Action с несколькими объектами, с кнопками на разных панелях, в пунктах меню,...
The trurh is out there...
YurikGL
Сообщения: 142
Зарегистрирован: 16 фев 2005, 21:54
Откуда: Уфа
Контактная информация:

Всмысле Form2.Show???? Мне ж надо не просто так а чтоб при помощи КНОПКИ на клавиатуре!!! Вот как знаеш типа горячие клавиши. Поподробнее чё надо делать куда чё писать и т.д.
Если по нажатию клавиши во всей системе, то тебе нужны хуки. Это - сложно.
Если по нажатию короткой клавиши в форме (Form1), то выставляем у формы (Form1) KeyPreview в True и на событии OnKeyPress формы (Form1) пишем Form2.show
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

Volk писал(а):
P.S. а вот про Format можно пожалуйсто по подробнее.
гы :) как тебе не устают тут все писать - читай уже таки хэлп! Энта функция преобразовывает в строку разные аргументы, типа того:

s := Format('целое - %d и дробное - %.2f', [IntValue, FloatFalue]);
Volk
Сообщения: 31
Зарегистрирован: 01 апр 2005, 16:01
Откуда: Новочеркасск

YurikGL это всё прикольно:
var
C:real;
Co:real;
begin
C:=StrToFloat(Edit1.Text);
Co:=Round(Cos(C)*1000)/1000;
Edit1.Text:=FloatToStr(Co)
да вот только почемуто при вычислении синуса 90 градусов он пишит вместо единицы 0,894000000000233 почему???? И ещё чё мне делать с тем что при вычислении 8,3+2 он пишит
10,3000000000029 как мне это исправить если на сложении у меня стоит
procedure TForm1.BRClick(Sender: TObject);
var
index2:real;
Sum:real;
EndCount:real;
begin
if Label1.Left=88 then
Edit2.Visible:=False;
Edit1.Visible:=True;
EndCount:=StrToFloat(Edit1.Text);
index2:=StrToFloat(Edit2.Text);
Sum:=Index2+EndCount;
if Label1.Left=88 then
Edit1.Text:=FloatToStr(Sum);
А насчёт кнопки YurikGL всё правильно , но мне надо чтоб именно по кнопк Y форма выскакивала а не по любой. И никакого ActionList у меня вроде нет (где он лежит я чёто не нашёл).
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

синуса 90 градусов он пишит вместо единицы 0,894000000000233
во всеми нами любимой справке, где есть ещё и примеры ;) отчётливо прослеживается задание угла в *радианах*, а ты поди sin(90) пытаешься вычислить?
10,3000000000029 как мне это
рекомендую таки воспользоваться функцией format так:
edit1.text := Format('%.2f', [Sum]);
модификатор %f используется для отображения "фиксированного" вещественного формата (без экспоненты). А ".2" между символами означает вывод только 2 знаков после запятой
Изображение
YurikGL
Сообщения: 142
Зарегистрирован: 16 фев 2005, 21:54
Откуда: Уфа
Контактная информация:

рекомендую таки воспользоваться функцией format так:
edit1.text := Format('%.2f', [Sum]);
Абсолютно правильный совет.
А я просто привык по старинке через раунд делать...
А насчёт кнопки YurikGL всё правильно , но мне надо чтоб именно по кнопк Y форма выскакивала а не по любой.
Глянь, там в параметрах вызываемого события есть параметр key, если не ошибаюсь...
Так вот и напиши

if key=#13 (ентер) then form2.show;

Вообще, там даже какие-то константы были, но я их не помню.

Для того, что-бы узнать, какая клавиша какой код имеет достаточно прогнать в пошаговом режиме процедуру onKeyPress и среди Watch посмотреть текущее значение Key.

Более опытные скажут, что есть хелп, константы и таблицы символов, но использование watch является наиболее надежным способом найти код клавиши...
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

Способов, на самом деле, много (включая копание в исходниках VCL) и любой из них хорош, если приводит к нажному результату! :)
Watch - весчь "архиполезная" (с)
Изображение
Volk
Сообщения: 31
Зарегистрирован: 01 апр 2005, 16:01
Откуда: Новочеркасск

Да точно в радианах а я вот сделал чтоб в градусы переводила вот:
procedure TForm1.BitBtn4Click(Sender: TObject);
var
C:real;
Co:real;
CZ:real;
begin
C:=StrToFloat(Edit1.Text);
CZ:=(3.1415926535897932384626433832795/180)*C;
Co:=Cos(CZ);
Edit1.text := Format('%.5f', [Co]);
Тут чистая алгебра перевод радиан в градусы. А за edit1.text := Format('%.2f', [Sum]); Игорь тебе БОЛЬШОЕ спасибо!!
Ну может кто чё нить раскажит кто какие программы делает а то всё я да я со своим калькулятором:-)
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

про между прочим есть ещё функция pi - это чтобы столько знаков не вводить ;)
Изображение
Volk
Сообщения: 31
Зарегистрирован: 01 апр 2005, 16:01
Откуда: Новочеркасск

АА! Люди помогите! Я знаю программеры люди не глупые! И может уто поможет вот в каком деле. У меня на мышу вот какой вирус напал: что типа у неё левая кнопка всё время нажата. По рабочему столу водиш а оно квадраты юзает! И так периодами то вроде нормально то опять! Чё это??? Касперским проверял (он с седнешними обновлениями) ЧЁ ДЕЛАТЬ?!?!?!?
Закрыто