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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.11.2007, 17:14   #1
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию Чтение файла

Уважаемы форумчане подскажите как осуществить следующее:

Есть текстовый файл: содержание следующее

10
12
13
14
15
16

Как мне считать только 4 строку и присвоить ее значение (14) скажем переменной p?

Спасибо...
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума
Старый 22.11.2007, 17:37   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Код:
var f:textfile;
    i,n,p:integer;
begin
assignfile(f,'C:\111.txt');
reset(f);
n:=4;
for i:=1 to n do readln(f,p);
closefile(f);
В итоге в переменной окажется 14. (Напоминаю: хоть файл и текстовый, но при помощи read/readln из него МОЖНО считывать числа напрямую, без strtoint!)
zetrix вне форума
Старый 22.11.2007, 17:46   #3
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Есть такая процедурка seek
Код:
var 
    f:textfile;
    p:integer;
begin
   assignfile(f,'C:\111.txt');
   reset(f);
   seek(f,4)
   readln(f,p);
   closefile(f);
Domovoy вне форума
Старый 22.11.2007, 21:25   #4
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от zetrix Посмотреть сообщение
Код:
var f:textfile;
    i,n,p:integer;
begin
assignfile(f,'C:\111.txt');
reset(f);
n:=4;
for i:=1 to n do readln(f,p);
closefile(f);
В итоге в переменной окажется 14. (Напоминаю: хоть файл и текстовый, но при помощи read/readln из него МОЖНО считывать числа напрямую, без strtoint!)
Я зделал так:

procedure TForm1.Button1Click(Sender: TObject);

begin

assignfile(f,'1.txt');
reset(f);
//n:=StrToInt(Edit1.Text);
n:=n+1;
for i:=1 to n do readln(f,p);
closefile(f);
label1.Caption:=''+(p);
end;

end.

т.е при нажатии на кнопку мы читаем следующею строку и ввыводим ее в label теперь такой глупый вопрос как узнать что стока пустая ...
может так if count = ' ' then showmessage('Достигнут конец строки'); ?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума
Старый 22.11.2007, 22:26   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Например, IF LABEL1.CAPTION='' THEN или IF Р='' THEN ... строка пуста.
Кстати, в строке
label1.Caption:=''+(p);
помеченное красным можно смело не писать.

Последний раз редактировалось mihali4; 23.11.2007 в 00:57.
mihali4 вне форума
Старый 23.11.2007, 00:50   #6
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Например, IF LABEL1.CAPTION='' THEN... строка пуста.

А другого способа найти пустую строку нету?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..

Последний раз редактировалось Stanislav; 23.11.2007 в 00:54.
Stanislav вне форума
Старый 23.11.2007, 04:57   #7
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

Цитата:
А другого способа найти пустую строку нету?
да их валом этих способов....
EmptyStr
Trim
можешь проверку сделать на количество символов в строке
if length(trim(label1.caption)) = 0 then
dron-s вне форума
Старый 23.11.2007, 10:08   #8
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от zetrix Посмотреть сообщение
Код:
var f:textfile;
    i,n,p:integer;
begin
assignfile(f,'C:\111.txt');
reset(f);
n:=4;
for i:=1 to n do readln(f,p);
closefile(f);
В итоге в переменной окажется 14. (Напоминаю: хоть файл и текстовый, но при помощи read/readln из него МОЖНО считывать числа напрямую, без strtoint!)
Как вывести текстовую строку в TEdit из файла? Пусть эта строка так же будет четвёртой.
FaTaL вне форума
Старый 23.11.2007, 10:13   #9
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

Код:
var 
  f:textfile;
  i,n,p:integer;
begin
assignfile(f,'C:\111.txt');
reset(f);
n:=4;
for i:=1 to n do 
  readln(f,p);
edit1.text := IntToStr(p);
closefile(f);
?
dron-s вне форума
Старый 23.11.2007, 10:15   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как вывести текстовую строку в TEdit из файла?
Там после Closefile Edit1.text:=s, где s - считанная строка.
Если по твоему коду то:

Edit1.text:=inttostr(p)
Цитата:
Пусть эта строка так же будет четвёртой.
Я может чет не допонял но в Эдит в принципе однострочный...
Цитата:
Есть такая процедурка seek
ойли с ней получится?
Она ж только в типированных и нетипированных работает.
А тут текстовый...
I'm learning to live...
Stilet вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение файла [Smarik] Помощь студентам 8 28.04.2008 22:15
Чтение из файла... Bill Gates Общие вопросы Delphi 3 22.03.2008 22:13
чтение файла Arteom Общие вопросы Delphi 6 27.08.2007 18:15
Чтение из файла Need_Help Паскаль, Turbo Pascal, PascalABC.NET 5 19.05.2007 05:37
чтение файла vicvtor Общие вопросы Delphi 4 27.11.2006 12:26