Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34

Нужна помощь. Не могу заставить работать.

05.04.2012, 00:10. Показов 3146. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
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
unit LKardano;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, jpeg;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label8: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit5: TEdit;
    Button1: TButton;
    Image1: TImage;
    Label2: TLabel;
    Image2: TImage;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label6: TLabel;
    Label7: TLabel;
    Edit4: TEdit;
    Label9: TLabel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);  
    procedure Button2Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
procedure RRZ;   
var
       K,Cef,d,Rp: real; 
begin
       K   :=StrToFloat(Form1.Edit1.Text);
       Cef :=StrToFloat(Form1.Edit2.Text);
       d   :=StrToFloat(Form1.Edit3.Text);
       Rp  := (K*Sqrt(Cef/d));
 
  Form1.Edit5.Text := FloatToStr(Rp);
 
end;
 
procedure Ves;   
var
       C,Kef,Cef: real; 
begin
       C   :=StrToFloat(Form1.ComboBox1.Text);
       Kef :=StrToFloat(Form1.ComboBox2.Text);
       Cef := (C*Kef);
  
  Form1.Edit4.Text := FloatToStr(Cef);
 
end;
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);    
 
      begin
        RRZ;
 
      end;
 
procedure TForm1.Button2Click(Sender: TObject);     
    begin
       Ves;
 
     end;
end.
Добавлено через 2 минуты
Суть такая есть два combobox и нужно произвести умножение выбранных значений из них, т.е. перемножить выбранные значения двух комбобоксов. Не могу додуматься как
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI".
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.04.2012, 00:10
Ответы с готовыми решениями:

Не могу заставить работать
Вот код, почему не хочет работать? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...

Не могу заставить серву работать
Добрый день! Точнее не то, что не могу, стандартные примеры работают на ура! Не могу запустить свой код. Задача была отказаться от...

Не могу заставить работать в X16
Хоть убей пишет что и слот и видео карта работают в X8 3.0 хотя и слот и видеокарта X16 Видеокарта Saphire PULSE RX560 4GB без...

31
51 / 46 / 8
Регистрация: 18.05.2011
Сообщений: 497
06.04.2012, 01:00
Студворк — интернет-сервис помощи студентам
а как ты проверяешь что не реагирует?
Добавь и потом если не надо удалишь или закомментируешь:
Delphi
1
Showmessage(Perem);
Добавлено через 28 секунд
после
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.ComboBox3Change(Sender: TObject);
begin
case form1.ComboBox3.ItemIndex of  
0:Perem := 're';  
1:Perem := 'tr'; 
end; 
Showmessage(Perem); //сюда
end;
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
06.04.2012, 01:26  [ТС]
Цитата Сообщение от paxan86 Посмотреть сообщение
Код Delphi
1
Showmessage(Perem);
а это куда?

Добавлено через 54 секунды
ну я проверяю запускаю и не чего нет так и проверяю
0
51 / 46 / 8
Регистрация: 18.05.2011
Сообщений: 497
06.04.2012, 01:27
после
Delphi
1
2
3
4
case form1.ComboBox3.ItemIndex of  
0:Perem := 're';  
1:Perem := 'tr'; 
end; Сюда!
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
06.04.2012, 01:27  [ТС]
а понял сейчас проверю
0
51 / 46 / 8
Регистрация: 18.05.2011
Сообщений: 497
06.04.2012, 01:29
так ты нечего и не увидишь... там только в перменную значения помещяются... а с помощью
Delphi
1
Showmessage(Perem);
можно посмотреть что помещяется...
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
06.04.2012, 01:29  [ТС]
при выборе параметра появляется окно со значением именем не в самом комбобоксе
0
51 / 46 / 8
Регистрация: 18.05.2011
Сообщений: 497
06.04.2012, 01:35
значит работает) а что нужно ещё раз объясни..

Добавлено через 3 минуты
а вроде понял щас))
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
06.04.2012, 01:38  [ТС]
Нужно что бы когда открываем комбобох рядом со значением было имя
ну типо того

100 - Тротил
125 - Гексаген
250 - Тетрил

Но опять же что бы значения можно было перемножить, то есть что бы расшифровка чисел их имени не мешали
0
51 / 46 / 8
Регистрация: 18.05.2011
Сообщений: 497
06.04.2012, 14:55
заместо того кода напиши:
перепиши..
Delphi
1
2
3
4
5
6
7
8
Var
  ss:string;
  i : Byte;
begin
ss :=form1.ComboBox2.Items[form1.ComboBox2.ItemIndex];
for i:= 1 to length(ss)-1 do
  if ss[i]='-' then
    Perem :=StrToInt(copy(ss,0,i-2));
В глобальном Var сделай perem типа integer если она тебе нужна для расчётов...
Delphi
1
Perem : Integer;
Добавлено через 7 минут
Но этот код работает строго в такой последовательности:
Число_Пробел_Тире_.........
Утебя такая запись будет?
Code
1
250 - Тетрил
Добавлено через 12 часов 49 минут
ну 2ой вариант:
В зависимости от строки в Combobox присваивать переменной значение:
код для этих строк.
Code
1
2
3
100 - Тротил
125 - Гексаген
250 - Тетрил
Delphi
1
2
3
4
5
case form1.ComboBox3.ItemIndex of  
0:Perem := 100;  
1:Perem := 125;
2:Perem := 250; 
end;
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
07.04.2012, 09:59  [ТС]
paxan86, дело в том надо что бы значение к примеру 100 - Тетрил мы смогли потом сложить к примеру с 200 - Тротил и получаем 300

Добавлено через 2 часа 43 минуты
а возможно в combobox сделать две колонки

диаметр / параметр
100 / куп

?

Добавлено через 5 часов 9 минут
Delphi
1
2
3
4
5
6
7
8
Var
* ss:string;
* i : Byte;
begin
ss :=form1.ComboBox2.Items[form1.ComboBox2.ItemIndex];
for i:= 1 to length(ss)-1 do
* if ss[i]='-' then
* * Perem :=StrToInt(copy(ss,0,i-2));[/quote]
не могу заставить работать
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
07.04.2012, 10:13  [ТС]
Delphi
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
103
104
105
106
107
108
109
110
111
112
113
114
115
unit LKardano;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, jpeg;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label8: TLabel;
    Edit2: TEdit;
    Button1: TButton;
    Image1: TImage;
    Label2: TLabel;
    Image2: TImage;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label6: TLabel;
    Label7: TLabel;
    Edit4: TEdit;
    Label9: TLabel;
    Button2: TButton;
    ComboBox3: TComboBox;
    ComboBox4: TComboBox;
    Edit1: TEdit;
    Image3: TImage;
    Edit3: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
    Perem : integer;
 
implementation
///////////////////////////////////////////////////////////////////////////////
procedure TForm1.ComboBox1Change(Sender: TObject);
 
Var
  ss:string;
  i : Byte;
begin
ss :=form1.ComboBox1.Items[form1.ComboBox1.ItemIndex];
for i:= 1 to length(ss)-1 do
  if ss[i]='-' then
    Perem :=StrToInt(copy(ss,0,i-2));
 
     end;
procedure Ves;   {Алгоритм -
                        Вес заряда ВВ в боеприпасе, приведенный к весу тротила}
var
       C,Kef,Cef: real; {Переменные}
begin
       C   :=StrToFloat(Form1.ComboBox1.Items[form1.ComboBox1.ItemIndex]);
       Kef :=StrToFloat(Form1.ComboBox2.Items[form1.ComboBox2.ItemIndex]);
       Cef := C*Kef;///ФОРМУЛА ВЫЧИСЛЕНИЯ///
Form1.Edit4.Text := FloatToStr(Cef);
end;
///////////////////////////процедура выполнения////////////////////////////////
procedure TForm1.Button2Click(Sender: TObject);     {Инициализация вычисления}
begin
Ves;
Form1.Edit2.Text := (Form1.Edit4.Text); ///дублирование значения///
end;
 
procedure RRZ;   {Алгоритм -
                        Радиус разрушения зданий в городе при взрыве ОСП}
var
       Cef,d,Rp,Rp2,K,Sp: real; {Переменные}
begin
       K   :=StrToFloat(Form1.ComboBox3.Items[form1.ComboBox3.ItemIndex]);
       Cef :=StrToFloat(Form1.Edit2.Text);
       d   :=StrToFloat(Form1.ComboBox4.Items[form1.ComboBox4.ItemIndex]);
       Rp  := (K*Sqrt(Cef/d));///радиус разрушения зданий в городе при взрыве ОСП///
       Rp2 := (Rp*Rp);        ///квадрат радиуса разрушения зданий в городе при взрыве ОСП///
       Sp  := (Pi*Rp2);       ///площадь разрушения///
       Form1.Edit1.Text := FloatToStr(Rp);   ///дублирование значения///
       Form1.Edit5.Text := FloatToStr(Rp2);  ///квадрат///
       Form1.Edit3.Text := FloatToStr(Pi);   ///Заполнение числом ПИ///
       Form1.Edit6.Text := FloatToStr(Sp);   ///Заполнение результатом Sp///
end;
///////////////////////////процедура выполнения////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);     {Инициализация вычисления}
begin
RRZ;
end;
///////////////////////////////////////////////////////////////////////////////
procedure TForm1.Button3Click(Sender: TObject);
begin
MessageDlg ('ПРОГРАММА НЕ ДОДЕЛАНА', mtInformation, [mbOk], 0);
end;
 
{$R *.dfm}
 
end.


Не хочет он воспринимать запись в комбобоксе тоесть есть запись '28 - Тротил', в комбобоксе запись отображается, выбирается, но выбранная запись верней над ней нельзя выполнить умножение
принцип такой программы
Миниатюры
Нужна помощь. Не могу заставить работать.  
0
51 / 46 / 8
Регистрация: 18.05.2011
Сообщений: 497
07.04.2012, 18:06
ты не используешь Perem поэтому ошибка.т.к. в
Delphi
1
Form1.ComboBoxN.Items[form1.ComboBoxN.ItemIndex];
хранится текст а не число.
Используй лучше этот код:
Delphi
1
2
3
4
5
case form1.ComboBox3.ItemIndex of  
0:Perem := 100;  
1:Perem := 125;
2:Perem := 250; 
end;
на замен:
Delphi
1
2
3
4
5
6
7
8
Var
  ss:string;
  i : Byte;
begin
ss :=form1.ComboBox1.Items[form1.ComboBox1.ItemIndex];
for i:= 1 to length(ss)-1 do
  if ss[i]='-' then
    Perem :=StrToInt(copy(ss,0,i-2));
Добавлено через 1 минуту
а в том месте где ты умножаешь замени
Delphi
1
Form1.ComboBoxN.Items[form1.ComboBoxN.ItemIndex];
на
Delphi
1
Perem
Добавлено через 5 минут
наверно вот тут
Delphi
1
2
3
4
5
6
7
8
9
10
procedure Ves;   {Алгоритм -
                        Вес заряда ВВ в боеприпасе, приведенный к весу тротила}
var
       C,Kef,Cef: real; {Переменные}
begin
       C   :=StrToFloat(Form1.ComboBox1.Items[form1.ComboBox1.ItemIndex]);
       Kef :=StrToFloat(Form1.ComboBox2.Items[form1.ComboBox2.ItemIndex]);
       Cef := C*Kef;///ФОРМУЛА ВЫЧИСЛЕНИЯ///
Form1.Edit4.Text := FloatToStr(Cef);
end;
замени на:
Delphi
1
2
3
4
5
6
7
8
9
10
procedure Ves;   {Алгоритм -
                        Вес заряда ВВ в боеприпасе, приведенный к весу тротила}
var
       C,Kef,Cef: real; {Переменные}
begin
       C   :=perem;
       Kef :=StrToFloat(Form1.ComboBox2.Items[form1.ComboBox2.ItemIndex]);
       Cef := C*Kef;///ФОРМУЛА ВЫЧИСЛЕНИЯ///
Form1.Edit4.Text := FloatToStr(Cef);
end;
Добавлено через 12 минут
Цитата Сообщение от Siberia Bear Посмотреть сообщение
а возможно в combobox сделать две колонки
диаметр / параметр
100 / куп
?
а насчёт этого, нет нельзя 2 колонки сделать.Самому придётся компонент писать.

Добавлено через 36 секунд
ну или поискать и скачать который больше всех подходит.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2012, 18:06

Не могу заставить tor работать
Скачал себе пакеты tor на убунту, но по факту ничего не изменилось. Как узнать причину, почему тор не работает?

Не могу заставить работать отладку
Вылезает такая ошибка, пробовал переключать gdb и cdb, никак не идет

Не могу заставить работать TIM8
Приветствую. Не могу заставить работать TIM8 в STM31F103ZET6. Начитался разных веток форумов, создал небольшой проект , видно что...

Не могу заставить С++ работать с dll
Здравствуйте, уважаемые. Столкнулся сегодня с проблемой, которая, мягко говоря, поставила меня в тупик. Есть небольшая dll-ка написанная на...

Не могу заставить работать move_upload_file
делаю электронную библиотеку для колледжа застрял на моменте загрузки файла на сервер Надо загружать книги на сервер в папку /books/pdf ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru