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

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

Разложить строку посимвольно


alexdn ©   (2011-10-03 12:51:00) 

и ещё нужно из строки выбросить все знаки до пробела, т.е.
6 Маша
for i:=1 to Length(StrList[6]) do begin
if StrList[6].символ<>' ' then StrList[6].символ:='';
end;
как добраться до символов?


Anatoly Podgoretsky   (2011-10-03 19:11:00) [1]


> ищи первый пробел функцией Pos

ищи первый пробел любой функцией, которую знаешь


Anatoly Podgoretsky   (2011-10-03 19:10:00) [2]


> но ведь пустой символ char принимать не хочет..

Не не хочет, а не может.
А это разные вещи.


alexdn   (2011-10-03 13:44:00) [3]

> Slym ©   (03.10.11 13:29) [10]
работает как часы:) спасибо.


Ega23   (2011-10-03 13:29:00) [4]


> тогда совсем простой вопрос, if s[i]<>' ' then begin s[i]:
> =''; но ведь пустой символ char принимать не хочет..


Строка это массив символов. Подумай над этим.


Slym   (2011-10-03 13:29:00) [5]

есть выпиленая из Indy функция
function Fetch(var AInput: string;
const ADelim: string = ' '; const ADelete: Boolean = true): string;
var
iPos: Integer;
begin
if ADelim = #0 then begin
  // AnsiPos does not work with #0
  iPos := Pos(ADelim, AInput);
end else begin
  iPos := Pos(ADelim, AInput);
end;
if iPos = 0 then begin
  Result := AInput;
  if ADelete then begin
    AInput := '';
  end;
end else begin
  result := Copy(AInput, 1, iPos - 1);
  if ADelete then begin
    Delete(AInput, 1, iPos + Length(ADelim) - 1);
  end;
end;
end;


s:='6 Маша';
Fetch(s,' ',true);


Inovet   (2011-10-03 13:28:00) [6]

ищи первый пробел функцией Pos


Медвежонок Пятачок   (2011-10-03 13:28:00) [7]

потому что "пустой символ" здесь - не символ, а строка.
строку нельзя присвоить символу.


alexdn   (2011-10-03 13:25:00) [8]

тогда совсем простой вопрос, if s[i]<>' ' then begin s[i]:=''; но ведь пустой символ char принимать не хочет..


Медвежонок Пятачок   (2011-10-03 13:11:00) [9]

StrList[6].index[i]? как то ж так, как правильно?..

а может вот так круче?
StrList[6].yandex[i]


Ega23   (2011-10-03 13:02:00) [10]


> StrList[6].index[i]? как то ж так, как правильно?..

Может таки пора уже?
http://docwiki.embarcadero.com/RADStudio/en/String_Types


alexdn   (2011-10-03 12:59:00) [11]

> Медвежонок Пятачок ©   (03.10.11 12:55) [1]
StrList[6].index[i]? как то ж так, как правильно?..


Медвежонок Пятачок   (2011-10-03 12:55:00) [12]

добраться через еще одни квадратные скобки


Ega23   (2011-10-03 12:55:00) [13]


> как добраться до символов?

Строка это массив символов.


Наверх

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