24.01.2019, 06:36 [+3 UTC]
в нашей команде: 3 353 чел. | участники онлайн: 8 (рекорд: 20)

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

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

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.66 (22.01.2019)
JS-v.1.31 | CSS-v.3.35

Общие новости:
01.01.2019, 13:54

Форум:
22.01.2019, 18:16

Последний вопрос:
23.01.2019, 21:30
Всего: 148557

Последний ответ:
24.01.2019, 06:32
Всего: 257637

Последняя рассылка:
23.01.2019, 23:15

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

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

Наша кнопка:

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

Отзывы о нас:
01.03.2010, 15:07 »
Ляндрес
Здравствуйте! По вашим рекомердациям я скачал программу Punto Switcher, с помощью которой проблему смены текста рус/англ и наоборот решил. Спосибо за полезный совет! Ляндрес [вопрос № 176971, ответ № 259806]
06.05.2016, 00:57 »
region41
Не смог найти в сети доступного объяснения на свой вопрос, Игорь Витальевич разложил все по полочкам. Большое спасибо! [вопрос № 189297, ответ № 273748]
12.04.2010, 13:50 »
S K A L T
Спасибо, похоже я где то ошибся с программой [вопрос № 177774, ответ № 260766]

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

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

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

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

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 382
puporev
Статус: Профессионал
Рейтинг: 292
Степанов Иван /REDDS
Статус: 4-й класс
Рейтинг: 3

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

Консультация онлайн # 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.14810 сек.

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