Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / проблема с работой типизированными файлами / 11 сообщений из 11, страница 1 из 1
31.01.2018, 20:40
    #39594400
shot91
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    MainMenu1: TMainMenu;
    V1: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    Memo1: TMemo;
    N5: TMenuItem;
    N6: TMenuItem;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
fs=string[10];

var
  Form1: TForm1;
  dir, fName: string;
  f1: fs;

implementation

{$R *.dfm}

function Count1(var f:fs):integer;
 var
 k, i: integer;
 s: string;
begin
    reset(f);
    k:=0;
    while (not eof(f)) do
    begin
    read(f,s); 
       if  s='' then continue; // Çàùèòà îò ïóñòîé ñòðîêè
       if(ord(s[1])>=$30) and (ord(s[1])<=$39) then k:=k+1; //&#237;&#243;&#230;&#237;&#238; &#243;&#241;&#235;&#238;&#226;&#232;&#229; &#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238; &#241;&#242;&#240;&#238;&#234; &#244;&#224;&#233;&#235;&#224; fs, &#237;&#224;&#247;&#232;&#237;&#224;&#254;&#249;&#232;&#245;&#241;&#255; &#241; &#246;&#232;&#244;&#240;&#251;
    end;
    closeFile(f);
    count1:=k;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
dir:=ExtractFileDir(paramStr(0))+'\files';
OpenDialog1.InitialDir:=dir;
SaveDialog1.InitialDir:=dir;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
fName:=OpenDialog1.FileName;  //&#209;&#238;&#245;&#240;&#224;&#237;&#229;&#237;&#232;&#229; &#239;&#243;&#242;&#232; &#232; &#232;&#236;&#229;&#237;&#232; &#238;&#242;&#234;&#240;&#251;&#226;&#224;&#254;&#249;&#229;&#227;&#238;&#241;&#255; &#244;&#224;&#233;&#235;&#224;
end;

procedure TForm1.N2Click(Sender: TObject);
begin
if Memo1.Lines.Count=0 then
begin
  ShowMessage('&#205;&#229;&#247;&#229;&#227;&#238; &#241;&#238;&#245;&#240;&#224;&#237;&#255;&#242;&#252;');
  exit
end;
if SaveDialog1.Execute then
begin
  Memo1.Lines.SaveToFile(saveDialog1.FileName);
  fName:=saveDialog1.FileName;  //&#209;&#238;&#245;&#240;&#224;&#237;&#229;&#237;&#232;&#229; &#239;&#243;&#242;&#232; &#232; &#232;&#236;&#229;&#237;&#232; &#241;&#238;&#245;&#240;&#224;&#237;&#255;&#229;&#236;&#238;&#227;&#238; &#244;&#224;&#233;&#235;&#224;
end;
end;

procedure TForm1.N6Click(Sender: TObject);
begin
Memo1.Clear;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
if MessageDlg('&#194;&#251; &#228;&#229;&#233;&#241;&#242;&#226;&#232;&#242;&#229;&#235;&#252;&#237;&#238; &#245;&#238;&#242;&#232;&#242;&#229; &#243;&#228;&#224;&#235;&#232;&#242;&#252; &#244;&#224;&#233;&#235;'+OpenDialog1.filename+'?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    DeleteFile(OpenDialog1.filename)
end;

procedure TForm1.N5Click(Sender: TObject);
begin
AssignFile(f1,FName); // &#241;&#226;&#255;&#231;&#251;&#226;&#224;&#229;&#242; &#244;&#224;&#233;&#235;&#238;&#226;&#243;&#254; &#239;&#229;&#240;&#229;&#236;&#229;&#237;&#237;&#243;&#254; &#232; &#244;&#224;&#233;&#235;, &#232;&#236;&#255; &#234;&#238;&#242;&#238;&#240;&#238;&#227;&#238; &#243;&#234;&#224;&#231;&#224;&#237;&#238; &#226; FName
Edit1.Text:=IntTostr(Count1(f1));
end;

end.

...
Рейтинг: 0 / 0
31.01.2018, 21:12
    #39594422
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
Что надо сделать? Что не получилось?
Нет смысла вываливать сюда чужой код.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
31.01.2018, 21:29
    #39594437
shot91
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
Гаджимурадов РустамЧто надо сделать? Что не получилось?
Нет смысла вываливать сюда чужой код.

с чего он чужой? у меня проблема что не могу сделать я работу программы с типизированными файлами. данная программа должна открывать файл и подсчитывать сколько строк начинаются на цифру и выводить
...
Рейтинг: 0 / 0
31.01.2018, 21:31
    #39594438
shot91
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
Составить, отладить и представить преподавателю для проверки программу на языке Object Pascal , решающую Ваш вариант задания. Программа должна вводить исходные данные, используя компоненты TEdit или TMemo, TStringGrid и т п, или получать их при помощи генератора случайных чисел. Результаты вычислений должны, как правило, выводиться при помощи компонент TLabel, TEdit TMemo, TStringGrid и т п.
Программа должна обязательно использовать тип данных ФАЙЛ ( File ).
Программа должна иметь главное меню, содержащее пункт «Файл» . В этом пункте должны быть субменю: Открыть, Сохранить как, Удалить.
Кроме того, на форме должны быть установлены (невидимые) компоненты: OpenDialog и SaveDialog, облегчающие открытие и сохранение файлов.


type fs = file of string[10]; Функция Count1(var f: fs) :Integer Вашей программы определяет число строк файла типа fs, которые начинаются с цифры.
...
Рейтинг: 0 / 0
31.01.2018, 21:33
    #39594441
shot91
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
Вот рабочая программа но преподу не понравилось что я использовал файлы типа текс
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    MainMenu1: TMainMenu;
    V1: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    Memo1: TMemo;
    N5: TMenuItem;
    N6: TMenuItem;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


function Count1(var f:TextFile):integer;
var
  Form1: TForm1;
  dir, fName: string;
  f1:TextFile;

implementation

{$R *.dfm}

function Count1(var f:TextFile):integer;
 var
 k, i: integer;
 S: String;

begin
    reset(f);
    k:=0;
     while (not eof(f)) do
      begin
       ReadLn(f,S);

       //&#199;&#224;&#249;&#232;&#242;&#224; &#238;&#242; &#239;&#243;&#241;&#242;&#238;&#233; &#241;&#242;&#240;&#238;&#234;&#232;
       if S = '' then continue;
       if (ord(S[1]) >= $30) and (ord(S[1]) <= $39) then k:=k+1;
       
    end;

    closeFile(f);
    result:=k;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
dir:=ExtractFileDir(paramStr(0))+'\files';
OpenDialog1.InitialDir:=dir;
SaveDialog1.InitialDir:=dir;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
fName:=OpenDialog1.FileName;  //&#209;&#238;&#245;&#240;&#224;&#237;&#229;&#237;&#232;&#229; &#239;&#243;&#242;&#232; &#232; &#232;&#236;&#229;&#237;&#232; &#238;&#242;&#234;&#240;&#251;&#226;&#224;&#254;&#249;&#229;&#227;&#238;&#241;&#255; &#244;&#224;&#233;&#235;&#224;
end;

procedure TForm1.N2Click(Sender: TObject);
begin
if Memo1.Lines.Count=0 then
begin
  ShowMessage('&#205;&#229;&#247;&#229;&#227;&#238; &#241;&#238;&#245;&#240;&#224;&#237;&#255;&#242;&#252;');
  exit
end;
if SaveDialog1.Execute then
begin
  Memo1.Lines.SaveToFile(saveDialog1.FileName);
  fName:=saveDialog1.FileName;  //&#209;&#238;&#245;&#240;&#224;&#237;&#229;&#237;&#232;&#229; &#239;&#243;&#242;&#232; &#232; &#232;&#236;&#229;&#237;&#232; &#241;&#238;&#245;&#240;&#224;&#237;&#255;&#229;&#236;&#238;&#227;&#238; &#244;&#224;&#233;&#235;&#224;
end;
end;

procedure TForm1.N6Click(Sender: TObject);
begin
Memo1.Clear;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
if MessageDlg('&#194;&#251; &#228;&#229;&#233;&#241;&#242;&#226;&#232;&#242;&#229;&#235;&#252;&#237;&#238; &#245;&#238;&#242;&#232;&#242;&#229; &#243;&#228;&#224;&#235;&#232;&#242;&#252; &#244;&#224;&#233;&#235;'+OpenDialog1.filename+'?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    DeleteFile(OpenDialog1.filename)
end;

procedure TForm1.N5Click(Sender: TObject);
begin
AssignFile(f1,FName); // &#241;&#226;&#255;&#231;&#251;&#226;&#224;&#229;&#242; &#244;&#224;&#233;&#235;&#238;&#226;&#243;&#254; &#239;&#229;&#240;&#229;&#236;&#229;&#237;&#237;&#243;&#254; &#232; &#244;&#224;&#233;&#235;, &#232;&#236;&#255; &#234;&#238;&#242;&#238;&#240;&#238;&#227;&#238; &#243;&#234;&#224;&#231;&#224;&#237;&#238; &#226; FName
Edit1.Text:=IntTostr(Count1(f1));
end;

end.
...
Рейтинг: 0 / 0
31.01.2018, 21:49
    #39594449
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
shot91с чего он чужой?

С того, что в своём (уме) никто не объявил бы fs:string[10].
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
31.01.2018, 21:58
    #39594458
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
shot91> преподу не понравилось что я использовал файлы типа текс
shot91> f1:TextFile;

Ну так с типизированными файлами надо иначе работать.
Например, как с потоком (TFileStream). Хотя непонятно,
зачем, если считывать всё равно надо строки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
31.01.2018, 22:00
    #39594462
shot91
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
Гаджимурадов Рустамshot91> преподу не понравилось что я использовал файлы типа текс
shot91> f1:TextFile;

Ну так с типизированными файлами надо иначе работать.
Например, как с потоком (TFileStream). Хотя непонятно,
зачем, если считывать всё равно надо строки.


Подскажи тогда пожалуйста, что и как я типизированные файлы даже не помню учил их в гараже или так поверхностно коснулись их
...
Рейтинг: 0 / 0
31.01.2018, 22:15
    #39594466
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
shot91Гаджимурадов Рустамshot91> преподу не понравилось что я использовал файлы типа текс
shot91> f1:TextFile;

Ну так с типизированными файлами надо иначе работать.
Например, как с потоком (TFileStream). Хотя непонятно,
зачем, если считывать всё равно надо строки.


Подскажи тогда пожалуйста, что и как я типизированные файлы даже не помню учил их в гараже или так поверхностно коснулись их
Подсказыываю:
http://mif.vspu.ru/books/pascal/
...
Рейтинг: 0 / 0
31.01.2018, 22:18
    #39594467
shot91
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
defecatorshot91пропущено...


Подскажи тогда пожалуйста, что и как я типизированные файлы даже не помню учил их в гараже или так поверхностно коснулись их
Подсказыываю:
http://mif.vspu.ru/books/pascal/


Ну да умник просто. Мне заново Паскаль учить? Я и так читал про файлы но не понимаю их. Иначе если бы понял не писал бы сюда. Походу сами мало что знаете
...
Рейтинг: 0 / 0
31.01.2018, 22:25
    #39594470
shot91
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с работой типизированными файлами
Могли бы показать наглядно как пишется и объяснить мне. Бывает такое что человек не может понять пока это не увидит. Я же не кидаю чисто условие и не прошу решить за меня все. Программа сама написана... Но вот условия по задаче не соблюдены
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / проблема с работой типизированными файлами / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]