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

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

Как присвоить значения одной переменной другой (TStringList) [D7, WinXP]


Страницы:   1 2

kyn66 ©   (2005-10-20 11:04:00) 

Уважаемые мастера, САБЖ сопсна. Есть две переменных

Var
 St1, St2 : TStringList;
Begin
  St1 := St2; // ???
  St1.Assign(St2); // ???
end;


Как правильно? И там и там вылетает ошибка 8-(


Baltika-7   (2005-10-20 11:50:00) [21]


> kyn66 ©   (20.10.05 11:36) [4]


Прочувствуй разницу?

В случае st2 := st1ты присваиваешь указатель,
В случае st2.Assign(st1)ты копируешь данныеиз st1 в st2? полностью заменяя содержимоеst2.
В случае st2.AddStrings(s1)ты добавляешь данныеиз st1 в st2.


Baltika-7   (2005-10-20 11:50:00) [22]


> kyn66 ©   (20.10.05 11:36) [4]


Прочувствуй разницу?

В случае st2 := st1ты присваиваешь указатель,
В случае st2.Assign(st1)ты копируешь данныеиз st1 в st2? полностью заменяя содержимоеst2.
В случае st2.AddStrings(s1)ты добавляешь данныеиз st1 в st2.


kyn66   (2005-10-20 11:36:00) [23]

Создание ессно пропущено для краткости вопроса.
А естьли какая разница, если первая переменная у меня будет полем записи и ей я присваиваю значения?

Type
 TBiletArray = packed record
    B_Nomer : packed array[0..255]of Char;
    B_St1   : TStringList;
    B_St2   : TStringList;
    B_St3   : TStringList;
    B_St4   : TStringList;
    B_St5   : TStringList;
    B_St6   : TStringList;
 end;
Var
 B_Ar : TBiletArray;

...
 B_Ar.St1 := St1;
...

Вот ведь не хочет и все тут 8-(


jack128   (2005-10-20 11:29:00) [24]

kyn66 ©   (20.10.05 11:04)
Var
St1, St2 : TStringList;
Begin
 St1 := St2; // ???
 St1.Assign(St2); // ???
end;

Как правильно? И там и там вылетает ошибка 8-(


вообще то не мешало бы сначала создать эти стринг листы ;)


TUser   (2005-10-20 11:12:00) [25]

В первом случае ошибки не будет.


Eraser   (2005-10-20 11:09:00) [26]


> kyn66 ©   (20.10.05 11:04)

St1.Clear;
St1.AddStrings(St2);


Или St1.Text := St2.Text;


Страницы:   1 2

Наверх

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