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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.05.2008, 09:02
Nicoman Nicoman вне форума
Прохожий
 
Регистрация: 13.05.2008
Сообщения: 13
Репутация: 10
По умолчанию Число из файла не присваивается переменной

программа выглядит примерно так:
Код:
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,UnitGl, ComCtrls, Buttons, ExtCtrls, Grids;

type
  TForm4 = class(TForm)
    GroupBox1: TGroupBox;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label1: TLabel;
    Button5: TButton;
    Bevel1: TBevel;
    Button6: TButton;
    Bevel2: TBevel;
    BitBtn1: TBitBtn;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;
  Work:TMain1;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
begin
 If OpenDialog1.Execute Then
  Begin
   Work:=TMain1.Create(OpenDialog1.FileName);
  End;
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
 work.polniispis(StringGrid1);
end;

end.

unit UnitGl;

interface

Uses Dialogs,StdCtrls,SysUtils,grids;

type
TData=record
 day:1..31;
 month:1..12;
 year:Integer;
end;

TOcheredniki=record
 fam:String;
 name:String;
 otch:String;
 plosh:Integer;
 kol:Byte;
 srok:TData;
 staj:TData;
end;

TMain=class
 protected
  NameFile:String;
  l:Integer;
  D:Array Of TOcheredniki;
 public
  Constructor Create(UnitFile:String);
  Destructor Destroy; override;
  Procedure polniispis(StrGr:TStringGrid);
end;

TMain1=class(TMain)
 published
  Constructor Create(UnitFile:String);
  Destructor Destroy; override;
end;

implementation
 Constructor TMain.Create(UnitFile:String);
  Var f:TextFile;
      i:Integer;
      s:String;
  begin
   NameFile:=UnitFile;
   AssignFile(f,UnitFile);
   Reset(f);
   ReadLn(f,l); {Вот здесь переменная l ничего не считывает и    получается= 0}
   SetLength(d,l);
   For i:=1 To l Do
    Begin
     ReadLn(f,d[i].fam);
     ReadLn(f,d[i].name);
     ReadLn(f,d[i].otch);
     ReadLn(f,d[i].plosh);
     ReadLn(f,d[i].kol);
     ReadLn(f,d[i].srok.day,d[i].srok.month,d[i].srok.year);
     ReadLn(f,d[i].staj.day,d[i].staj.month,d[i].staj.year);
    End;
   CloseFile(f);
  end;

  Procedure TMain.polniispis(StrGr:TStringGrid);
   var i:Integer;
   begin
    StrGr.RowCount:=l;
      For i:=1 To l Do
   end;

  Destructor TMain.Destroy;
   begin
   end;
  Constructor TMain1.Create(UnitFile:String);
   begin
   end;
  Destructor TMain1.Destroy;
   begin
   end;
end.
Так программа запускается, работает, но l = 0.
В текстовом файле в самом начале стоит число не равное 0.
Помогите плиз, если знаете в чем дело...


Aristarh Dark: пользуемся тэгами!!!
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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