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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2013, 15:49   #1
Ryumka
Новичок
Джуниор
 
Регистрация: 10.08.2010
Сообщений: 2
По умолчанию Writeln/Write ставит пробелы перед строкой

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

Код:
procedure TForm1.Button2Click(Sender: TObject);
var
f2 : TextFile;
i: Integer;
begin
if SaveDialog1.Execute then
begin
  AssignFile(f2,SaveDialog1.FileName+'.txt');
  ReWrite(f2);
  for i:=0 to (n-1) do
  begin
    Writeln(f2,S[i]);
  end;

 end
 else
 exit;

  CloseFile(f2);
  S:=nil;
end;

Последний раз редактировалось Ryumka; 30.01.2013 в 15:55.
Ryumka вне форума Ответить с цитированием
Старый 30.01.2013, 16:25   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

1. а есть увереность что в массиве именно правильные данные?
2. можно попробовать
Код:
Writeln(f2,Trim(S[i]));
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 30.01.2013, 16:43   #3
Ryumka
Новичок
Джуниор
 
Регистрация: 10.08.2010
Сообщений: 2
По умолчанию

Массив типа Double :
S: array of Double;

Объявляется вверху программы в private.
Спасибо за ответ, но Trim выдает ошибку. Не хочет работать с Double. Если только переводить в строковый тип. Будет ли это правильно?

При переводе в строковый тип и использовании команды Trim пробелы действительно исчезают. Спасибо! Но все это действительно странно...
Ryumka вне форума Ответить с цитированием
Старый 30.01.2013, 16:57   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
S:=nil;
Так лучше не делать. Пиши SetLength(s,0);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.01.2013, 17:20   #5
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

Writeln(f2,S[i]:1:2); форматируй
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SetWindowTextA, SendMessageA - не ставит большой текст ( PASHAsoska Общие вопросы Delphi 3 30.11.2012 15:51
Убрать пробелы перед строками WtfFox Помощь студентам 2 22.12.2011 17:36
Перед строкой содержащей слово, являющееся последним словом по алфавиту во всем тексте, вставить строку (Java) papikyandgan Помощь студентам 8 13.11.2011 17:55
Правильно определить знак перед строкой и в зависимости от этого выставить checked свойство Человек_Борща Общие вопросы Delphi 9 18.02.2011 01:11
вставить знак перед строкой Человек_Борща Общие вопросы Delphi 1 17.02.2011 22:06