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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2012, 02:28   #1
Валера К
Пользователь
 
Аватар для Валера К
 
Регистрация: 09.09.2010
Сообщений: 10
По умолчанию Работа с текстом

Всем доброго времени суток! Помогите мне решить пожалуйста вот такую проблему...
У меня есть текстовый документ, как сделать так, что бы при открытии формы первая строка данного документа скопировалась
к примеру в поле "label"
За ранее спасибо
Валера К вне форума Ответить с цитированием
Старый 14.01.2012, 02:49   #2
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

В событии формы( я так и не понял, форма у тебя главная или нет? От этого зависит в каком событии будешь описывать действия) описываешь действия:
связываешь файл с файловой переменной. Открываешь файл для чтения. Забираешь первую строку в строковую переменную. Значение строковой переменной записываешь в метку. Этого думаю достаточно.
Базиля вне форума Ответить с цитированием
Старый 14.01.2012, 02:56   #3
Валера К
Пользователь
 
Аватар для Валера К
 
Регистрация: 09.09.2010
Сообщений: 10
По умолчанию

Форма главная, хотелось бы увидеть как это примерно выглядит в виде кода
Валера К вне форума Ответить с цитированием
Старый 14.01.2012, 02:57   #4
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Я вам в скайп напишу, мне немного не удобно сейчас здесь общаться)
Базиля вне форума Ответить с цитированием
Старый 14.01.2012, 10:06   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в коде это выглядит примерно так:
Код:
procedure TForm1.FormCreate(Sender: TObject);
const
  MyTextFileName = 'C:\temp.txt';
var f :TextFile;
   s : string;
begin
  if FileExists(MyTextFileName) then begin
    AssignFile(f, MyTextFileName);
    Reset(f);
    s := 'файл пуст';
    if not eof(f) then Readln(f, s);
    Label1.Caption := s;
    CloseFile(f);
  end
  else Label1.Caption := 'файл '+MyTextFileName+' не найден!';

end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.01.2012, 16:06   #6
Валера К
Пользователь
 
Аватар для Валера К
 
Регистрация: 09.09.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
в коде это выглядит примерно так:
Код:
procedure TForm1.FormCreate(Sender: TObject);
const
  MyTextFileName = 'C:\temp.txt';
var f :TextFile;
   s : string;
begin
  if FileExists(MyTextFileName) then begin
    AssignFile(f, MyTextFileName);
    Reset(f);
    s := 'файл пуст';
    if not eof(f) then Readln(f, s);
    Label1.Caption := s;
    CloseFile(f);
  end
  else Label1.Caption := 'файл '+MyTextFileName+' не найден!';

end;
Serge_Bliznykov спасибо! Данный код действительно читает первую строку текстового файла, но какие изменения надо в нем сделать, что бы он читал допустим 2-ю строку?
Валера К вне форума Ответить с цитированием
Старый 14.01.2012, 16:13   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
const
  MyTextFileName = 'C:\temp.txt';
var 
   f: TextFile;
   s: string;
   i: integer;
begin
    i := 0;
    if FileExists(MyTextFileName) then
    begin
        AssignFile(f, MyTextFileName);
        Reset(f);
        s := 'файл пуст';
        if not eof(f) then
        begin
            Readln(f, s);
            Inc(i);
            if i = <Нужный номер строки> then
                Label1.Caption := s;
         end;
         CloseFile(f);
      end
      else Label1.Caption := 'файл '+MyTextFileName+' не найден!';
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 15.01.2012, 14:19   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Hacker19_90, браво. отличный и рабочий код.
Я бы только дополнил его - если прочитали нужную строчку - то прерывать цикл (Ваш пример прочитает построчно весь файл. Это, конечно, не ошибка. но зачем нам "мучить" файл и "терзать" процессор - если то, что нам надо, мы уже из файла получили:
Код:
        while not eof(f) do
        begin
            Readln(f, s);
            Inc(i);
            if i = <Нужный номер строки> then 
            begin
                Label1.Caption := s;
                Break;
            end; 
         end;
         CloseFile(f);

Последний раз редактировалось Serge_Bliznykov; 15.01.2012 в 16:28.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.01.2012, 14:26   #9
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Serge_Bliznykov
Цитата:
отличный и рабочий код.
Почему же он рабочий если отсутсвует цикл для пробега по строкам файла?
Код:
 if not eof(f) then
сменить на
Код:
while not eof (f) do
Очень надеюсь что человек подразумевал цикл, и коим образом описался...
Базиля вне форума Ответить с цитированием
Старый 15.01.2012, 16:20   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Базиля Посмотреть сообщение
Serge_Bliznykov

Почему же он рабочий если отсутсвует цикл для пробега по строкам файла?
Код:
 if not eof(f) then
сменить на
Код:
while not eof (f) do
Очень надеюсь что человек подразумевал цикл, и коим образом описался...
ну да, конечно же Вы правы.
А мне минус, я проглядел очевидный ляп...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с текстом с++ Dawka1305 Помощь студентам 1 31.01.2011 21:07
Работа с текстом С++ Verwolf Помощь студентам 4 02.11.2009 17:18
Работа с текстом. J0n1cK Паскаль, Turbo Pascal, PascalABC.NET 4 09.05.2009 00:29
Работа с текстом boostman Общие вопросы Delphi 5 14.09.2008 12:57
Работа с текстом Sanek_ntsk Общие вопросы C/C++ 10 12.01.2008 19:42