Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.005 c
15-1286122969
@!!ex
2010-10-03 20:22
2011.01.30
Java 4-ever


11-1228398987
Al Berto
2008-12-04 16:56
2011.01.30
WinCE HTTP protocol using KOL on Lazarus


15-1286972348
vv_fran
2010-10-13 16:19
2011.01.30
Как перекодировать русский текст формы в Win1251 ?


2-1289650085
istok
2010-11-13 15:08
2011.01.30
мониторинг принтеров на delphi..


2-1289487120
vegarulez
2010-11-11 17:52
2011.01.30
TWebbrowser, как определить активное поле формы.




   Наверх