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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2008, 11:38   #1
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию Чтение из файла

Нужно считывать из файла несколько строк и некоторые символы из строки...
примерно так:
5 6 7
3 8 12
3 5 6
мне нужно в цикле пробежать от 1 до последней строки и записать в переменные каждое из чисел, отделённые пробелом друг от друга.

в результате
1 шаг a=5 b=6 c=7
2 шаг a=3 b=8 c=12
3 шаг a=3 b=5 c=6
ну и так далее, если есть ещё строки...

Помогите реализовать это...
Arkuz вне форума Ответить с цитированием
Старый 06.10.2008, 14:19   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
var
  t: textfile;
  a, b, c: integer;
begin
  assignfile(t, '0.txt');
  reset(t);
  while not eof(t) do
  begin
    readln(t, a, b, c);//читаем
    listbox1.items.add(inttostr(a) + ' ' +
    inttostr(b) + ' ' + inttostr(c))//куда-нибудь помещаем
  end;
  closefile(t);
end;
eoln вне форума Ответить с цитированием
Старый 06.10.2008, 14:42   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Простой пример(для большего количества записей используйте цикл):
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var F :TextFile;
begin
 AssignFile(F, ExtractFilePath(ParamStr(0))+'~0.txt');
  {$I-}
 ReWrite(F);
  {$I+}
 WriteLn(F, 5, ' ', 6, ' ', 10);
 CloseFile(F);
end;

procedure TForm1.Button1Click(Sender: TObject);
var F :TextFile;
    a,b,c :Integer;
begin
 AssignFile(F, ExtractFilePath(ParamStr(0))+'~0.txt');
  {$I-}
 Reset(F);
  {$I+}
 ReadLn(F, a, b, c);
  Edit1.Text := Format('a=%d; b=%d; c=%d.', [a, b, c]);
 CloseFile(F);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 if FileExists(ExtractFilePath(ParamStr(0))+'~0.txt') then
 DeleteFile(ExtractFilePath(ParamStr(0))+'~0.txt');
end;

end.
Alter вне форума Ответить с цитированием
Старый 06.10.2008, 18:32   #4
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Спасибо, очень помогли...
Arkuz вне форума Ответить с цитированием
Старый 06.10.2008, 19:46   #5
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Подскажите как сделать, чтобыбыло вот так:
Если встречается *rule, то в a,b,c присваиваются 1 2 3
Если встречается *input, то в d присваиваются 6
Если встречается *output, то в e присваиваются 7
типа файл конфигурации...
---------
*rule
1 2 3
*input
6
*output
7
---------
и как например читать определённую строку в файле... Как нибудь строки индексуются?

Последний раз редактировалось Arkuz; 06.10.2008 в 22:15.
Arkuz вне форума Ответить с цитированием
Старый 06.10.2008, 22:16   #6
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

нужно использовать возможность, что в *rule может быть несколько записей, их по очереди нужно все перенести в переменные...

---------
*rule
1 2 3
4 5 6
7 8 9
*input
6
*output
7
---------
вот так например
Arkuz вне форума Ответить с цитированием
Старый 06.10.2008, 22:19   #7
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Я попробовал сделать, но почему-то считывает каждую 2 строку с числами
1 2 3
3 2 1
2 5 8
9 4 7
5 5 5
4 6 8

ничего придумать не могу
исходник прилепил
Вложения
Тип файла: rar читаем из файла.rar (7.0 Кб, 11 просмотров)
Arkuz вне форума Ответить с цитированием
Старый 06.10.2008, 22:29   #8
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

А нет случайно решения, которое реализует, то что я сказал более просто...
В делфи никак нельзя сделать файл конфигурации... Это не поддерживается средствами делфи?
Arkuz вне форума Ответить с цитированием
Старый 06.10.2008, 22:46   #9
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Цитата:
Сообщение от Arkuz Посмотреть сообщение
В делфи никак нельзя сделать файл конфигурации... Это не поддерживается средствами делфи?
Можно, например "INI файлы", "Реестр", "RECORD файлы", и т.д.
Alter вне форума Ответить с цитированием
Старый 07.10.2008, 01:45   #10
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от Alter Посмотреть сообщение
Можно, например "INI файлы", "Реестр", "RECORD файлы", и т.д.
А из ини файлов проще читать данные?
Arkuz вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение файла [Smarik] Помощь студентам 8 28.04.2008 22:15
Чтение файла Stanislav Общие вопросы Delphi 18 24.11.2007 20:45
чтение файла 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