Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.08.2008, 00:02
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание Помогите разобраться в коде

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
  sl: TStringList;
  i: integer;
  li: TListItem;
begin
     sl := TStringList.Create;
      sl.LoadFromFile( 'c:\text.txt' );
      for i := 0 to sl.Count-1 do
      begin
          if ( Trim( sl.Strings[i] ) <> '' ) then
            if ( Trim( sl.Strings[i] )[1] <> '#' ) then
               begin
                  li := ListView1.Items.Add;
                  li.Caption := Copy( sl.Strings[i], 1, Pos( ' ', sl.Strings[i] )-1 );
                  li.SubItems.Add( Copy( sl.Strings[i], Pos( ' ', sl.Strings[i] )+1, Length( sl.Strings[i] ) ) );
            end;
Читаем строку -
Привет Я ВАСЯ

li.Caption := Copy( sl.Strings[i], 1, Pos( ' ', sl.Strings[i] )-1 ); // добавляем первый текст до пробела Привет
li.SubItems.Add( Copy( sl.Strings[i], Pos( ' ', sl.Strings[i] )+1, Length( sl.Strings[i] ) ) ); // Добавляем остальное после первого пробела Я ВАСЯ

А как добавить текст после второго пробела на следуюший SubItems???? У меня чтот не получился.....
Ответить с цитированием
  #2  
Старый 24.08.2008, 00:26
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Незнаю насколько это корректно и правильно ли я понял вопрос...

Код:
1
2
3
4
5
PosBeg := Pos(' ', sl.Strings[i]); // первый пробел
PosEnd := LastDelimiter(' ', sl.Strings[i]); // последний пробел
Copy(sl.Strings[i], 1, PosBeg-1); // <b>Привет</b>
Copy(sl.Strings[i], PosBeg+1, PosEnd-PosBeg-1); // <b>Я</b>
Copy(sl.Strings[i], PosEnd+1, Length(Str)); // <b>ВАСЯ</b>
Ответить с цитированием
  #3  
Старый 31.08.2008, 00:37
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
По умолчанию

Оно помогло - а вот если прибавиться пробелы то оно не сработает
как загрузить вот этот текстовый документ чтоб каждое слова загрузилась в свою колонну - вообще это возможно??
Вложения
Тип файла: txt Text_1.txt (136 байт, 2 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025