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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2007, 22:25   #1
Artem
Пользователь
 
Регистрация: 08.07.2007
Сообщений: 76
По умолчанию Сохранение массива в файл

Имеется двухмерный массив, мне нужно сохранить значения этого массива в файл с любым расширением, для последующего его восстановления. Может кто подскажет, как это реализовать, заранее спасибо...

Массив стринговый
Только начал изучать Delphi...

Последний раз редактировалось Artem; 10.12.2007 в 22:33.
Artem вне форума Ответить с цитированием
Старый 10.12.2007, 22:44   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Самое простое, пишу сходу.

Код:
memo1.clear;
for i:=1 to n
begin
memo1.lines.add(s[i]);
end;
//n - длина массива
// s -массив

memo1.lines.savetofile('c:/1.txt');
Alar вне форума Ответить с цитированием
Старый 10.12.2007, 22:52   #3
Artem
Пользователь
 
Регистрация: 08.07.2007
Сообщений: 76
По умолчанию

Массив двухмерный
Только начал изучать Delphi...
Artem вне форума Ответить с цитированием
Старый 10.12.2007, 23:20   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Добавте еще один цикл. формат вывода сами задайте.
Alar вне форума Ответить с цитированием
Старый 10.12.2007, 23:22   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Код:
memo1.clear;   
 for i:=1 to n do
  for j:=1 to m do
   memo1.lines.add(s[i, j]);   
   
//n,m - длина массива   
// s -массив   
  
memo1.lines.savetofile('c:/4554.txt');
Alter вне форума Ответить с цитированием
Старый 10.12.2007, 23:30   #6
Artem
Пользователь
 
Регистрация: 08.07.2007
Сообщений: 76
По умолчанию

вот тут возникает одна проблема, некоторые элемента массива записываются в файл не в одну строку,а на несколько, поэтому прочитать обратно неполучается!!!
Только начал изучать Delphi...
Artem вне форума Ответить с цитированием
Старый 10.12.2007, 23:59   #7
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Цитата:
Сообщение от Artem Посмотреть сообщение
вот тут возникает одна проблема, некоторые элемента массива записываются в файл не в одну строку,а на несколько, поэтому прочитать обратно неполучается!!!
Это может быть если в строке есть символы переноса: #13, #10
Alter вне форума Ответить с цитированием
Старый 11.12.2007, 00:01   #8
Artem
Пользователь
 
Регистрация: 08.07.2007
Сообщений: 76
По умолчанию

угу, просто в переменную текст записывается из memo!!!
Но я похоже уже смог решить эту проблему, буду записывать в типизированный файл...
Только начал изучать Delphi...
Artem вне форума Ответить с цитированием
Старый 11.12.2007, 11:40   #9
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Сообщений: 241
По умолчанию

зачем в типизированый файл? (хотя кому что нравица...) Зачем разносить по строкам? Каждый элемент можно писать в отдельную строку. И лучше использовать не мемо, а переменную типа TStrings, поскольку она тоже умеет сохранять в файл (причем точно так же) но памяти занимает меньше...
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума Ответить с цитированием
Старый 11.12.2007, 12:23   #10
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Типизированный файл. В отличие от строк размер файла соответствует типу. Например матрица чисел типа интегер - размер файла будет 4*ширина*высота байт, если записать в виде строк на каждый сивол идет один байт, 8 символов в числе 8 байт, 7 символов - 7 байт. Плюс перевод строки - 2 байта.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение в текстовый файл Askat Общие вопросы Delphi 11 26.02.2008 14:47
Сохранение в *.Bmp - файл Рустам Мультимедиа в Delphi 14 28.11.2007 21:32
Сохранение в файл Македонский Общие вопросы Delphi 4 05.09.2007 15:04
Сохранение в файл *.*С Noor Общие вопросы C/C++ 6 08.01.2007 22:44