26.05.2019, 01:28 [+3 UTC]
в нашей команде: 3 644 чел. | участники онлайн: 5 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.75 (18.05.2019)
JS-v.1.33 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
25.05.2019, 11:20

Последний вопрос:
26.05.2019, 00:52
Всего: 149693

Последний ответ:
25.05.2019, 14:47
Всего: 258521

Последняя рассылка:
25.05.2019, 19:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
22.11.2009, 21:42 »
Jekaiseburga
Просто на отлично! Не ожидал, что так быстро ответ будет. [вопрос № 174438, ответ № 256814]
08.03.2019, 13:42 »
dar777
Это самое лучшее решение! [вопрос № 194905, ответ № 277609]
19.09.2009, 16:55 »
denmmx
Огромное спасибо за макрос, все работает как нужно! [вопрос № 172330, ответ № 254378]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 296
zdwork
Статус: 2-й класс
Рейтинг: 207
puporev
Статус: Профессионал
Рейтинг: 53

Перейти к консультации №:
 

Консультация онлайн # 67263
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: MIXAIL
Отправлена: 16.12.2006, 17:13
Поступило ответов: 4

Уважаемые эксперты подскажите как по нажатию кнопки посимвольно скопировать строчку из Edit'а в динамический массив. Спасибо.

Приложение:

Состояние: Консультация закрыта

Ответ # 131968 от Minor

Здравствуйте, MIXAIL!
все просто, создаете массив, устанавливаете длинну и копируете как из одного массива в другой, см приложение

Приложение:


Консультировал: Minor
Дата отправки: 16.12.2006, 20:22

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 131982 от KiberZero

Здравствуйте, MIXAIL!

Не знаю, для чего, какую цель вы преследуете,но пожалуй, для работы со строкой вполне достаточно функции Length(s).

Например:

procedure TForm1.Button1Click(Sender: TObject);
var i,n:integer;
s:string;
begin
s:=Edit1.Text;
n:=Length(s); //измеряем длину строки
for i:=1 to n do
Edit2.Text:=s[5]; //выводим в Edit2 символ под номером пять
end;

Но, если вам очень нужно, то пожалуйста:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

mas=array of integer; //объявляем массив
var
Form1: TForm1;
a:mas; //объявляем переменную массива
n:integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i,n:integer;
s:string;
begin
s:=Edit1.Text;
s:=Trim(s);
n:=Length(s); //измеряем длину строки
SetLength(a,n); //Задаём размерность массива
begin
for i:=0 to n-1 do
a[i]:=i+1; //заполняем массив- тут в принципи всё!
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
SetLength(a,0); //устанавливаем началбную границу массива
end;

end.

Ещё добавлю, после заполнения массива,то к переменной этого массива можно применять функции Length,Higth(наибольшее значение индекса), Low(наименьшее значение индекса).
И помните, что индексы динамического массива - всегда целые числа, начинающиеся с нуля.

Удачи!


Консультировал: KiberZero
Дата отправки: 16.12.2006, 23:21

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 132005 от Bouffon

Здравствуйте, MIXAIL!
присваиваешь значение едита строке например s;
s:=edit1.text;
у тебя есть массив например
d:array of char; // прописываешь в переменных
в коде до присвоения массиву значений пропиши определение размера массива
setlength(d,(length(s)+1));
теперь цикл
ну вобщем смотри процедуру
если что непонятно пиши 458786618
procedure TForm1.Button1Click(Sender: TObject);
var
d:array of char;
i:integer;
s:string;
begin
s:=edit1.Text;
setlength(d,length(s)+1);
for i:=0 to high(d)-1 do
begin
d[i]:=s[i+1];
end;
end;


Консультировал: Bouffon
Дата отправки: 17.12.2006, 04:29

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 132252 от PaVeL_Ekt

Здравствуйте, MIXAIL!

К выше изложенным ответам добавлю копирование символа в массив при вводе в едит нового символа: хотя в принципе структура переменной типа String и является массивом.

Где MasStr Массив (либо String либо Char) Объявленный глобально.

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
setlength(MasStr,length(MasStr)+1);
MasStr[Length(MasStr)-1]:=key;
end;


Консультировал: PaVeL_Ekt
Дата отправки: 18.12.2006, 13:33

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15420 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.75 от 18.05.2019
Версия JS: 1.33 | Версия CSS: 3.35