Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi

Модерирует : ShIvADeSt

ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

FAngel



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YurikGL
HelL_Doctor
А почему бы вам не воспользоватся SHFileOperation из ShellApi ? Получите красивое копирование а-ля проводник с летящими папочками и прогрессом ?

Всего записей: 799 | Зарегистр. 04-12-2003 | Отправлено: 07:41 21-02-2005
Larry Laffer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EZH, спасиб. Прикольные компоненты.

Всего записей: 604 | Зарегистр. 09-10-2004 | Отправлено: 16:54 21-02-2005
HelL_Doctor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Каким образом я могу поменять тип переменной не теряя данные хранящиеся в ней.
 
var
forma: String;
forms: Integer;
i:     String;
begin
forms:=random(81);
i:=IntToStr(Forms);
forma:='SpeedButton'+i;
Label1.Caption:=forma;
forma.Glyph.loadFromFile('kot.bmp');
end;
 
Выдаётся ошибка 'Record, object or class type required'. Помогите, пожалуйста.

Всего записей: 67 | Зарегистр. 30-11-2004 | Отправлено: 19:09 21-02-2005
Dimonka



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HelL_Doctor
Дельфи - это тебе не ПХП
Для того, чтобы обратиться к компоненту по его имени существуют специальные методы.  
Например такой:
FindComponent(froma)
 
И всё вместе это будет звучать примерно так:
forma:='SpeedButton'+i;  
TSpeedButton(FindComponent(froma)).Glyph.loadFromFile('kot.bmp');  
 
А что, ты правда восемьдесят кнопок на форме создал? ))

Всего записей: 398 | Зарегистр. 03-01-2002 | Отправлено: 19:33 21-02-2005
STEEL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как послать широковещательное сообщение BROADCAST ? Знаю, что нужно юзать ф-ю SendMessage, но из-за малоопытности чтоли, не догоняю. Пример если можно!
 
Добавлено:
В самом начале топика был вопрос касающийся моего, необходимо например из Edit1.Text вставить текст в место, где установлен курсор, причем здесь keybd_event я так и не разобрал.

Всего записей: 2293 | Зарегистр. 06-01-2002 | Отправлено: 19:47 21-02-2005
HelL_Doctor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dimonka
Ну

Всего записей: 67 | Зарегистр. 30-11-2004 | Отправлено: 20:50 21-02-2005
JustAMaaan

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
STEEL

Цитата:
Как послать широковещательное сообщение BROADCAST ? Знаю, что нужно юзать ф-ю SendMessage, но из-за малоопытности чтоли, не догоняю. Пример если можно!

 
Вместо хэндла окна напиши константу HWND_BROADCAST

Всего записей: 221 | Зарегистр. 17-09-2004 | Отправлено: 05:41 22-02-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
STEEL

Цитата:
В самом начале топика был вопрос касающийся моего, необходимо например из Edit1.Text вставить текст в место, где установлен курсор, причем здесь keybd_event я так и не разобрал.

Потому что keybd_event как раз эмулирует нажатие клавиш на клавиатуре. Если курсор стоит в стандартных виндовых контролах типа Мемо или едита то можно туда текст послать при помощи WM_SETTEXT а если курсор стоит в ричедите или Ворде, то только при помощи keybd_event. Поверь мне, я экспериментировал с разными способами.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 07:28 22-02-2005
Skipper



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, как в Delphi 2005 можно установить KOL и MCK и можно ли устанавливать отдельные pas файлы, как это было в Delphi 6-7
 

Всего записей: 961 | Зарегистр. 23-06-2002 | Отправлено: 14:55 03-03-2005
dela



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как постоянно (при запуске проекта) отследить что в буфер была помещена информация, точнее урл, и далее запустить процедуры?
 
Добавлено:
как постоянно (при запуске проекта) отследить что в буфер была помещена информация, точнее урл, и далее запустить процедуры?

Всего записей: 43 | Зарегистр. 16-02-2004 | Отправлено: 18:51 03-03-2005
STEEL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Необходимо сделать следующее действие

Код:
 
procedure TForm1.Button1Click(Sender: TObject);
begin
X := (((Y*Z) +100)/S)*100;
Edit1.Text := IntToStr(X);
end;
 

 
[Error] Unit1.pas(48): Incompatible types: 'Integer' and 'Extended'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

 
Не понимаю, почему Extended, а если и Extended, то коим образом я потом присвою Edit1 этот тип?
 
Добавлено:
Пардон, FloatToStr ;=-D
 
Добавлено:
как проверить, если в Edit1 ничего не ввели, значит считать X:= X=(S : ((Y*Z)+100))*100 , если Edit2 - то Y=((S-X) : Z) : (X : 100)
 
Также, какой тип лучше использовать, чтобы посчитать всё это и как поотом вывести? В те же самые Edit-ы. Желательно использовать Integer, даже если числа получаются нецелочисленные, всё равно нужны только округлённые!

Всего записей: 2293 | Зарегистр. 06-01-2002 | Отправлено: 00:24 04-03-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Также, какой тип лучше использовать, чтобы посчитать всё это и как поотом вывести? В те же самые Edit-ы. Желательно использовать Integer, даже если числа получаются нецелочисленные, всё равно нужны только округлённые!

тебе надо что то вроде этого
var
   X,Y:Real;
if Edit1.Text<>'' then begin
   X:=(S : ((Y*Z)+100))*100;
   Edit1.Text:=Round(X);
end;
if Edit2.Text<>'' then begin
  Y=((S-X) : Z) : (X : 100);
  Edit2.Text:=Round(Y);
end;
Вот только я не догнал что ты имел в виду под : и не свосем понял, что тебе надо, поэтому написал как понял. Если поподробнее опишешь проблему, попонятнее и может быть ближе к истине отвечу, а так только способ вывода округленного значения выражения в едит. (кстати можно было сразу выражение считать в Round типа Round(X/100);

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:12 04-03-2005
STEEL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
вот как условия задачи мои звучат:  
edit1 (x) вклад  
edit2 (y) процент  
edit3 (z) срок хранения (г.)  
edit4 (s) итоговая сумма  
 
X=(S : ((Y*Z)+100))*100
Y=((S-X) : Z) : (X : 100)
Z=(S-X) : ((X : 100)*Y)  
S=X+((X : 100)*Y)*Z
 
: - это деление...
 
По этим выражениям рассчитываются все представленные значения. Как я уже говорил - по трем известным вычисляется одна неизвестная. Вклад осуществляется в рублях, обычное число от 1-го и до бесконечности, итоговая сумма то же самое, процент от 1 до 100, срок хранения от 1-го года и до бесконечности, так же срок хранения только в годах, не может быть значений типа 0,8 или 2,4 т.к. в году 12 месяцев, да и лишний головняк никчему.

Всего записей: 2293 | Зарегистр. 06-01-2002 | Отправлено: 10:35 04-03-2005
STEEL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
if Edit1.Text<>'' AND Edit2.Text<>'' AND Edit3.Text<>''
then begin Button1.Enabled:=true end;

 
Operator not applicable to this operand type
В чем дело? И подскажи, куда лучше вставить эту проверку, в какое событие?

Всего записей: 2293 | Зарегистр. 06-01-2002 | Отправлено: 01:10 05-03-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Возьми каждое неравенство в скобки.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 01:32 05-03-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
edit4 (s) итоговая сумма

Это лучше сделать не едитом а Label, так как она все равно расчитывается через остальные. Делаешь в одном едите процедуру OnKeyPress

Цитата:
if (Edit1.Text<>'') AND (Edit2.Text<>'') AND (Edit3.Text<>'')  
then begin Button1.Enabled:=true end;

а у остальных едитов событие OnKeyPress ссылаешь на него.
А при нажатии на кнопку уже делаешь расчет. Хотя можно сделать автоматический расчет нечто типа такого. Все тоже самое только без кнопки

Цитата:
if (Edit1.Text<>'') AND (Edit2.Text<>'') AND (Edit3.Text<>'')  
then begin  
X=(S : ((Y*Z)+100))*100  
Y=((S-X) : Z) : (X : 100)  
Z=(S-X) : ((X : 100)*Y)  
S=X+((X : 100)*Y)*Z
здесь вывод их куда надо
 

Вот только странно х зависит от z а z зависит от x. То есть если z вводится тогда ее нельзя делать меткой а тоже едитом, как ты и написал.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:33 05-03-2005
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
STEEL
а вычислять нужно только итоговую сумму (тогда вроде как достаточно одной последней формулы) или любую переменную по трем другим?


----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 15:10 05-03-2005
2Polkan



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что надо:
Написать прогу на основе сокетов...  
 
Клиент отправляет выбранный текст на сервер... Допустим, "1". Что надо сделать, чтобы сервер ждал этого события? Т.е. ничего не делал, пока не получил "1"? А если получил, выполнить определенное действие...

Всего записей: 435 | Зарегистр. 20-11-2004 | Отправлено: 15:40 05-03-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
организовать поток. он и будет ждать. Если на делфе, то стоит посмотреть в сторону примера Delphi7\Demos\Indy\IdTCPDemo, там клиент и сервер. (по дефолту эти демки не ставлятся, их нужно качать.  в папке Delphi7\Demos\Indy\ есть документик, там сказано откуда)

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 16:50 05-03-2005
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2Polkan
Есть пример:
X:\XXX\Borland\Delphi7\Demos\Internet\NetChat
(сетевой чат). Как мне кажется, при минимальных доработках даст нужный результат.

Всего записей: 832 | Зарегистр. 30-01-2002 | Отправлено: 17:29 05-03-2005
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi
ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru