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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.10.2010, 20:22
mixmaxco mixmaxco вне форума
Прохожий
 
Регистрация: 31.10.2010
Сообщения: 3
Репутация: 10
Восклицание чтение из файла. нужна помощь!

помогите кто чем может!
из файла нужно прочитать и вставить в программу (а именно в label) текст, причем при определенном значении переменной в программе должна читаться определенная строка из файла. таких переменных в программе несколько. с помощью каких операций можно это сделать?
Ответить с цитированием
  #2  
Старый 31.10.2010, 20:58
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

У чтения текстового файла есть функция EOLN - чтение до конца строки.
А также EOF - чтение до конца файла. Пользоваться ими примерно можно так:
Код:
...
// пока не конец файла
While not(EOF(F)) do begin
// пока не конец строки:
While not(EOLN(F)) do begin
...
end;
end;

Ну а дальше простая запись в нужную вам переменную... (внутри циклов).
__________________
Помогаю за Спасибо
Ответить с цитированием
  #3  
Старый 31.10.2010, 21:08
mixmaxco mixmaxco вне форума
Прохожий
 
Регистрация: 31.10.2010
Сообщения: 3
Репутация: 10
По умолчанию

нужно, чтобы при определенном значении переменной в программе читалась определенная строка из файла. допустим у нас есть переменная "А". если она =2 то читается 10 строчка файла. если =4 то 23я. и тд.
Ответить с цитированием
  #4  
Старый 31.10.2010, 21:15
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Во первых: файл у вас типизированный или текстовый?
Во вторых: нету определенной функции для чтения определенной строки у текстового файла (у типизированного есть seek), поэтому чтобы читать определенную строчку из текстового файла, есть 2 варианта:
1. Записать весь текстовый файл в переменную например A: TStringList, а потом обращаться к нужной строчке так: A.String[i];
2. Читать все строчки, пока не дойдем до нужной.

ЗЫ я бы делал 1 вариант так:
Код:
var
  A: TStrinList;
...
FormCreate
  A := TStringList.Create;
//читаю:
A.LoadFromFile('путь к вашему текстовому файлу.txt');
...
И вот что вам надо, ваша строчка:
Case x of // если х = 2, то 10 строчка:
...
2: A.String[10] - и будет нужная вам строка.
3:
...
end;
...
FormDestroy
A.Free;
Т.к. я полагаю читать из файла надо несколько раз, а в этом случае второй способ будет выполняться дольше, т.к. постоянно при чтении будет происходить чтение файла до нужной строки, а в первом варианте мы читаем весь файл еще в начале...
__________________
Помогаю за Спасибо

Последний раз редактировалось v1s2222, 31.10.2010 в 21:19.
Ответить с цитированием
  #5  
Старый 31.10.2010, 21:29
mixmaxco mixmaxco вне форума
Прохожий
 
Регистрация: 31.10.2010
Сообщения: 3
Репутация: 10
По умолчанию

A.String[10] - по-моему так будет читаться 10й символс стоки, а не 10я строка файла? или я не прав? у меня файлс расширенем .тхт. а переменная А у вас какого типа? строковая?
Ответить с цитированием
  #6  
Старый 31.10.2010, 21:35
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Не A.String[10], а A.Strings (я ошибся)[10] - будет 10 строка, т.к. у меня переменная не строковая, а TStringList, это можно сказать массив строк.
Вот пример работы с TStringList:
Код:
var
  s: TStringList;
begin
  s := TStringList.Create;
  s.Add('hello');
  s.Add('a');
  s.Add('c');
  s.Add('b');
//  s.SaveToFile(path); // сохранение в файл
//  s.LoadFromFile(path); // загрузка из файла
//  s.Sort; // сортировка
  s.Strings[1] - вернет "а", т.к. элементы начинаются с нуля.
  s.Free;
__________________
Помогаю за Спасибо
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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