![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Извините, я не нашёл темы насчёт этого. Статьи тоже.. =( может быть плохо искал
Скажите, как сделать нормальное выпадающее меню (ComboBox). Я не могу найти, как включить туда выбираемые элементы... Или это всё уже в коде делать? И ещё - как установить зависимость между выбором в комбобоксе и результатом? |
|
#2
|
||||
|
||||
|
Цитата:
Цитата:
|
|
#3
|
|||
|
|||
|
т.е. Если мне необходимо её задействовать, то пишу
if ItemIndex=3 (например) then... а если вывести, то write (ItemIndex)? |
|
#4
|
||||
|
||||
|
Скорее
Код:
if ComboBox1.ItemIndex = X then ... Код:
Label1.Caption:= 'Выбран номер '+IntToStr(ComboBox1.ItemIndex); Код:
ShowMessage('Выбран номер '+IntToStr(ComboBox1.ItemIndex)); |
|
#5
|
|||
|
|||
|
Вот ещё хотелось бы узнать, как сделать так:
у нас имеется три строковых значения. Надо вывести рандомом только одно из них... заранее спасибо. Нигде не встречал строкового рандома... |
|
#6
|
||||
|
||||
|
Строкового рандома и не существует...
Код:
var
id: integer;
s: string;
begin
s := ''; // Инициализация строки
Randomize; // Перемешиваем...
id := Random (2); // генерируем число от 0 до 2
case id of
0: s := 'text 1';
1: s := 'text 2';
2: s := 'text 3';
end;
// Используем s...
end;Последний раз редактировалось PhoeniX, 04.05.2009 в 15:01. |
|
#7
|
|||
|
|||
|
хм... тема для вопросов на разные темы получилась =)
я непойму, что неправильно в коде? (прога для генерации терактов - создана для онлайновой игры =) ) Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Button1: TButton;
procedure Button1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject);
var
dead: integer;
pain: integer;
id: integer;
event: string;
begin
if ComboBox1.Itemindex = 0 then
dead := Random (60);
pain := Random (80);
event := ''
Randomize;
id := Random (2);
case id of
0: event := 'взрыв в метро';
1: event := 'стрельба в супермаркете';
2: event := 'взрыв заминированного автомобиля';
end;
ShowMessage ('В Австралии произошёл теракт - ',event,'. В результате погибло ',dead,'. Ранено ',pain);
end.Самое интересное, что мне указывают на ошибки в том, что вот здесь => ComboBox1.Itemindex стоит точка |
|
#8
|
||||
|
||||
|
Первое: не вижу закрывающего end для процедуры.
Второе: после Код:
event := '' Третье: в строке Код:
ShowMessage ('В Австралии произошёл теракт - ',event,'. В результате погибло ',dead,'. Ранено ',pain);Строка должна быть Код:
ShowMessage ('В Австралии произошёл теракт - '+event+'. В результате погибло '+IntToStr(dead)+'. Ранено '+IntToStr(pain));После исправления всё скомпилилось и запустилось. ComboBox на форме существует? может изза него ругаться на точку. Последний раз редактировалось PhoeniX, 04.05.2009 в 18:38. |
|
#9
|
||||
|
||||
|
Цитата:
|
|
#10
|
||||
|
||||
|
Да запросто, здесь кусочек кода, там кусочек, глядишь и программа нарисуется. Налицо признаки среднего руководителя, сам не умеет, зато других умеет припахать.
|