![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразование ... [D7, XP]
lodir © (2005-10-17 14:05:00)string в char затем в ascII код и затем обратно в string ... подскажите пожалуйста как?
Anatoly Podgoretsky (2005-10-17 19:24:00) [1]lodir (17.10.05 14:05)
string в char нельзя, строка это очень много символов. А переменная char хранит только один символ.
lodir (2005-10-17 17:35:00) [2]Спасибо огромное!
З.Ы.Все-таки приятно получать хорошие ответы....
Leonid Troyanovsky (2005-10-17 17:25:00) [3]
> lodir (17.10.05 16:06) [5]
> c:='k';
> i:=ord(c);
> s:=chr(i);
> showmessage(s);
> получилось, а обратно ну никак... :о(, помогите плиз!
А что означает "обратно"?
Если прямо: string -> char -> ANSI code,
то, вместо s := chr(i), д.б. s := IntToStr(i).
Соответственно, если у нас есть ansi: массив байтов(ANSI code), то
var
s : String;
i: Longint;
begin
SetLength(s, SizeOf(ansi));
Move(ansi[0], s[1], SizeOf(s)); // если индекс массива ansi начат с 0
end;
Только, во всем этом нет особого смысла, бо всегда можно преобразовать
каждый символ строки к нужному типу, т.е., Ord(s[i]) - код i-го символа
в строке.
--
Regards, LVT.
lodir (2005-10-17 16:06:00) [4]с char'a в string :
procedure TForm1.Button1Click(Sender: TObject);
var
c: char;
s: string;
i: integer;
begin
c:='k';
i:=ord(c);
s:=chr(i);
showmessage(s);
end;
получилось, а обратно ну никак... :о(, помогите плиз!
lodir (2005-10-17 14:42:00) [5]Нуу ооочень смешно!!!
Leonid Troyanovsky (2005-10-17 14:40:00) [6]
> lodir (17.10.05 14:22) [2]
> Ega23 © (17.10.05 14:08) [1]
>
> спасибо, поищу!
А чего там искать: в верхнем ряду, слева - вторая клавиша.
--
Regards, LVT.
lodir (2005-10-17 14:22:00) [7]Ega23 © (17.10.05 14:08) [1]
спасибо, поищу!
Ega23 (2005-10-17 14:08:00) [8]Ord, Chr + F1