![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Возникла проблема при сохранении текста в файл. В Memo2 есть текст (см. рис.) использую обычную команду сохранения текста в файл
Код:
Memo2.Lines.SaveToFile(SaveDialog1.FileName); ![]() Текст является случайным набором ASII символов 1-255 возможно требуется особый метод сохранения. Подскажите пожалуйста. Последний раз редактировалось Kaktuz, 23.11.2011 в 01:18. |
#2
|
||||
|
||||
![]() В таком наборе, содержатся спец. символы #10 и #13, являющиеся разделителями строк. Попробуй загрузить в StringList, а затем присвоить к Memo как Text.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
![]() Код:
procedure TForm1.Button5Click(Sender: TObject); var animals : TStringList; begin animals := TStringList.Create; animals.Add('текст'); Memo2.Text:=(animals[0]); end; Надо получается считывать данные напрямую с файла... |
#4
|
||||
|
||||
![]() Примерно так, если не вру:
Код:
procedure TForm1.Button5Click(Sender: TObject); var animals : TStringList; begin animals := TStringList.Create; animals.LoadFromFile(OpenDialog1.FileName);; Memo2.Lines.Text := animals.text; end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#5
|
|||
|
|||
![]() помогите мне с темой ниже
|
#6
|
|||
|
|||
![]() Тоже самое что и при обычной загрузке...
![]() |
#7
|
|||
|
|||
![]() Блокнот не понимает кодировку ASCII... Посмотри просмотрщиком тотала, если он не распознает кодировку, поставь вручную...
Еще полезная ф-я для мемо, чтоб она понимала ASCII: Код:
Memo1.Font.Handle := GetStockObject(OEM_FIXED_FONT); Код:
Memo1.Font.Handle := GetStockObject(ANSI_FIXED_FONT); Последний раз редактировалось Last Living Man, 23.11.2011 в 09:15. |
#8
|
|||
|
|||
![]() Цитата:
Да и эти две команды как-то ни как не повлияли на результат. Если я правильно понял, нужно использовать одну из предложенных команд перед сохранением текста. Возможно есть способ прочитать текст с файла сразу в Edit типа String в одну строку, может прокатит. Последний раз редактировалось Kaktuz, 23.11.2011 в 14:42. |
#9
|
||||
|
||||
![]() Честно говоря, я не понял цели этого мазохизма.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#10
|
|||
|
|||
![]() вопрос в том какие версии винды и дельфи и какие региональные настройки стоят в винде.
|
#11
|
|||
|
|||
![]() Цитата:
Нашел вот еще такой способ, но он некоторые символы не читает. Код:
var a:TextFile; b:String; begin AssignFile(a,'C:\Text.txt'); {$I-} Reset(a); {$I+} ReadLn(a,b); Memo1.Text:=b; В целом ответ я знаю. Знаю как сделать, но не знаю как прописать... Нужно использовать HEX преобразователь. Читать файл как hex записывать данные в переменную (получится что-то вроде DF0DD0CBD3CC20D7CFD5...) после чего это все преобразовывается уже в нужные символы (Я□ФЛУМ□ ЧП...) Начало было тут... Последний раз редактировалось Kaktuz, 24.11.2011 в 01:25. |
#12
|
||||
|
||||
![]() Используй Read, ReadLn читает строку, или BlockRead.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#13
|
||||
|
||||
![]() ReadLn - это сокращение от ReadLine, читает строку.
А вот еще способ: Код:
var f:file; s:string; ... AssignFile(f,'C:\Text.txt'); Reset(f,1); SetLength(s,FileSize(f)); BlockRead(f,pointer(s)^,FileSize(f)); CloseFile(f); ![]() Especially for masochists. jmp $ ; Happy End! The Cake Is A Lie. |
#14
|
|||
|
|||
![]() Цитата:
Да кстати! файл в ASCII надо сохранять через тип text, если ты его делаешь с нуля. Так проще, т.к. все "невидимые" символы сами проставляются... |