![]() |
|
|
|
|
#1
|
|||
|
|||
|
Я вот как-то не могу понять одной истины. Как правильно работать с переменными? Справку листал, но что-то как-то не помогло. Пытался реализовать простейший пример, но ни как...
В сообщении должен был отобразится текст переменной, номер которой указан пользователем. Код:
var
Form1: TForm1;
var new : array [1..3] of string;
var a : string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
a:=Edit1.Text;
ShowMessage(new[a]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
new[1]:='1';
new[2]:='2';
new[3]:='3';
end; |
|
#2
|
|||
|
|||
|
Код:
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(new[IntToStr(Edit1.Text)]); end; a - текст в твоем примере, а не число. |
|
#3
|
||||
|
||||
|
Наверное
Код:
ShowMessage(new[StrToInt(Edit1.Text)]) |
|
#4
|
|||
|
|||
|
Цитата:
совсем я с головой дружить перестал) в отпуск пора. действительно strtoint |
|
#5
|
|||
|
|||
|
Хорошо. А как быть если используешь обычную переменную?
var a : string; |
|
#6
|
||||
|
||||
|
тип String - это простая строка, и если даже там записано только число - для компьютера это остается все равно строкой. И если надо использовать это число для каких-то расчетов - пользуйтесь функцией конвертации строкового типа в числовой
StrToInt(<переменная>) для целых чисел StrToFloat(<переменная>) для дробных В вашем случаи: Код:
ShowMessage(new[StrToInt(a)]); |
|
#7
|
|||
|
|||
|
Нет. Я о том что если будет другой тип переменных?
Код:
var
Form1: TForm1;
var x,a1,a2,a3 : string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
x:=Edit1.Text;
ShowMessage(a[x]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
a1:='1';
a2:='2';
a3:='3';
end; |