Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 03.06.2019, 18:54   #1
digitalis
Профессионал
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 1,790
Репутация: 578
По умолчанию Поиск Tab

Нужно в строке найти позицию символа табуляции. Я делаю так:
Код:
  st: string[1] ;
............................
  st := '+' ; st[1] := Chr(9) ;
..............................
  i := Pos (st,mystr) ;
Можно ли сделать это менее через#@пно ?
digitalis вне форума   Ответить с цитированием
Старый 03.06.2019, 21:43   #2
ViktorR
Профессионал
 
Регистрация: 23.10.2010
Сообщений: 1,362
Репутация: 644
По умолчанию

А так устроит?
Код:
...
str1 := 'abcd' +^I + 'def';
n1 := pos(^I,str1);
...
Символьная константа может быть записана в трёх формах:
1. Символ в апострофах;
2. Десятичный код символа предваряемый знаком #. Используется для знаков, отсутствующих на клавиатуре, например, псевдографика;
3. Буква, предворяемая знаком ^. Используется для управляющих символов. Код буквы вычисляется как <Код символа10> + 6410. Пример: ^I - Tab, ^M - Cr (Carrier return).
__________________
Как-то так, ...
ViktorR вне форума   Ответить с цитированием
Старый 03.06.2019, 22:48   #3
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,092
Репутация: 5675
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
i := Pos (st,mystr) ;
так проще же:
Код:
i := Pos (#9,mystr);
да и так тоже должно "скушать"
Код:
i := Pos (chr(9),mystr);
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 04.06.2019, 12:21   #4
digitalis
Профессионал
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 1,790
Репутация: 578
По умолчанию

Ясно, thanks.
Это при переходе от Си к Делфи меня смущало то, что в Си строка - это массив char, а в Делфи - это две разные сущности. Уткнулся в непонятку когда-то, не помню уже подробностей, и с тех пор в бошке пробел оставался. Заполнил
Кажется, вспомнил. В Си конструкция
Код:
char  ch ; int i ; i = ch ;
работает, а в Д. нужно Ord() употребить.
digitalis вне форума   Ответить с цитированием
Старый 04.06.2019, 12:26   #5
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,092
Репутация: 5675
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
работает, а в Д. нужно Ord() употребить.
да не обязательно
можно
Код:
var ch:char;
begin
  for ch := 'A' to 'Z' do ....
а ord понадобится для приведения типов ( integer - > char, char -> integer и т.д.)

но вообще тема с char сейчас не такая простая, в связи с Unicode, один char может занимать не один байт.
но вообще это отдельная песня!
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста решить две задачки - поиск минимального значения в векторе и поиск/перестановка положительных элементов в матрице Ruslan Rutkovsky Паскаль 6 13.05.2017 00:43
Гугл поиск отсылает на майл.ру поиск Ципихович Эндрю Свободное общение 5 22.11.2016 12:01
Помощь в доработке программы на языке паскаль (бинарный поиск, поиск перебором) DimzNOVIchok45 Помощь студентам 0 13.10.2014 20:11
Реализовать два метода поиска строк в массиве: поиск перебором, бинарный поиск на языке Pascal DimzNOVIchok45 Помощь студентам 7 19.09.2014 21:40
Обработка одномерного массива - поиск среднего, поиск минимального, сортировка (Паскаль) nadez Паскаль 3 18.03.2014 08:45


05:17.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.