Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Вниз

Массив   Найти похожие ветки 

 
Kofey   (2003-02-28 00:42) [0]

Я тока-тока сел за Дельфю.

Глупый и чайниковый вопрос, но он меня волнует.
Имеется массив стринговый из 16 элементов. Можно ли создать массив из едитов и записать в каждый элемент текст из едита:
var s: array[1..16] of string;
Edit: array[1..16] of TEdit;
begin
for i:=1 to 16 do begin
S[i]:=Edit[i].Text

Как бы это сделать?


 
Makhanev A.S.   (2003-02-28 01:08) [1]

Если все Edit"ы на одной форме (Form1) , то есть такой вариант:

var
s: array[1..16] of string;
i:integer;
Edit: TEdit;
begin
for i:=1 to 16 do
begin
Edit := TEdit(Form1.FindComponent("Edit" + s(i)));
if Edit <> nil then Edit.Color := clBlack;
end;


 
jack128   (2003-02-28 01:10) [2]

Для начало надо создать эти 16 едитов..

var s: array[1..16] of string;
Edit: array[1..16] of TEdit;
begin
for i:=1 to 16 do begin
Edit[i] := TEdit.Create(Self);
with Edit[i] do begin
Edit[i].Parent := Self;
Edit[i].Top := i*20+10;
Edit[i].Left := 20;
end;
end;


Только массив Edit нужно вынести за приделы этой функции, чтобы ,ты мог к ниму обратится(например в обработчике Button1OnClick )


 
Makhanev A.S.   (2003-02-28 01:13) [3]

Приведённый выше пример делает цвет каждого Edit"а чёрным (для примера).

Ваш вопрос мне не до конца понятен:

- есть edit"ы на форме - или их нужно создавать в run-time?
- что записывать в TEdit.text?

Чутьё мне подсказывает, что 16 edit"ов нужны для какой-то матрицы... но оно может подводить:)


 
TButton   (2003-02-28 08:02) [4]

а может ну их нафиг ети едиты? для вывода матрицы подойдет мемка. поставь в ней шрифт типа курьера или фикседсус и пиши туда ети стринги memo.lines.add(s);


 
Kofey   (2003-02-28 13:24) [5]

Едиты все на одной форме, в каждый из едитов заносится определенный текст. У каждого иэ едитов свое назначение, но нужно чтобы текст из едитов заносился именно в стринговый массив. А потом переменные из этого массива записываются в реестр. так что с мемкой тут номер не пройдет.


 
Kofey   (2003-02-28 23:54) [6]

Ну никто не поможет что ли?


 
uw   (2003-03-01 00:46) [7]

jack128 © (28.02.03 01:10) уже ответил.


 
jack128   (2003-03-01 15:27) [8]

А я так понял Makhanev A.S. © (28.02.03 01:08) дал более правельныйй ответ
Если этот код нужно истользовать несколько раз, можно оптимизировать так :
TForm1 = class(TForm)
...
private
Edit : Array[1..16] of TEdit;
end;

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
for i:=1 to 16 do
Edit[i] := TEdit(Form1.FindComponent("Edit" + s(i)));
end;

procedure TForm1.Button1Click(Sender: TObject);
var s: array[1..16] of string;
i : integer;
begin
for i:= 1 to 16 do
s[i] := edit[i].text;
end;




Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
6-39436
Чудак
2003-01-23 16:04
2003.03.13
зная Имя определить IP - адрес машины в локальной сети


4-39639
Max2002
2003-01-22 13:19
2003.03.13
Огромное человеческое спаибо msts !!!


3-39213
kalishenko stas
2003-02-20 19:19
2003.03.13
FastReport


1-39336
Tundra
2003-02-28 17:44
2003.03.13
Как выполнить выражение содержащиеся в строке.


3-39197
VIB
2003-02-21 15:14
2003.03.13
DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский