Переменная типа CHAR

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Переменная типа CHAR

Re: Переменная типа CHAR

Dr_Grizzly » 29 июл 2007, 11:09

Сенькс! Все ништяк! Робит как надо!

Re: Переменная типа CHAR

BBB » 26 июл 2007, 15:51

Либо можно завести массив символов, где будут записаны лишь нужные символы, пользоваться не номером сиимвола (от ord('0') до ord('Z')), а номером ячейки масива (от 1 до 36):

Код: Выделить всё

const MY_CHARS : array [1..36] of char = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

Re: Переменная типа CHAR

BBB » 26 июл 2007, 15:48

somewhere писал(а):В других случаях проканает ....
inc(byte(x));
Проканает даже без приведения к byte:
Inc (x); { где x - переменная типа char }

Так как пр-ра Inc (это даже и в Паскале) применяется к любому "ordinal-type".
Проагмент из паскалевкого хелпа:

Inc (procedure)
=============
Increments a variable.
Declaration:
procedure Inc(var X [ ; N: Longint ] );
Target:
Windows, Real, Protected
Remarks:
X is an ordinal-type variable or a variable of type PChar if the extended
syntax is enabled and N is an integer-type expression.
......

Re: Переменная типа CHAR

Duncon » 26 июл 2007, 12:55

Char - символ, и ты просишь вывести промежуток символов от 1 до Z.
Нужно же перегнать Char в integer к примеру.. И с ним работатью

Re: Переменная типа CHAR

somewhere » 26 июл 2007, 12:48

Сделай проверку и все, неужели так сложно?

Код: Выделить всё

if x='9' then x := 'A';
В других случаях проканает
X := Chr(ord(x)+1); или
inc(byte(x));

Переменная типа CHAR

Dr_Grizzly » 26 июл 2007, 12:18

Всем привет! Помогите разобраться
вот есть переменная x:Char
делаем For x:='1' do 'Z' do
ShowMessage(x);

и она выдает все от 1 до Z и еще в добавок ':;<=>?@'

Я хочу увеличить x на 1 символ, так сказать...
Т.е. если в переменной х был 1 то нужно чтоб стал 2, если 9 то А, если А то В...

Каким способом такое сделать? х:=х+1 не канает :D

И как исключить этот самый "в добавок" т.е. чтоб эти символы не выдавала...

Суть в том что я хочу встроить этот алгоритм при создании файла, мне нужно чтоб в конце имени файла приписывался индекс от 1 до Z.

Вернуться к началу