Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.02.2012, 16:27   #1
glebast
Форумчанин
 
Аватар для glebast
 
Регистрация: 10.12.2011
Сообщений: 154
Восклицание Вывод текста.

Здравствуйте. Вот у меня такая програмка:
Цитата:
procedure TForm1.Button1Click(Sender: TObject);

var myFile : TextFile;
text: string;
a:string;
i:integer;
begin
randomize;
memo1.Text:='';
a:=edit1.Text;
if edit1.Text=a then
begin
for i:=1 to 10 do
begin
SL:=TStringList.Create;
SL.LoadFromFile('data/'+a+'.txt');
Memo1.Lines.Text:=(GetRandomLine(SL ));
end;
end;
Но почему то он выводи мне текст, только одну строчку, а мне надо три.
ПОмогите пожалуйста.
glebast вне форума
Старый 11.02.2012, 17:00   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);

var myFile : TextFile;
text: string;
a:string;
i:integer;
begin
randomize;
memo1.Text:='';
a:=edit1.Text;
if edit1.Text=a then
begin
for i:=1 to 10 do
begin
SL:=TStringList.Create;
SL.LoadFromFile('data/'+a+'.txt');
Memo1.Lines.add(GetRandomLine(SL )); 
Memo1.Lines.add(GetRandomLine(SL ));
Memo1.Lines.add(GetRandomLine(SL ));
end;
end;
Кольша вне форума
Старый 11.02.2012, 17:01   #3
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Потому что Вы записываете результат в Memo1.Lines.Text - это совокупность текста во всех строках. То есть Вы результат на каждом шаге цикла перезаписываете. Не помню точно, delphi под рукой нет, но примерно Вам нужно следующее
Код:
Memo1.Lines.Add(GetRandomLine(SL));
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума
Старый 11.02.2012, 17:51   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

а зачем вы делаете проверку типа
Код:
a:=edit1.Text;
if edit1.Text=a then
p.s только сейчас внимание обратил
Кольша вне форума
Старый 11.02.2012, 18:54   #5
glebast
Форумчанин
 
Аватар для glebast
 
Регистрация: 10.12.2011
Сообщений: 154
По умолчанию

Greblin ты супер, круто, все как и хотел.
Вот только появился новый вопрос. Мне нужно чтобы рандом не повторял одни и те же цифры (т.е. строки). Это надо вроде через массив как то надо делать, я в этом не бум-бум.
Очень прошу - помогите пожалуйста.
glebast вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод текста )Игнат( Общие вопросы Delphi 3 10.08.2010 09:51
Вывод текста Aleksey1989 Помощь студентам 7 25.04.2010 16:52
Вывод текста SeeWhoIam Помощь студентам 2 24.12.2009 22:36
C|Вывод текста Troi666 Помощь студентам 4 09.05.2009 01:31
вывод текста Shkentik Общие вопросы Delphi 5 21.04.2009 23:29