Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2015, 15:04   #1
Поллукс
Заблокирован
 
Регистрация: 26.03.2015
Сообщений: 59
По умолчанию Чтение строковой переменной.

Приветствую.
У меня есть код, который читает строковую переменную до знака слэша и записывает результат в другую строковую переменную:
Код:
for I := Length(TestString) downto Pos('/', TestString) + 1 do
S := S + TestString[I];
Однако, он читает строку начиная с начала, а мне бы надо с конца. Как бы это провернуть?
Поллукс вне форума Ответить с цитированием
Старый 13.10.2015, 15:18   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Есть еще инструменты для работы со строкой. Это Delete и Copy.
Цитата:
S := S + TestString[I];
Это умеет делать Copy. Функции надо задать параметры - откуда копировать, с какой позиции и до какого места. Имеются несколько вариантов функции. Функция копирует самостоятельно, Вам нужно только правильно задать параметры (то есть копирование не по одному символу, а фрагментом).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.10.2015, 15:59   #3
Поллукс
Заблокирован
 
Регистрация: 26.03.2015
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Есть еще инструменты для работы со строкой. Это Delete и Copy.
Это умеет делать Copy. Функции надо задать параметры - откуда копировать, с какой позиции и до какого места. Имеются несколько вариантов функции. Функция копирует самостоятельно, Вам нужно только правильно задать параметры (то есть копирование не по одному символу, а фрагментом).
А нельзя ли поподробнее, с примерами кода?
Поллукс вне форума Ответить с цитированием
Старый 13.10.2015, 16:17   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
А нельзя ли поподробнее, с примерами кода?
Можно, но зачем? Это не секретная информация. Я может покажусь банальным - берете гугл и понеслась. Там и справочники и примеры кода. Ключевые моменты я Вам дал, если давать все никогда не научитесь.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.10.2015, 16:23   #5
Поллукс
Заблокирован
 
Регистрация: 26.03.2015
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Можно, но зачем? Это не секретная информация. Я может покажусь банальным - берете гугл и понеслась. Там и справочники и примеры кода. Ключевые моменты я Вам дал, если давать все никогда не научитесь.
Ну вот я элементарно не представляю себе, как этой функции, Copy, задавать параметры. А чтобы правильно гуглить, нужно знать половину ответа.
Поллукс вне форума Ответить с цитированием
Старый 13.10.2015, 16:34   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

В Си++ могу подсказать. Но видимо не туда влез. Постановка задачи понравилась.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 13.10.2015, 16:35   #7
Поллукс
Заблокирован
 
Регистрация: 26.03.2015
Сообщений: 59
По умолчанию

Короче, не подходит мне эта ваша Copy. Мне ведь нужно чтобы строка вырезалась после последнего слэша, а тут можно лишь задавать номер символа с которого происходит копирование и число вырезаемых символов.
Поллукс вне форума Ответить с цитированием
Старый 13.10.2015, 16:47   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Короче, не подходит мне эта ваша Copy. Мне ведь нужно чтобы строка вырезалась после последнего слэша, а тут можно лишь задавать номер символа с которого происходит копирование и число вырезаемых символов.
ну и кто мешает найти позицию последнего слеша?!
Да хоть тем же перебором:
Код:
I := Length(TestString);
while (i>0) and (TestString[I]<>'/') do Dec(I);
S := Copy(TestString,1, I-1);
всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.10.2015, 16:52   #9
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

[QUOTE=Serge_Bliznykov;1542739]ну и кто мешает найти позицию последнего слеша?!
Да хоть тем же перебором:
Матушка ЛЕНЬ. Зачем парится? Тут сидят лохи, которые жаждут кому, что сделать. А он пойдёт, с бабами на вечеринку. А вы - лохи, вкушайте праздник.
Поллукс, Вам уже спецы ответили. Вброс? Братва, таких нужно банить - немедля. Выставлять оценки за посещаемост - запрещено.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 13.10.2015 в 17:00.
Smitt&Wesson вне форума Ответить с цитированием
Старый 13.10.2015, 16:55   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а мне бы надо с конца. Как бы это провернуть?
Функцией ExtractFilePath().
Цитата:
А он пойдёт, с бабами на вечеринку.
Смитушка, прекращай )
Это некультурно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема со строковой переменной MisterDie Паскаль, Turbo Pascal, PascalABC.NET 5 27.02.2013 21:43
Занесение содержимого строковой переменной в поток DannerDOS Общие вопросы Delphi 5 06.05.2010 13:28
Скопировать текст из строковой переменной в поле ввода чужой програмы Ckomoroh Общие вопросы Delphi 4 14.12.2009 10:49
Как удалить часть строковой переменной Oooleg Microsoft Office Excel 1 21.07.2009 16:20
TMemoryStream присвоить строковой переменной inndim Общие вопросы Delphi 3 06.05.2009 11:36