Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Вниззапись в текстовый файл длинных строк Найти похожие ветки
← →
makey © (2005-05-31 15:53) [0]Подскажите можно ли записать в текстовый файл строку из 360 символов? запись через write или WriteBuffer(Str[0], Length(Str)) рубит строку на две.
← →
begin...end © (2005-05-31 15:58) [1]> makey © (31.05.05 15:53)
> можно ли записать в текстовый файл строку из 360 символов?
Можно.
> WriteBuffer(Str[0], Length(Str))
Почему 0, а не 1? И где здесь работа с текситовым файлом?
--------------------
Sorry, I"m drunk now
← →
Poirot © (2005-05-31 16:13) [2]А можно ешшо вопрос:)
А в строке нет перевода коретки?:) #13#10?:))
← →
Amoeba © (2005-05-31 16:33) [3]
> Poirot © (31.05.05 16:13) [2]
> А можно ешшо вопрос:)
> А в строке нет перевода коретки?:) #13#10?:))
С какой-такой сырости ему там ни с того ни с сего самому появиться.
← →
Alexander Panov © (2005-05-31 16:34) [4]Amoeba © (31.05.05 16:33) [3]
Так содержимое длинных строк не ограничено отображаемыми символами.
← →
Amoeba © (2005-05-31 16:45) [5]
> Alexander Panov © (31.05.05 16:34) [4]
> Amoeba © (31.05.05 16:33) [3]
>
> Так содержимое длинных строк не ограничено отображаемыми
> символами.
А кто утверждает обратное?
← →
Alexander Panov © (2005-05-31 16:57) [6]Amoeba © (31.05.05 16:33) [3]
С какой-такой сырости ему там ни с того ни с сего самому появиться.
Amoeba © (31.05.05 16:45) [5]
А кто утверждает обратное?
А кто утверждает, что он там сам появлялся?
← →
Amoeba © (2005-05-31 17:02) [7]
> Alexander Panov © (31.05.05 16:57) [6]
> Amoeba © (31.05.05 16:33) [3]
> С какой-такой сырости ему там ни с того ни с сего самому
> появиться.
> Amoeba © (31.05.05 16:45) [5]
> А кто утверждает обратное?
>
> А кто утверждает, что он там сам появлялся?
У автора того поста есть такое опасение, что перевод каретки можеть оказатьеся в строке без его ведома.
← →
Alexander Panov © (2005-05-31 17:04) [8]Amoeba © (31.05.05 17:02) [7]
В топике:
Подскажите можно ли записать в текстовый файл строку из 360 символов? запись через write или WriteBuffer(Str[0], Length(Str)) рубит строку на две.
Где здесь про опасения?
>автор
Не надо смотреть текстовый файл неправильным редактором, не поддерживающим отображение длинных строк.
← →
Anatoly Podgoretsky © (2005-05-31 17:09) [9]Amoeba © (31.05.05 17:02) [7]
У него на это были основания, но неверные.
← →
Amoeba © (2005-05-31 17:13) [10]
> Alexander Panov © (31.05.05 17:04) [8]
Sorry, недостаточно внимательно прочел 1-й пост автора вопроса. По сему и вызвал недоумение 2-й.
← →
Poirot © (2005-05-31 17:17) [11]Как то разговор от третьих лиц:)
просто уже очень интересно, а что вообще в файле? если посмотреть например его хексовым редактором - пчто есть "рубит строку на две." :)) просто, имхо, само ничего не мождет происходить:) Это в сказках только:)
← →
Alexander Panov © (2005-05-31 17:19) [12]Poirot © (31.05.05 17:17) [11]
Да автор просто не знает, что некоторые просмотрщики переносят длинные строки
← →
имя (2005-05-31 17:23) [13]Удалено модератором
← →
OSokin © (2005-05-31 18:11) [14]ФЛУУД... Неужели нельзя просто ответить?
Нужно или через BlockWrite (поставив вторым параметром в Rewrite размер записи), - это скорее всего не прокатит, не проверял, - или записывать по одному симоволу, используя цикл for i:=1 to length(str) do write(f,str[i]);
← →
makey © (2005-06-01 05:50) [15]Чтобы не вызывать споров о том, какие символы стоят в строке привожу ее пример.
Это строка которую я пытаюсь записать.
"АНКТ",1,"01/06/2005","ТУРСУНОВ","АКРАМЖОН","АСРОРОВИЧ","М","СТАНДАРТ","11/05/1956",0,0,0,"СТАНДАРТ","САМАРКАНД","","УЗБ ЕКИСТАН РЕСПУБЛИКА","","","ПАСПОРТ РОССИИ","ПАСПОРТ РОССИИ","01","04",576186,"24/12/2004","ТОМ ЖЕЛЕЗНОДОРОЖНОГО РАЙОНА Г. БАРНАУЛА",",656052,АЛТАЙСКИЙ КРАЙ,,БАРНАУЛ Г,,КРАСНЫЙ ТЕКСТИЛЬЩИК ПЕР,Д.91,,",",656052,АЛТАЙСКИЙ КРАЙ,,БАРНАУЛ Г,,КРАСНЫЙ ТЕКСТИЛЬЩИК ПЕР,Д.91,,",""
А вот так она выглядит в файле (** обозначено место где появляются #13#10)
"АНКТ",1,"01/06/2005","ТУРСУНОВ","АКРАМЖОН","АСРОРОВИЧ","М","СТАНДАРТ","11/05/1956",0,0,0,"СТАНДАРТ","САМАРКАНД","","УЗБ ЕКИСТАН РЕСПУБЛИКА","","","ПАСПОРТ РОССИИ","ПАСПОРТ РОССИИ","01","04",576186,"24/12/2004","ТОМ ЖЕЛЕЗНОДОРОЖНОГО РАЙОНА Г. БАРНАУЛА**
",",656052,АЛТАЙСКИЙ КРАЙ,,БАРНАУЛ Г,,КРАСНЫЙ ТЕКСТИЛЬЩИК ПЕР,Д.91,,",",656052,АЛТАЙСКИЙ КРАЙ,,БАРНАУЛ Г,,КРАСНЫЙ ТЕКСТИЛЬЩИК ПЕР,Д.91,,",""
← →
dmitry501 © (2005-06-01 06:10) [16]Вот, попробовал:
procedure TForm1.Button1Click(Sender: TObject);
var
s: AnsiString;
fs: TFileStream;
begin
s := ""АНКТ",1,"01/06/2005","ТУРСУНОВ","АКРАМЖОН","АСРОРОВИЧ","М","СТАНДАРТ","11/05/1956",0,0,0,"СТАНДАРТ","САМАРКАНД","","УЗ Б ЕКИСТАН РЕСПУБЛИКА","","","ПАСПОРТ РОССИИ","ПАСПОРТ РОССИИ","01","04",576186,"24/12/2004","ТОМ ЖЕЛЕЗНОДОРОЖНОГО РАЙОНА Г. БАРНАУЛА","+
"",656052,АЛТАЙСКИЙ КРАЙ,,БАРНАУЛ Г,,КРАСНЫЙ ТЕКСТИЛЬЩИК ПЕР,Д.91,,",",656052,АЛТАЙСКИЙ КРАЙ,,БАРНАУЛ Г,,КРАСНЫЙ ТЕКСТИЛЬЩИК ПЕР,Д.91,,",""";
fs := TFileStream.Create("test.txt", fmCreate);
try
fs.WriteBuffer(S[1], Length(S));
finally
fs.Free;
end;
end;
Все нормально, нет в выходном файле переносов...
← →
evvcom © (2005-06-01 08:36) [17]
> используя цикл for i:=1 to length(str) do write(f,str[i]);
А цикл то зачем? Всегда писал write(f,str); и не было проблем, а где надо было #13#10 вставить употреблял writeln(f [, str]); Зачем огород городить?
← →
Anatoly Podgoretsky © (2005-06-01 09:04) [18]makey © (01.06.05 05:50) [15]
Где код записи, приведенный в [0] код не рабочий.
И приведи хекс коды начиная отГ. БАРНАУЛА**
",",656052,
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.042 c