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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.02.2009, 12:58
serpico serpico вне форума
Прохожий
 
Регистрация: 04.02.2009
Сообщения: 20
Репутация: 10
По умолчанию Как добавить текст в n строку в Listbox или Memo ?

Как можно добавить текст в опрделенную строку n в ListBox'e или Memo. Например :
Мне нужно добавить слово "Привет" во 2 строку и "Пока" в 3 строку в Memo или ListBox, особо без разницы.
Ответить с цитированием
  #2  
Старый 17.02.2009, 13:02
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Метод Insert спасет гиганта мысли.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 17.02.2009, 13:17
serpico serpico вне форума
Прохожий
 
Регистрация: 04.02.2009
Сообщения: 20
Репутация: 10
По умолчанию

Мда ступил, я чето забыл совсем про это.
Ответить с цитированием
  #4  
Старый 17.02.2009, 13:52
serpico serpico вне форума
Прохожий
 
Регистрация: 04.02.2009
Сообщения: 20
Репутация: 10
По умолчанию

АА нет тут другая проблема возникла, если я сначала очишаю Listbox т.е. = Listbox1.clear и потом в очишенную добавляю строку то он ошибку выдает, можно как то исправить ?
Ответить с цитированием
  #5  
Старый 17.02.2009, 16:55
Sultan Sultan вне форума
Прохожий
 
Регистрация: 03.02.2009
Сообщения: 2
Репутация: 10
По умолчанию ыы

да, вначале добавь эти строки методом Add, а потом присвой им знач для отображения: ListBox1.items[n]:='bla bla bla...';
Ответить с цитированием
  #6  
Старый 17.02.2009, 17:39
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Да нет, проще проверять индекс и по результатам проверки использовать Insert или Add.
Ответить с цитированием
  #7  
Старый 17.02.2009, 18:52
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

А еще проще всеж-таки читать справку:
Цитата:
Descendants of TStrings implement an Insert method to add the string S to the list at the position specified by Index. If Index is 0, the string is inserted at the beginning of the list. If Index is 1, the string is put in the second position of the list, and so on.

All methods that add strings to the list use the Insert method to add the string.

ЗЫЖ Подчеркнул я
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #8  
Старый 18.02.2009, 06:37
serpico serpico вне форума
Прохожий
 
Регистрация: 04.02.2009
Сообщения: 20
Репутация: 10
По умолчанию

Мне кратце во что надо сделать, нажал на кнопку, листбокс очистился и добавил в определнные строки, то что надо, снова нажал снова очистилсяи опять добавил что что в опрделенные строки, и т.д. вообщем примерно так без начинаю очишать он ругается про индексы.
Ответить с цитированием
  #9  
Старый 18.02.2009, 06:48
serpico serpico вне форума
Прохожий
 
Регистрация: 04.02.2009
Сообщения: 20
Репутация: 10
По умолчанию

Кароче сделал проше, при нажатии кнопки загружал в ListBox из файла а в файле 5 раз нажал Enter и проблема исчезла. Все спасибо всем!
Ответить с цитированием
  #10  
Старый 18.02.2009, 07:03
serpico serpico вне форума
Прохожий
 
Регистрация: 04.02.2009
Сообщения: 20
Репутация: 10
По умолчанию

Меня делфи добивает уже, теперь другая проблема как сделать так что, все что у меня в мемо поле он ДОБАВЛЯЛ в текстовый файл, я знаю что memo1.Lines.SaveToFile('log.txt') например он сохраняет, но при этом он заменяет все что там находится, а как сделать что бы он добавлял к уже сушествуюшему.
Ответить с цитированием
  #11  
Старый 18.02.2009, 09:45
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Цитата:
Кароче сделал проше, при нажатии кнопки загружал в ListBox из файла а в файле 5 раз нажал Enter и проблема исчезла.
Т.е. как обычно через ж#$у. А потом еще народ удивляется "Что у нас программы такие глючные?"
А я ведь не зря привел цитату из справки.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #12  
Старый 19.02.2009, 01:02
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Цитата:
Сообщение от serpico
Кароче сделал проше, при нажатии кнопки загружал в ListBox из файла а в файле 5 раз нажал Enter и проблема исчезла. Все спасибо всем!
А добавлять пустую строку вы не додумались?? (ListBox1.Items.Add('')

Цитата:
Сообщение от serpico
Меня делфи добивает уже, теперь другая проблема как сделать так что, все что у меня в мемо поле он ДОБАВЛЯЛ в текстовый файл, я знаю что memo1.Lines.SaveToFile('log.txt') например он сохраняет, но при этом он заменяет все что там находится, а как сделать что бы он добавлял к уже сушествуюшему.
Необходимо вручную открывать файл и добавлять в него информацию:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  XFile: TextFile;
  s: string;
begin
  s:= 'gg.txt';
  AssignFile(XFile, s);
  if not FileExists(s) then Rewrite(XFile) else Append(XFile);
  try
    WriteLn(XFile, Memo1.Lines.Text);
  finally
    CloseFile(XFile);
  end;
end;
Ответить с цитированием
  #13  
Старый 24.02.2009, 18:44
sasha27 sasha27 вне форума
Прохожий
 
Регистрация: 24.02.2009
Сообщения: 1
Репутация: 10
По умолчанию

Цитата:
Сообщение от serpico
Меня делфи добивает уже, теперь другая проблема как сделать так что, все что у меня в мемо поле он ДОБАВЛЯЛ в текстовый файл, я знаю что memo1.Lines.SaveToFile('log.txt') например он сохраняет, но при этом он заменяет все что там находится, а как сделать что бы он добавлял к уже сушествуюшему.


Всем привет.
Делается все просто:
Создаешь пустой TStringList, туда с помощью LoadToFile всасываеь строки из существующего файла, добавляешь строки из своего ListBox-а и сохраняешь в файл временный TStringList. Дешево и сердито
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter