Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.039 c
14-1116964346
Bolt
2005-05-24 23:52
2005.06.14
Задача на Pascal


1-1117000756
Cash
2005-05-25 09:59
2005.06.14
Как правильно создать контрол из DLL


4-1114043885
Кайфолом
2005-04-21 04:38
2005.06.14
Функции WinAPI для трей меню !?


1-1116943383
ALL
2005-05-24 18:03
2005.06.14
Memo RichEdit


1-1117003467
seg
2005-05-25 10:44
2005.06.14
Как сделать, чтобы компоненты растягивались





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский