Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Edit [D7, XP]


F@T@L_Err0r ©   (2008-01-25 09:37:00) 

Здравствуйте ув. мастера.У меня такой вопрос: Есть Edit1 и в етот Edit введено доследовательно через пробел n - ное количество цифр или букв, как сохранить каждый символ отдельно в свою переменную???Желательно с примером.Заранее спасибо...


oldman   (2008-01-25 10:54:00) [1]


> Ega23 ©   (25.01.08 10:52) [15]


Объявляются в var по разному :)))


Ega23   (2008-01-25 10:52:00) [2]


> oldman ©   (25.01.08 10:00) [7]
>
> s - строка
> m - массив
>


А строка это не массив по сути?  :)


F@T@L_Err0r   (2008-01-25 10:34:00) [3]

спасибо...работает...


Kolan   (2008-01-25 10:19:00) [4]

> опять выдает ошибку типа incomppatible types string and
> TFindOption...

procedure TForm1.Button1Click(Sender: TObject);
var
 Strings: TStrings;
begin
 Strings := TStringList.Create;
 try
  Strings.CommaText := Edit1.Text;
  ShowMessage(Strings[0]); //— первое число/символ
 finally
  Strings.Free;
 end;
end;


Работает...


Семеныч   (2008-01-25 10:15:00) [5]

> F@T@L_Err0r   (25.01.08 09:56) [6]

Перечитайте свой вопрос и ответьте на мой: откуда мог взяться символ '-', если в Edit содержатся только цифры, буквы и пробелы?


F@T@L_Err0r   (2008-01-25 10:12:00) [6]

>Kolan ©
опять выдает ошибку типа incomppatible types string and TFindOption...


Kolan   (2008-01-25 10:08:00) [7]

Или TStringList:

Strings := TStringList.Create;
try
 Strings.Text := StringReplace(Edit1.Text, ' ', '« „', frReplaceAll);
//  Strings[0] — первое число/символ
finally
 Strings.Free;
end;


Не прверял, но должно работать…


F@T@L_Err0r   (2008-01-25 10:04:00) [8]

Блин...но все же как же мне это реализовать уже три дня парюсь...казалось бы че может быть проще...а тут нет...


oldman   (2008-01-25 10:01:00) [9]


> oldman ©   (25.01.08 10:00) [7]


Это всего лишь идея, не надо копи-пасте
:)))


oldman   (2008-01-25 10:00:00) [10]

s - строка
m - массив

for i=1 to length(s) step 2
 m[i]=s[i];


F@T@L_Err0r   (2008-01-25 09:56:00) [11]

>Семеныч

Выдает только символ "-"и все...Я добавил в код строчку form1.ListBox1.Items.Add(s);


F@T@L_Err0r   (2008-01-25 09:50:00) [12]

>Ega23 ©

Выдает ошибку типа incomppatible types string and TFindOption...
И потом как мне их патом разделить...нельзя ли реализовать ето с помощью массива...


Семеныч   (2008-01-25 09:49:00) [13]


var
 S: string;
 Chars: array of char;
 i: integer;
begin
 S := Edit1.Text;
 SetLength(Chars, Length(S) div 2 + 1);
 for i := 0 to High(Chars) do
   Chars[i] := S[2 * i + 1];
end;


F@T@L_Err0r   (2008-01-25 09:46:00) [14]

Да я так и делаю только в цикле почемуто получается не то что я хочу вот код:
const countofelements=10;
Procedure Prisvoenie;
var Data:array[0..countofelements] of string;
   q:integer;
begin
for q:=0 to countofelements do
begin
 data[q]:=copy(form1.edit1.text,pos('  ',form1.Edit1.Text),10);
 form1.ListBox1.Items.Add(data[q]);
end;
end;


Ega23   (2008-01-25 09:45:00) [15]

var
 s : string
begin
 s := StringReplace(Edit1.Text, ' ', frReplaceAll);
end;

Теперь в s все элементы.


Kolan   (2008-01-25 09:43:00) [16]

Используй дин. массив строк.


Наверх

Титульная страница Поиск, карта сайта Написать письмо