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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.04.2011, 11:51
phasha phasha вне форума
Прохожий
 
Регистрация: 16.04.2011
Сообщения: 13
Репутация: 10
Вопрос интересный вопрос...

я собрал программу в делфи в сонсоле,она работает.но не так как хотелось бы.у кого какие идеи???

программа должна быть с типизированным файлом file of integer и должна добавлять в конец файла копии положительных чисел.

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

type fint=file of integer;

procedure test4c(var f:fint);
var g:fint;i,x:integer;
begin
reset(f); i:=0; x:=0;
assign(g,'asd.txt');
rewrite(g);
while not eof(f) do begin
read(f,i);
write(g,i);
end;close(f);
reset(f);
while not eof(f) do begin read(f,x);
if x>0 then begin write(g,x);end;
end;
close(f);close(g);
reset (g);
rewrite(f);
while not eof(g) do begin read(g,i); write(f,i);
end; close(f);close(g);erase(g);
end;
var f:fint;
begin
assign(f,'a.txt');
test4c(f);
end.
Админ: Пользуемся тегами, иначе последуют санкции!

Последний раз редактировалось Admin, 16.04.2011 в 12:45.
Ответить с цитированием
  #2  
Старый 16.04.2011, 18:19
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Цитата:
она работает.но не так как хотелось бы
Что под этим понимается?
Ответить с цитированием
  #3  
Старый 16.04.2011, 23:18
phasha phasha вне форума
Прохожий
 
Регистрация: 16.04.2011
Сообщения: 13
Репутация: 10
По умолчанию

ну она дописывает в конец файла все подряд а должна дописывать ТОЛЬКО положительные числа...вот и не могу понять в чем может быть ошибка.может сам файл должен быть другим не знаю...третий день бьюсь...
Ответить с цитированием
  #4  
Старый 17.04.2011, 01:38
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Если использовать File of Integer и открывать получившийся текстовый файл блокнотом то в нём будут "крокозяблики" т.к тип Integer это 4 байта а не строка.
Так у меня всё работает:
Код:
Program Project1;

{$APPTYPE CONSOLE}

Uses
 SysUtils;

Var
 F, G: TextFile;
 S: String;

begin
 AssignFile(F, 'C:\1.txt');
 AssignFile(G, 'C:\2.txt');
 Reset(F);
 Rewrite(G);
 While Not Eof(F) Do
  begin
   Readln(F, S);
   Writeln(G, S);
  end;
 Reset(F);
 While Not Eof(F) Do
  begin
   Readln(F, S);
   if StrToInt(S) > 0 Then Writeln(G, S);
  end;
 CloseFile(F);
 CloseFile(G);
end.
В первом текстовике у меня в каждой строчке число от -10 до 10.
__________________
If end Then begin;
Ответить с цитированием
  #5  
Старый 17.04.2011, 11:51
phasha phasha вне форума
Прохожий
 
Регистрация: 16.04.2011
Сообщения: 13
Репутация: 10
По умолчанию

ну это да=)тока к какому файлу мне нужно применять мою программу не подскажете?понял что нужно 4хбайтовый...тока это же не значит что я щас возьму и в мой a.txt запишу только цифры(((какой формат?-
-------------------------------------------------
с текстом я работать могу но с file of integer чего то недопонимаю... это с файлом какого формата работать и где его вообще достать(

Последний раз редактировалось phasha, 17.04.2011 в 11:55.
Ответить с цитированием
  #6  
Старый 17.04.2011, 13:31
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Цитата:
Сообщение от phasha
с текстом я работать могу но с file of integer чего то недопонимаю... это с файлом какого формата работать и где его вообще достать(

Вот так можно создать Файл с Integer:
Код:
Program Project1;

{$APPTYPE CONSOLE}

Type
 Fint = File of Integer;

Var
 F: Fint;
 i: Integer;

begin
 AssignFile(F, 'C:\FileofInteger.txt');
 Rewrite(F);
 For i:= -10 To 10 Do Write(F, i);
 CloseFile(F);
end.

Вот так можно открыть файл с Integer и посмотреть что в нём:
Код:
Program Project2;

{$APPTYPE CONSOLE}

Uses
 SysUtils;

Type
 Fint = File of Integer;

Var
 F: Fint;
 i: Integer;

begin
 AssignFile(F, 'C:\FileofInteger.txt');
 Reset(F);
 While Not Eof(F) Do
  begin
   Read(F, i);
   Writeln(IntToStr(i));
  end;
 CloseFile(F);
 Readln;
end.
__________________
If end Then begin;
Ответить с цитированием
  #7  
Старый 17.04.2011, 13:52
phasha phasha вне форума
Прохожий
 
Регистрация: 16.04.2011
Сообщения: 13
Репутация: 10
По умолчанию

спасибо)))буду пробовать!)после отпишусь
Ответить с цитированием
  #8  
Старый 17.04.2011, 13:58
phasha phasha вне форума
Прохожий
 
Регистрация: 16.04.2011
Сообщения: 13
Репутация: 10
По умолчанию

все спасибо))разобрался))работает прекрасно!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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