![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день. У меня возникла проблема, мне дан документ в котором написаны месяца. Мне надо сделать так, чтоб при нажатии кнопки Button1 информация из документа загрузилась в Memo1, но была бы написана в обратном порядке. Т.е с низу вверх. Там написано примерно так в исходнике:
Январь Февраль Март Апрель и т.д. А надо сделать чтоб отображалось при нажатии кнопки вот так: Декабрь Ноябрь Октябрь Сентябрь и т.д. Помогите сделать так, за ранее спасибо жду ответа. |
#2
|
||||
|
||||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); var i,s:integer; begin memo1.Lines.LoadFromFile('file.txt'); s:=memo1.Lines.Count; for i:=0 to memo1.Lines.Count do begin memo2.Lines.Add(Memo1.Lines.Strings[s]); s:=s-1; end; end; |
#3
|
|||
|
|||
![]() А можно обойтись 1 Memo как то ?
|
#4
|
||||
|
||||
![]() Поскольку само memo сортировать данные не умеет,
то придется создать какую-нибудь переменную абстрактного класса tstringlist затем присвоить этому классу строки из memo, отсортировать их и присвоить их обратно memo. Код:
procedure tform1.button1click(sender: tobject); var t:tstringlist; begin t:=tstringlist.create; t.addstrings(memo1.lines); t.sort; memo1.clear; memo1.lines.addstrings(t); end; Так как тебе нужна не сортировка, то с помощью предыдущего кода добавляй по одной строке... |
#5
|
||||
|
||||
![]() Код:
var f: Text; ... implementation ... procedure ... var s: String; begin AssignFile(f, 'YourFileName'); Reset(f); while not EOF(f) do begin ReadLn(f, s); if Memo1.Lines.Count = 0 then Memo1.Lines.Add(s) else Memo1.Lines.Insert(1, s); end; CloseFile(f); end; Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |