Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 30.03.2012
Сообщений: 93
1

Добавить строку в текстовый файл. Выдает ошибку

01.06.2013, 16:05. Показов 1924. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте)

Нужно добавит сроку в текст файл. Прочитал в книге и нашел пример по которому написал следующий код:
Delphi
1
2
3
4
5
6
7
8
9
var f:TObject;
begin
f:= TStringList.Create();
 f.LoadFromFile('kontrol.txt');
 s:='Hello word!';
 f.Add(s);
 f.SaveToFile('kontrol.txt');
 f.free;
end;
Объявил как TObject потому что когда объявил TString компилятор выдал ошибку что не знает такого.

В чем я ошибся подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2013, 16:05
Ответы с готовыми решениями:

TStringList и TFileStream: добавить строку в файл
Нужно разобраться. Смысл в следующем. Есть файл текстовый, открываю в потоке, с запретом на чтение...

Программа которая выдает платформу компьютера выдает ошибку
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Dialogs, StdCtrls, ComCtrls, Spin; ошибку выдает на эту строку, что это значит?
Dialogs, StdCtrls, ComCtrls, Spin; ошибку выдает на эту строку, что это значит?

Я сделал программу по переносу из записи в типизированный файл, но процедура выдает ошибку.
Вот программа.Выдает вот эту ошибку' Введите артикул детали( d.art:=stringgrid1.Cells) is not a...

10
3 / 3 / 1
Регистрация: 30.05.2013
Сообщений: 35
01.06.2013, 16:09 2
Цитата Сообщение от nurekoke Посмотреть сообщение
Здравствуйте)

Нужно добавит сроку в текст файл. Прочитал в книге и нашел пример по которому написал следующий код:
Delphi
1
2
3
4
5
6
7
8
9
var f:TObject;
begin
f:= TStringList.Create();
 f.LoadFromFile('kontrol.txt');
 s:='Hello word!';
 f.Add(s);
 f.SaveToFile('kontrol.txt');
 f.free;
end;
Объявил как TObject потому что когда объявил TString компилятор выдал ошибку что не знает такого.

В чем я ошибся подскажите пожалуйста.
Delphi
1
2
3
4
5
6
7
8
9
10
var
someFile: tStringList;
someStr: string;
begin
   someFile := tStringList.Create;
   someFile.LoadFromFile('D:\domeFile.txt');
   someFile.Strings[1] := someStr;
   someFile.SaveToFile('D:\domeFile.txt');
   someFile.Free;
end;
Попробуй так )
0
angstrom
01.06.2013, 16:16 3
Цитата Сообщение от i368 Посмотреть сообщение
Delphi
1
someFile.Strings[1] := someStr;
Так будет замещаться 1 строка. Либо использовать Add для добавки в конец, либо Insert для вставки в нужную строку.
3 / 3 / 0
Регистрация: 30.03.2012
Сообщений: 93
01.06.2013, 16:16  [ТС] 4
Цитата Сообщение от i368 Посмотреть сообщение
Попробуй так )
Спасибо, сам разобрался. Нужно было объявить след. образом: f:TStringList
0
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
03.06.2013, 12:48 5
Цитата Сообщение от nurekoke Посмотреть сообщение
Объявил как TObject потому что когда объявил TString компилятор выдал ошибку что не знает такого.
В чем я ошибся подскажите пожалуйста.
Не TString, а TStrings. TStrings - это абстрактный класс и поэтому нельзя создать экземпляр этого класса.
Что такое абстрактный класс и как его использовать на примере TStrings: https://www.cyberforum.ru/delp... ost4610508
0
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
03.06.2013, 12:53 6
Цитата Сообщение от nurekoke Посмотреть сообщение
Здравствуйте)

Нужно добавит сроку в текст файл. Прочитал в книге и нашел пример по которому написал следующий код:
Delphi
1
2
3
4
5
6
7
8
9
var f:TObject;
begin
f:= TStringList.Create();
 f.LoadFromFile('kontrol.txt');
 s:='Hello word!';
 f.Add(s);
 f.SaveToFile('kontrol.txt');
 f.free;
end;
Объявил как TObject потому что когда объявил TString компилятор выдал ошибку что не знает такого.

В чем я ошибся подскажите пожалуйста.
Вот:
Delphi
1
2
3
4
5
6
7
8
9
10
//Button1.click;
var
f1: TextFile;
begin
AssignFile(f1,ExtractFilePath(Application.ExeName) + 'kontrol.txt');
Rewrite(f1);
Write('Hello World!');
СloseFile(f1);
ShowMessage('Файл готов');
end;
0
angstrom
03.06.2013, 13:05 7
Цитата Сообщение от саша40 Посмотреть сообщение
Delphi
1
2
Rewrite(f1);
Write('Hello World!');
Этот код конечно откроет файл на добавление записей, и конечно допишет туда приветствие.
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
03.06.2013, 13:09 8
саша40, здесь немного другое условие. По условию задачи, в файл надо добавить строку, не теряя прежнего содержимого. А при вызове Rewrite() прежнее содержимое файла будет уничтожено. Поэтому, если файл не существует, надо его создать через вызов Rewrite(), а если существует - то открыть через вызов Append(). Append() открывает текстовый файл для добавления текста в его конец.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  f1: TextFile;
  FileName : String;
begin
  FileName := ExtractFilePath(ParamStr(0)) + 'kontrol.txt';
  AssignFile(f1, FileName);
  if FileExists(FileName) then
    Append(f1)
  else
    Rewrite(f1);
  Write('Hello World!');
  СloseFile(f1);
  ShowMessage('Файл готов');
end;
0
angstrom
03.06.2013, 13:24 9
Цитата Сообщение от Mawrat Посмотреть сообщение
Write('Hello World!');
Забыл указать запись в файл.
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
03.06.2013, 19:51 10
Цитата Сообщение от angstrom Посмотреть сообщение
Забыл указать запись в файл.
Да, точно, проглядел я.
С исправлениями:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  f1: TextFile;
  FileName : String;
begin
  FileName := ExtractFilePath(ParamStr(0)) + 'kontrol.txt';
  AssignFile(f1, FileName);
  if FileExists(FileName) then
    Append(f1)
  else
    Rewrite(f1);
  Write(f1, 'Hello World!');
  СloseFile(f1);
  ShowMessage('Файл готов');
end;
0
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
03.06.2013, 21:04 11
Цитата Сообщение от Mawrat Посмотреть сообщение
Да, точно, проглядел я.
С исправлениями:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  f1: TextFile;
  FileName : String;
begin
  FileName := ExtractFilePath(ParamStr(0)) + 'kontrol.txt';
  AssignFile(f1, FileName);
  if FileExists(FileName) then
    Append(f1)
  else
    Rewrite(f1);
  Write(f1, 'Hello World!');
  СloseFile(f1);
  ShowMessage('Файл готов');
end;
подправили. Всю грязную работу за автора сделали.
0
03.06.2013, 21:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2013, 21:04
Помогаю со студенческими работами здесь

Не записывается в текстовый файл информация, ошибок компилятор не выдает
Здравствуйте, нужно записать текущую дату компьютера в текстовый файл. var MyFile: TextFile; ...

Добавить строчку в текстовый файл
Есть проблема: нужно сделать так, чтобы при выборе строки из комбобокса отрывался файл с таким...

Добавить текстовый файл в проект
Подключил к проекту текстовый файл. Вопрос: как в процессе работы программы редактировать/сохранить...

Помогите найти ошибку в сохранении stringgrid в текстовый файл
выдаёт ошибку "'is not a valid floating point value' procedure TForm2.Button1Click(Sender:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru