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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 15.12.2011, 23:13
Kaktuz Kaktuz вне форума
Начинающий
 
Регистрация: 30.10.2011
Сообщения: 149
Репутация: 10
По умолчанию

Мне вот интересно. Хоть кто-то пробует код в действии перед тем как его выложить?
Код:
Temp.Strings[i]:='a';
Temp[i]:='a';
Перезаписывает строку полностью.
Код:
Temp.Strings[j]:='a';
Temp.[j]:='a';
Тут вообще ошибка.
Ответить с цитированием
  #17  
Старый 15.12.2011, 23:27
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Kaktuz
Мне вот интересно. Хоть кто-то пробует код в действии перед тем как его выложить?
Мне вот интересно, ТС понимает, что он делает или нет. Судя по его предыдущему ответу:
Цитата:
...стандартной справкой не пользуюсь.
не понимает.
Код:
Temp.Strings[i]:='a';
Temp[i]:='a';
этот код обязан перезаписать всю строку
Код:
Temp.Strings[j]:='a';
Temp.[j]:='a';
как и этот, а то, что у ТС в J сидит какая хрень, так нужно голову на плечах иметь и инициализировать переменную верными данными.
Когда используешь код:
Код:
Temp.Strings[i][j]:='a';
нужно понимать, что строка I - номер строки, а J - смещение в строке. Строка начинается с 1, соответственно J не может быть меньше 1 и не может быть больше чем длина исправляемой строки, иначе результат непредсказуем.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #18  
Старый 15.12.2011, 23:36
Kaktuz Kaktuz вне форума
Начинающий
 
Регистрация: 30.10.2011
Сообщения: 149
Репутация: 10
По умолчанию

Я все так и делаю. Но у меня выдает ошибку на строку
Код:
Temp.Strings[i][j]:='a';
как не крути.

Уже в отдельном проекте тестирую и ни как
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Box := TStringList.Create;
Box.Add('123');
Box.Add('456');
Box.Add('789');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Box.Strings[1][2]:='A'; // Ошибка
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ShowMessage(Box.Text); // Показывает все содержимое
ShowMessage(Box.Strings[1][2]); // Показывает центр, цифру "5"
end;

Последний раз редактировалось Kaktuz, 15.12.2011 в 23:41.
Ответить с цитированием
  #19  
Старый 15.12.2011, 23:43
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Напиши так:
Код:
var
  box : TStringList;
  st  : String;
begin
  ...
  Box := TStringList.Create;
  Box.Add('123');
  Box.Add('456');
  Box.Add('789');

  st := Box.Strings[1];
  st[2] := 'A';
  Box.Strings[1] := st;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.

Последний раз редактировалось angvelem, 15.12.2011 в 23:50.
Ответить с цитированием
  #20  
Старый 15.12.2011, 23:49
Kaktuz Kaktuz вне форума
Начинающий
 
Регистрация: 30.10.2011
Сообщения: 149
Репутация: 10
По умолчанию

Работает. Благодарю

Последний раз редактировалось Kaktuz, 16.12.2011 в 00:03.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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