![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос про массив. [D7, XP]
Meganop © (2006-10-18 23:55:00)Господа программеры!
У меня такой вопрос: как можно загонять в символьный массив только введённый символ в Edit1, т.е.:
Вводиться: "Ёлка";
Массив: a[1]='Ё', a[2]='л', a[3]='к', a[4]='а'.
Спасибо.
RASkov (2006-10-19 19:54:00) [1]Блин, тег не тот... не хотел "громко"... чесно. Сорри.
RASkov (2006-10-19 19:53:00) [2]> [13] Barloggg (19.10.06 09:13)
Да действительно, не заметил:) тогда уж так лучше:):
var Ch: array of Char;
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
begin
SetLength(Ch, Length(Edit1.Text));
for i:=0 to Length(Edit1.Text) do
Ch[i]:=Edit1.Text[i +1];
end;
Ну или сразу осваивать Copy, Move... из [7]
RASkov (2006-10-19 11:00:00) [3]
> evvcom © (19.10.06 09:09) [12]
И чем же это плохо, имею ввиду сам принцип
> У меня такой вопрос: как можно загонять в символьный массив
Для знакомства с массивами и работы со строками как с массивами для начало нормально:)
Barloggg (2006-10-19 09:13:00) [4]к тому же в [4] есть ошибка
надо либо так Ch[i-1]:=edit.text[i];
либо так SetLength(Ch, Length(Edit1.Text)+1);
:)
а по мне так [4] лучше :)
evvcom (2006-10-19 09:09:00) [5]> [4] RASkov (19.10.06 00:03)
> for i:=1 to Length(Edit1.Text) do
> Ch[i]:=Edit1.Text[i];
Не учи детей плохому.
Loginov Dmitry (2006-10-19 07:53:00) [6]Str {string} := Edit1.Text
В дальнейшем Str использовать в качестве массива.
Anatoly Podgoretsky (2006-10-19 07:48:00) [7]
> SetLength(Ch, Length(Edit1.Text));
> for i:=1 to Length(Edit1.Text) do
> Ch[i]:=Edit1.Text[i];
Очень надежный путь к AV и порче близ лежащих переменных.
Германн (2006-10-19 02:12:00) [8]
> [4] наглядней
А кто просил "наглядность"?
Кстати никто не сможет поспорить с твоим [1] и в наглядности в т.ч. Имхо, зачем было постить ещё и [4]?
RASkov (2006-10-19 01:09:00) [9]> [7] Германн © (19.10.06 00:33)
Вопрос в "Начинающим" - [4] наглядней:) для начала.
Германн (2006-10-19 00:33:00) [10]
> Но вместо [4] лучше наверное все таки [1]. Хотя смотря для
> каких целей в массив нужно...
Если волнуют цели, то вместо [4] лучше
Move(Edit.Text[1],MyЁлкаArray[1],Length(Edit.text));
RASkov (2006-10-19 00:20:00) [11]Но вместо [4] лучше наверное все таки [1]. Хотя смотря для каких целей в массив нужно...
MegaNop (2006-10-19 00:17:00) [12]Не успел написать, а вы уже ответили. Спасибо, попробую.
RASkov (2006-10-19 00:03:00) [13]или так
var Ch: array of Char;
procedure TForm1.ButtonClick(..);
var i: Integer;
begin
SetLength(Ch, Length(Edit1.Text));
for i:=1 to Length(Edit1.Text) do
Ch[i]:=Edit1.Text[i];
end;
Schamane (2006-10-19 00:02:00) [14]
> А вообще не представляю, зачем такое надо делать?
:) - Точнее понадобиться?
Schamane (2006-10-19 00:01:00) [15]Написать в onChange такой обработчик, что будет Caption загоняться в «символьный массив». Ксатати забей на самопальные «символьные массивые», и используй уж тогда PChar. Тогда совсем просто: Массив:= PChar(Edit1.Caption);
А вообще не представляю, зачем такое надо делать?
RASkov (2006-10-18 23:59:00) [16]Он и так "массив". Т.е. к нему можно обращаться так
Ch:=Edit1.Text[2]; //Ch=л