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

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

Char [D5, WinXP]


Hammer1 ©   (2002-11-11 10:46:00) 

Мастера помогите. Как загнать строку в char масив.


Dimka Maslov   (2002-11-11 12:51:00) [1]

Можно приведение типов не использовать. Если аргумент функции имеет тип PChar, то к нему можно обращаться как к массиву символов, начальным индексом которого является 0.

procedure SomeProc(Arr: PChar);
begin
Arr[1]:=....
end;

var
S: string;
begin
SomeProc(PChar(Arr));
end;


Hammer1   (2002-11-11 12:06:00) [2]

Alx2 и Skier, а также всем остальным, спосибо за помощь.


Reindeer Moss Eater   (2002-11-11 12:01:00) [3]

StrPLCopy


Alx2   (2002-11-11 11:54:00) [4]

>Hammer1 © (11.11.02 11:17)
Использовать приведение типов.
Так например:
type
TInputArray = array [1..100] of char;

procedure SomeFunc(Const Arr : TInputArray); // То, куда надо передать
begin
..............
end;

procedure test;
Var S : String;
begin
SomeFunc(TInputArray((@S[1])^)); // Передаем как char-массив
end;


Skier   (2002-11-11 11:18:00) [5]

>Hammer1
Move(...) ?


Hammer1   (2002-11-11 11:17:00) [6]

Мне необходимо использовать функцию, входным элементом которой является не строка а масив char


Smithson   (2002-11-11 11:00:00) [7]

А зачем? Строка и так является массивом символов(с индексами от 1 до length(string)).


e-mike   (2002-11-11 10:58:00) [8]

Преобразовать к PChar и работать с ним, как с массивом:


var
s:string;
a:pchar;
begin
s:="asdfghj";
a:=pchar(s);
showmessage(a[4]);
end;


Skyle   (2002-11-11 10:54:00) [9]

А чем тебе она как строка не нравится в этом смысле?


Наверх

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