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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2011, 17:36   #1
Vitalya_1993
Пользователь
 
Регистрация: 09.12.2011
Сообщений: 61
По умолчанию Работа с файлами

составьте програму которая создает файл F1.DAT из 10 элементов типа integer.выведите его на экран.удалите последние пять элементов и вывидете его содержимое на экран. Помогите сделать программу!!в Delphi!
Vitalya_1993 вне форума Ответить с цитированием
Старый 09.12.2011, 18:20   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

А в чем проблема?
Arigato вне форума Ответить с цитированием
Старый 09.12.2011, 18:20   #3
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Нужен Button и Memo. Лови:


Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  List:TStringList;
  i:integer;
begin
  List:=TStringList.Create;
  Randomize;
  for i:=1 to 10 do
      List.Add(IntToStr(Random(100)));
  List.SaveToFile('C:\F1.DAT');
  Memo1.Lines.LoadFromFile('C:\F1.DAT');
  ShowMessage('To continue press OK');

  List.LoadFromFile('C:\F1.DAT');
  for i:=1 to 5 do
      List.Delete(5);
  Memo1.Lines:=List;
end;
Только не очень понял, что значит отобразить на экране. И нужно ли записывать пятистрочный массив в файл?
hon вне форума Ответить с цитированием
Старый 09.12.2011, 18:34   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
програму которая создает файл F1.DAT из 10 элементов типа integer.
файл должен быть типизированным ==>
Код:
List.SaveToFile('C:\F1.DAT');
не прокатит
Код:
 List.LoadFromFile('C:\F1.DAT');
это тоже
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 10.12.2011, 13:41   #5
Vitalya_1993
Пользователь
 
Регистрация: 09.12.2011
Сообщений: 61
По умолчанию

hon, спасибо большое!!!!слушай я понимаю что многое прошу, но не мог бы ты расшибровать то что написано. какие операторы, спец.слова и почему использовал, мне нужно понять суть задания, т.е как его делать???ты меня очень выручишь!!!
Vitalya_1993 вне форума Ответить с цитированием
Старый 10.12.2011, 16:52   #6
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Vitalya_1993,

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  List:TStringList; //список строк
  i:integer; //число
begin
  List:=TStringList.Create; //создаем список строк
                            //иногда просто создать var нельзя
  Randomize; {включаем генератор случ. чисел
  иначе при каждом запуске программы будут одни и теже числа}
  for i:=1 to 10 do
      List.Add(IntToStr(Random(100)));
  {Random(100) - генерируем случ. чило в пределах от 0 до 99
   (от 0 до числа-1)
   IntToStr - превращаем integer в String
   List.Add - добавляем строку в конец списка
  }
  List.SaveToFile('C:\F1.DAT'); //Сохраняем содержимое
  //List в Файл C:\F1.DAT
  Form1.Memo1.Lines.LoadFromFile('C:\F1.DAT');
  //загружаем в Memo файл
  ShowMessage('Чтобы продолжить, нажмите ОК'); //пауза

  List.LoadFromFile('C:\F1.DAT'); //загрузить в лист файл
  for i:=1 to 5 do
      List.Delete(5);
  //пять раз удаляем строку с индексом 5
  form1.Memo1.Lines:=List;
  //Memo=List
end;
Доп. комментарии:
  • Randomize можно стартовать один раз за программу, например в FormCreate
  • Если при сохранении не указать диск и/или папку (например F1.DAT), файл будет создан в каталоге с программой
  • А если написать "\123\F1.DAT" (без кавычек), о в папке с программой, в папке 123
  • При удалении строки, вставки строки в List, строки переиндексируються, вот почему я удалял 5 раз строку №5 (это каждый раз была другая строка)
  • Memo.Lines - это TStrings; TStingsList - это улучшенный TStrings; Для Memo.Lines, можно указывать TStringList, но при этом теряются несколько опций
  • Процедура Add возвращает индекс строки, но здесь он не нужен, поэтому мы его не сохраняем
  • Вместо функции Add, можно использовать процедуру Append, т.к. Append не возвращает номер строки

И еще:
Memo делай повыше.
В Random(100) - можешь заменить 100, на любое число
!!!!! Я не очень понял смысл вопроса. Вместо того, чтобы использовать List, можно было организовать это дело в Memo.Lines. При этом просто в течении нескольких миллисекунд можно будет видеть удаление строк. Так что, рекомендую, если это важно подправить программу так.

И не забывай ставить +
hon вне форума Ответить с цитированием
Старый 10.12.2011, 17:55   #7
Vitalya_1993
Пользователь
 
Регистрация: 09.12.2011
Сообщений: 61
По умолчанию

Спасибо за подробное пояснение!!только я не могу найти этот файл!ни в корневой ни где ее нету
Vitalya_1993 вне форума Ответить с цитированием
Старый 10.12.2011, 18:22   #8
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Цитата:
Сообщение от Vitalya_1993 Посмотреть сообщение
Спасибо за подробное пояснение!!только я не могу найти этот файл!ни в корневой ни где ее нету
Попробуйте посмотреть через Total Commander при включенном разрешении просмотра скрытых файлов и папок (это можно установить в настройках).
hon вне форума Ответить с цитированием
Старый 11.12.2011, 14:46   #9
Vitalya_1993
Пользователь
 
Регистрация: 09.12.2011
Сообщений: 61
По умолчанию

Через фар менеджер нашел этот файл, но просто его не могу найти, видно реально скрыт!
Vitalya_1993 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами Jalced Паскаль, Turbo Pascal, PascalABC.NET 5 30.11.2011 21:52
работа с файлами Анюта01 Фриланс 8 19.03.2010 22:41
Работа с файлами в С++ xnise Помощь студентам 4 15.03.2010 21:29
работа с файлами smb. Помощь студентам 4 26.03.2009 17:06
работа с файлами С++ Rossik Общие вопросы C/C++ 1 16.05.2008 19:28