Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.30;
Скачать: CL | DM;

Вниз

move   Найти похожие ветки 

 
stenfit   (2010-11-05 15:59) [0]

нужно, используя move, скопировать содержимое строковой переменной S1 в строковую переменную S2. Чет не получается. В чем ошибаюсь?


var
   S1, S2: string;
   Ptr: Pointer;
 begin
   S1 := "456";
   GetMem(Ptr, Length(S1));
   try
     Move(Pointer(S1)^, Ptr^, Length(S1));
     SetLength(S2, Length(S1));
     Move(Ptr^, Pointer(S2)^, Length(S1));
     ShowMessage(S2);
   finally
     FreeMem(Ptr);
   end;
end;


 
Amoeba_   (2010-11-05 16:10) [1]

Вот так превращаем твой говнокод в нормальный код:
var
  S1, S2: string;
begin
  S1 := "456";
  SetLength(S2, Length(S1));
  Move(S1[1], S2[1], Length(S1));
  ShowMessage(S2);
end;


 
Юрий Зотов ©   (2010-11-05 16:16) [2]

А зачем move? S2:=S1, и все. Когда будет надо, все само скопируется.


 
stenfit   (2010-11-05 16:18) [3]

а почему ShowMessage возвращает только 45


 
Anatoly Podgoretsky ©   (2010-11-05 16:45) [4]

Length(S2)?


 
Amoeba_   (2010-11-05 17:27) [5]


> Юрий Зотов ©   (05.11.10 16:16) [2]

А может это УЧЕБНОЕ задание. А в реальной жизни, понятное дело, Move тут совсем ни к чему.


 
Дмитрий Белькевич   (2010-11-05 19:46) [6]

Меня всегда удивляли учебные задания по программированию. Ведь можно придумать (или посмотреть готовых) множество случаев, где move полезен. Нет же - нужно придумать идиотское его использование и дать в виде задания. А потом же так и пишут. Как научили.


 
Дмитрий Белькевич   (2010-11-05 19:49) [7]


> а почему ShowMessage возвращает только 45


таки да :)


var
 S1, S2: string;
begin
 S1 := "456";
 SetLength(S2, Length(S1));
 Move(S1[1], S2[1], Length(S1) * SizeOf(Char));
 ShowMessage(S2);


 
Dennis I. Komarov ©   (2010-11-09 13:40) [8]

Может это задание не на "Move", а "Что есть string"...



Страницы: 1 вся ветка

Текущий архив: 2011.01.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
15-1287397858
Омлет
2010-10-18 14:30
2011.01.30
Demosaicing, бысто и медленно


2-1289455404
lehich
2010-11-11 09:03
2011.01.30
заголовок окна


15-1287347344
Юрий
2010-10-18 00:29
2011.01.30
С днем рождения ! 18 октября 2010 понедельник


2-1289205361
kate158
2010-11-08 11:36
2011.01.30
как найти дату по шаблону?


15-1286889440
Sanprof
2010-10-12 17:17
2011.01.30
FreeReport полсчитать сумму