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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2008, 11:45   #1
juden
Пользователь
 
Аватар для juden
 
Регистрация: 28.03.2007
Сообщений: 67
Восклицание В чем ошибка!!!

Здравствуйте.
Подскажите в чем касяк??

Код:
procedure read_spisk_predmet(var list : TList);
var f: TextFile;
    s: string;
begin
AssignFile(f, 'list_predmet.txt');
Reset(f);
while not EOF(f) do
begin
  readln(f, s);
  list.Add(@s);
end;
end;
при выполнении выкидывает:
error.JPG
Проблема не в том могут ли машины думать, а в том - делают ли это люди?
B. F. Skinner
juden вне форума Ответить с цитированием
Старый 09.03.2008, 11:53   #2
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Код:
AssignFile(F,'list_predmet.txt');
var f: TextFile;   
s: string;
begin        
Reset(F);
While not EOF(F) do
begin
Read(F,s);
list.Add(@s); 
end;
CloseFile(F);
end;
должен работать
Исходники программ - http:\\www.kort.3dn.ru

Последний раз редактировалось KORT; 09.03.2008 в 11:55.
KORT вне форума Ответить с цитированием
Старый 09.03.2008, 12:04   #3
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Не надо сохранять адреса локальных переменных. Ни к чему хорошему это не приведет.

Код:
procedure read_spisk_predmet(var list : TStringList);   
var f: TextFile;   
    s: string;   
begin  
AssignFile(f, 'list_predmet.txt');   
Reset(f);   
while not EOF(f) do  
begin  
  readln(f, s);   
  list.Add(s);   
end;   
end;
alexBlack вне форума Ответить с цитированием
Старый 09.03.2008, 12:07   #4
juden
Пользователь
 
Аватар для juden
 
Регистрация: 28.03.2007
Сообщений: 67
По умолчанию

KORT
не помагло, делфя ругается именно на:
list.Add(@s);
Проблема не в том могут ли машины думать, а в том - делают ли это люди?
B. F. Skinner
juden вне форума Ответить с цитированием
Старый 09.03.2008, 12:09   #5
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

А объект list у вас создан?
list:=TList.Create;

И alexBlack прав, нужно использовать TStringList
_Dmitry вне форума Ответить с цитированием
Старый 09.03.2008, 12:22   #6
juden
Пользователь
 
Аватар для juden
 
Регистрация: 28.03.2007
Сообщений: 67
По умолчанию

пробовал создавать объект всеравно там же ругается, и с TStringList пробовал, ругается там же:
list.Add(s);
Проблема не в том могут ли машины думать, а в том - делают ли это люди?
B. F. Skinner
juden вне форума Ответить с цитированием
Старый 09.03.2008, 12:25   #7
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Тогда весь код в студию...
_Dmitry вне форума Ответить с цитированием
Старый 09.03.2008, 12:49   #8
juden
Пользователь
 
Аватар для juden
 
Регистрация: 28.03.2007
Сообщений: 67
По умолчанию

Код:
unit Unit1;

interface

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

type
  Tglav = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label1: TLabel;
    Button4: TButton;
    procedure Button4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    list_predmet: TStringList;
    { Public declarations }
  end;

var
  glav: Tglav;

implementation
uses Unit2;
procedure read_spisk_predmet(var list : TStringList);
var f: TextFile;
    s: String;
begin
//list := list.Create;
AssignFile(f, 'list_predmet.txt');
Reset(f);
while not EOF(f) do
begin
  readln(f, s);
  ShowMessage(s);
  list.Add(s);
end;
CloseFile(f);
end;



{$R *.dfm}

procedure Tglav.Button4Click(Sender: TObject);
begin
Close;
end;

procedure Tglav.Button1Click(Sender: TObject);
begin
read_spisk_predmet(list_predmet);

end;

end.
исходник:
Вложения
Тип файла: rar bd_prepod.rar (177.7 Кб, 12 просмотров)
Проблема не в том могут ли машины думать, а в том - делают ли это люди?
B. F. Skinner
juden вне форума Ответить с цитированием
Старый 09.03.2008, 12:56   #9
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Код:
procedure Tglav.Button1Click(Sender: TObject);   
begin  
  list_predmet := TStringList.Create;
  read_spisk_predmet(list_predmet);   
 
end;
alexBlack вне форума Ответить с цитированием
Старый 09.03.2008, 13:01   #10
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

И смени кодировку текстового файла: OEM->Ansi
_Dmitry вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка с mod Kn793 Помощь студентам 2 16.07.2008 13:28
ОШИБКА YLIANOVA83 Microsoft Office Word 5 07.03.2008 15:02
в чем ошибка? Lonix Общие вопросы Delphi 2 24.03.2007 09:41