![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Каким образом, из динамик поля флеша,я могу сохранить информацию в txt файл не перезаписывая уже содержащуюся инфу в файле, а дописав её в конец.
2. Как удалить информацию из txt файла? И на засыпку, можно ли записывать автоматом дату и время в конец файла при добавлении записи. |
|
|||||
|
listener
|
На засыпку: что вы используете? AIR? Zinc? что-то еще?
За цинк отвечу: mdm.FileSystem.saveFile(("file_name","data_to_save");// прежде, чем добвалять данные, надо создать файл
mdm.FileSystem.appendFile("file_name","data_to_save");
Добавление даты на автомате, по-моему, очевидно. Лог пытаетесь вести? Zinc позвлоляет подключить длл с любым нужным вам функционалом, на случай, если того, что есть, мало. |
|
|||||
|
Ключевое слово здесь “пытаюсь” )
Использую Zinc. Спасибо, инфа сохраняется. Не знаю, почему это очевидно, ни одного похожего урока, примера я не смог найти. И удалить инфу ещё не получается. Почему не рекомендуется за один раз сохранять более 100к текста? |
|
|||||
|
listener
|
Дату надо вписывать вам же, за вас этого ни кто делать не будет, это очевидно, не так ли?
Напимер: function AddLog (data){
var time = getTimer(); // или юзать класс Date.
mdm.FileSystem.appendFile("file_name",time+": "+ "data");
}
AddLog("случилось страшное...");
Удалить данные из лога - это немного не вписывается в понятие "лог". Тем не менее выход найти можно. Например подгрузить лог, распарсить, вырезать ненужное и сохранить обратно. В факе есть пример построчного чтения файла при помощи VBScript. Встроенных функций для подобных действий в цинке нет. Последний раз редактировалось alexcon314; 24.10.2008 в 23:57. |
|
|||||
|
Пишу вот так:
function AddLog (data){
var time:Date = new Date();
var min = time.getMinutes();
var hour = time.getHours();
var Month = time.getMonth();
var Year = time.getFullYear();
var Day = time.getDay();
mdm.FileSystem.appendFile("my.txt",Day + "." +Month + "." + Year + " "+hour + ":" + min + " : " + t);
}
AddLog("случилось страшное...родился ещё один Флесшер…) ");
Т.е. день и месяц не совпадают с настоящим, часы и год нормально. Пришлось описать каждый из месяцев тыкав флеш носом: ”Смотри, это сентябрь, а за сентябрём идет октябрь…)” . DateOfDay = new Date();
if (DateOfDay.getDate()<10) {
day = "0"+DateOfDay.getDate();
} else {
day = DateOfDay.getDate();
}
month1 = DateOfDay.getMonth()+1;
if (month1 == 1) {
month = "ЯНВАРЯ";
}
if (month1 == 2) {
month = "ФЕВРАЛЯ";
}
if (month1 == 3) {
month = "МАРТА";
}
if (month1 == 4) {
month = "АПРЕЛЯ";
}
if (month1 == 5) {
month = "МАЯ";
}
if (month1 == 6) {
month = "ИЮНЯ";
}
if (month1 == 7) {
month = "ИЮЛЯ";
}
if (month1 == 8) {
month = "АВГУСТА";
}
if (month1 == 9) {
month = "СЕНТЯБРЯ";
}
if (month1 == 10) {
month = "ОКТЯБРЯ";
}
if (month1 == 11) {
month = "НОЯБРЯ";
}
if (month1 == 12) {
month = "ДЕКАБРЯ";
}
year = DateOfDay.getFullYear();
Странно, почему бы не сделать как в том же PHP Одна строчка, а здесь все это выросло вот в такое безобразие. P.S. Странно, что Цинком не предусмотрено удаление инфы. Это то-же самое, что и машина без тормозов. Последний раз редактировалось iNils; 25.10.2008 в 14:33. |
|
|||||
|
Регистрация: May 2006
Сообщений: 33
|
а так чо?
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
А еще есть else if, ну это так, чтобы знали и не писали по 12 ифоф которые каждые раз срабатывают. |
|
|||||
|
Ещё одна проблема.
Русский текст не читается, причем в буквальном смысле) Вот с этой приблудой текст отображается корректно System.useCodepage = true; Но про это было мною уже столько прочитано, что можно сделать очевидный вывод System.useCodepage – есть ЗЛО. Ставлю кодировку в записываемый файл UTF, но после добавления записи файл снова в ANSI. С этим можно что-нибудь сделать??? |
|
|||||
|
listener
|
Цинк пишет в АНСИ. Выставлять какую-либо кодировку в файле бесполезно. Если нужна другая кодировка - пишите длл-модуль с функционалом записи в файл и перекодировкой строк в нужную code page. Подключаете эту длл к цинк-приложению и все дела. Я об этом сказал вам в самом начале. Самый ценный mdm-класс - то mdm.DLL(). С его помощью можно подключить любую длл и вызвать любую WIN-API функцию.
При всем богатстве цинк-API всегда чего-то не хватает D:. Цитата:
Вам мало? Работа с отдельными строками текстового файла, поиск и удаление/вставка строк/символов - это задача, где удаление инфы лишь малая и самая простая составляющая. В WIN API есть две подходящие для этой задачи функции. GetPrivateProfileString и WritePrivateProfileString. Юзайте их через длл. Кстати, и для перекодировки можно найти функции готовые. |
|
|||||
|
dll пока для меня лес дремучий, но попытаюсь разобраться, раз уж на то пошло.
Не подскажите где именно их можно найти. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|