![]() |
как работать с тхт файлами?
делаю пример из хэлпа но он не раьотает.
чтение из тхт файла байта и строки первой |
Re: как работать с тхт файлами?
Цитата:
|
Re: как работать с тхт файлами?
код
Код:
program TEMP; |
Re: как работать с тхт файлами?
это код точно как в хелпе ??
если да то проверь правильность имени файла !! |
Re: как работать с тхт файлами?
Код рабочей, поэтому пара вопросов:
1.Файл имеет имя data.txt(должно быть как в коде) или например Data.TXT? 2.После строки есть перевод на новую строку(должен быть)? Файл должен выглядеть так: Код:
b |
Re: как работать с тхт файлами?
Цитата:
Цитата:
|
Re: как работать с тхт файлами?
ааааа всё!
не было перевода на новую строку большое спасибо! |
Re: как работать с тхт файлами?
пока печатал, он уже разобрался))))))
|
Re: как работать с тхт файлами?
dimanche13 спасибо)
|
Re: как работать с тхт файлами?
у меня теперь возник ещё впросик.
как сделать чтобы читалась кириллица? сохранял в юникод,анси ничего правильно не читается |
Re: как работать с тхт файлами?
Вообще должна быть кодировка UTF-8 по сути Юникод. Попробуй набирать текст в редакторе MP.
|
Re: как работать с тхт файлами?
ни один вариант не работает....
кодировки попробовал,в редакторе попробовал написать... не читается |
Re: как работать с тхт файлами?
А проверял как, на эмуляторе или на мобиле?
Ато на некоторых эмуляторах бывает проблема с кирилицей, а на мобиле все нормально. |
Re: как работать с тхт файлами?
Эмулятор чаще всего читает win1251, а телефон берет utf8
|
Re: как работать с тхт файлами?
все пробовал на эмуле.
почти все на телефоне. попробую win1251 |
Re: как работать с тхт файлами?
нет.не работает utf8
а как в win1251 сохранить? в блокноте нет такого варианта |
Re: как работать с тхт файлами?
ну помогите пожалуйста мне для одной проги нужно считывать русские символы из тхт
|
Re: как работать с тхт файлами?
Посмотри >>тут<< В самом конце темы есть ф-я, которая переводит русскую кирилицу. Набирать текст надо через редактор в МР. У меня заработало.
|
Re: как работать с тхт файлами?
Блин... только что сам наткнулся на эту проблему и изобрел велосипед :)
Вот мой вариант этой функции, у меня все работает - проверял :) Код:
Function StrToUtf8(s: string;): string; // Корректирует русскую кодировку в строках взятых из ресурсов... |
Re: как работать с тхт файлами?
Кому надо - вот моя процедура по перегонке текста из Win1251 (например, текстовый файл, сохраненный в блокноте как ANSI) в UTF8.
Код:
|
Re: как работать с тхт файлами?
Для сохранения в формате win1251 и не только поможет текстовый редактор EmEditor
|
Re: как работать с тхт файлами?
И вот такой вопрос: почему бы не считывать инфу с текстового ресурса побайтово? Подскажите код символа перехода на новую строку please...
|
Re: как работать с тхт файлами?
Коды перехода на новую строку в Windows: 0x0D 0x0A (в десятичной: 13 и 10) они всегда должны идти в паре и именно в такой последовательности. Можно читать и побайтово, но скорость чтения упадет раза в 2, а это не есть гуд. Лучше читать строками, а в конце строки ставить только символ с кодом 0x0D и всё будет работать и давать неплохую экономию памяти если строк очень много. Для обработки текстовых файлов я использую MiBEditor 1.26. Там просто ставишь формат файла "Mac" и он автоматом все переносы строки делает 0x0D.
|
Re: как работать с тхт файлами?
Как я понял, функция readLine считывает следующую строку из ресурса. Значит, если в ресурсе несколько строк то функция должна вызываться циклически (например, в цикле с предусловием resourceAvailable(res)=true). Только вот облом какой-то: ресурс не содержит кирилицы, написан в редакторе MP, в нем 3 строки:
some text for trying it to output string2 string3 Но эмулятор (MidpX J2ME Emulators Package) ничего не показывает. Считывание же 1-ой строки без цикла свой результат приносит. В чем же дело??? program OpenTxtResourse; var s: array[1..10] of string; m: array[1..10] of integer; res : resource; line : string; index : integer; begin res := OpenResource('/data1.txt'); while resourceAvailable(res) do begin s[2] := ReadLine(res); line:=line+s[2]; end; closeResource(res); showForm; index := formAddString('Byte is: ' + line); delay(10000); end. |
Re: как работать с тхт файлами?
resourceAvailable(res) указывает на доступность ресурса, поэтому программа просто зависает, так как ресурс доступен и resourceAvailable(res) всегда = true.
Помоему надо делать так: Код:
var |
Re: как работать с тхт файлами?
Точно. Как я раньше не допер! А можно в условии указать readline(res)<>'' Тогда и переменная buf не нужна (мелочь, а приятно :) )...
|
Re: как работать с тхт файлами?
Цитата:
Кстати, не стоит забывать об известном глюке MP: при достижении конца файла он должен возращать пустую строку, но такого почему-то не происходит. Так что условие byf<>'' будет ввыполняться всегда и соответственно и текстовый файл вы будете читать до бесконечности (программа зависнет в бесконечном цикле). Для решения этой проблемы надо в конце файла прописать какую-нибудь текстовую константу, служащую маркером конца файла. Например, в конце пишем строку ### , условие выхода из цикла тогда будет buf<>'###'. |
Re: как работать с тхт файлами?
Да, TurboPascalевские замашки, похоже, здесь не пройдут...
|
Re: как работать с тхт файлами?
спасибо большое
|
Ответ: как работать с тхт файлами?
Добрый день!
с файлами все ясно, кириллицу можно увидить исспользуя, функцию предоставленную ODDом, при этом файл может быть в ДОС кодировке.. респект ODD! подскажите как добиться русских букв, если мы тянем данные с сайта, в какой кодировке нужно слать данные? на стороне сервера пробывал следующее: // из win1251 в utf-8 $nstr = iconv("CP1251","UTF-8", $nstr); // из win1251 в DOS $nstr = iconv("CP1251","CP866", $nstr); // win1251 (без функции iconv) не помогло( ребята, подскажите как быть? |
Ответ: как работать с тхт файлами?
хех у мя тело читает текст в исо!
|
Ответ: Re: как работать с тхт файлами?
Цитата:
и лдя исо данный способ не катит! ну коменты хотяб убрал а то вообще узнается с первого взгляда! |
Ответ: как работать с тхт файлами?
@llien, а ты уверен, что aureli0 сам изобрел этот способ, а не позаимствовал у Frank'а?
|
Часовой пояс GMT +4, время: 06:44. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot