Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2012, 21:06   #1
Critically
Пользователь
 
Регистрация: 14.08.2012
Сообщений: 17
По умолчанию Массив в string...

Доброго времени суток, написал сей код:

Код:
procedure TForm1.Button1Click(Sender: TObject);
 var
  a: array of string; //динамический массив
  b: string;
  i,c: Integer;
  z   :string;
    begin
    Edit1.Text:=GetMacAdress+'5'; // мак-адрес вида хх-хх-хх-хх-хх5
    b:=Edit1.Text;
    c:=Length(b);
    SetLength(a,c);
    for i:=1 to c do
      begin
      a[i-1]:=b[i];
      memo1.Lines.Add(a[i-1]);
      end;
      Showmessage(b[i]) ;
    end;
1) Почему в Showmessage(b[i]) показывается число 5, если же поставить его раньше допустим после b:=Edit1.Text; выбивает с ошибкой
2) Как мой массив записать в string перменную, без последней цифры 5, а эту саму цифру 5 записать в другую переменную string ?

По второму вопросу у меня была такая идея, c:=c-1 и соответсвенно в мой массив записался бы мак адрес без последней цифры 5, но тогда вопрос, как можно массив перевести в string ? так как дальше мне его нужно будет сравнивать с другим string...

Суть задания такова: Получаем мак адрес с цифрой на конце, мак адрес нужно записать в один string цифру в другой...
Critically вне форума Ответить с цитированием
Старый 30.09.2012, 21:45   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Цитата:
Получаем мак адрес с цифрой на конце, мак адрес нужно записать в один string цифру в другой...
Код:
S1 := Edit1.Text; //мак адрес
//или, если нужен мак адрес без последней цифры:
S1 := Copy(Edit1.Text, 1, Length(Edit1.Text)-1);
S2 := Copy(Edit1.Text, Length(Edit1.Text), 1); //цифра в конце попадает в S2

Последний раз редактировалось Скандербег; 30.09.2012 в 21:51.
Скандербег вне форума Ответить с цитированием
Старый 30.09.2012, 22:18   #3
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
1) Почему в Showmessage(b[i]) показывается число 5
а почему бы ему там не оказаться?)))
ведь Showmessage(b[i]); стоит уже за пределами цыкла, и т.к. цыкл отработал свое и переменная i достигла значения <длина строки> (в нашем случае это 15) то и соответственно Showmessage(b[i]); показывает последний (15й) элемент строки === 5
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать массив string в с++? WOLFak Помощь студентам 1 07.04.2012 12:51
Как сделать массив, с индексированием string? tocsik Общие вопросы Delphi 0 23.07.2010 17:01
C++ String массив dampirik Помощь студентам 6 29.08.2009 15:24
массив типа string dollemika Помощь студентам 13 02.05.2009 23:15