Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.10.2008, 20:06
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 1  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
По умолчанию Добавление и удаление записи в txt файл

Каким образом, из динамик поля флеша,я могу сохранить информацию в txt файл не перезаписывая уже содержащуюся инфу в файле, а дописав её в конец.

2. Как удалить информацию из txt файла?

И на засыпку, можно ли записывать автоматом дату и время в конец файла при добавлении записи.

Старый 24.10.2008, 21:36
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
На засыпку: что вы используете? AIR? Zinc? что-то еще?
За цинк отвечу:

Код:
mdm.FileSystem.saveFile(("file_name","data_to_save");// прежде, чем добвалять данные, надо создать файл
mdm.FileSystem.appendFile("file_name","data_to_save");
Не рекомендуется за один раз сохранять более 100к текста.
Добавление даты на автомате, по-моему, очевидно.
Лог пытаетесь вести?
Zinc позвлоляет подключить длл с любым нужным вам функционалом, на случай, если того, что есть, мало.

Старый 24.10.2008, 23:18
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 3  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Лог пытаетесь вести?
Ключевое слово здесь “пытаюсь” )
Использую Zinc.

Спасибо, инфа сохраняется.


Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Добавление даты на автомате, по-моему, очевидно.
Не знаю, почему это очевидно, ни одного похожего урока, примера я не смог найти.
И удалить инфу ещё не получается.

Почему не рекомендуется за один раз сохранять более 100к текста?

Старый 24.10.2008, 23:54
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 4  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Дату надо вписывать вам же, за вас этого ни кто делать не будет, это очевидно, не так ли?
Напимер:
Код:
function AddLog (data){
var time = getTimer(); // или юзать класс Date.
mdm.FileSystem.appendFile("file_name",time+": "+ "data");
}
AddLog("случилось страшное...");
Имеются основания считать, что при большом объеме сохраняемых данных могут быть глюки. Например вывалится флэшовый алерт о необходимости увеличить объем разрешенного локалного сохранения данных. Просто по-чаще вызывайте AddLog, записывая каждый раз понемногу. Впрочем, можете поэкспериментировать.
Удалить данные из лога - это немного не вписывается в понятие "лог". Тем не менее выход найти можно. Например подгрузить лог, распарсить, вырезать ненужное и сохранить обратно. В факе есть пример построчного чтения файла при помощи VBScript. Встроенных функций для подобных действий в цинке нет.


Последний раз редактировалось alexcon314; 24.10.2008 в 23:57.
Старый 25.10.2008, 10:42
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 5  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Пишу вот так:
Код:
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("случилось страшное...родился ещё один Флесшер…) ");
Результат, какой-то китайский календарь (6.9.2008 12:26), (тестил сегодня(25.10.08))
Т.е. день и месяц не совпадают с настоящим, часы и год нормально.

Пришлось описать каждый из месяцев тыкав флеш носом: ”Смотри, это сентябрь, а за сентябрём идет октябрь…)” .
Код:
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
Код:
$result_time = date("d.m.Y H:i");
Одна строчка, а здесь все это выросло вот в такое безобразие.

P.S. Странно, что Цинком не предусмотрено удаление инфы. Это то-же самое, что и машина без тормозов.


Последний раз редактировалось iNils; 25.10.2008 в 14:33.
Старый 25.10.2008, 14:18
Agent007 вне форума Посмотреть профиль Отправить личное сообщение для Agent007 Найти все сообщения от Agent007
  № 6  
Ответить с цитированием
Agent007

Регистрация: May 2006
Сообщений: 33
а так чо?
Код:
var _date:Date = new Date();
var datestr:String = _date.getDate()+"."+(_date.getMonth()+1)+"."+_date.getFullYear() + " " + _date.getHours() + ":" +_date.getMinutes();
mdm.FileSystem.appendFile("my.txt",datestr)

Старый 25.10.2008, 14:31
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от KiL33 Посмотреть сообщение
Пришлось описать каждый из месяцев тыкав флеш носом: ”Смотри, это сентябрь, а за сентябрём идет октябрь…)” .
Код:
	month1 = DateOfDay.getMonth()+1;
	if (month1 == 1) {
		month = "ЯНВАРЯ";
	}
	if (month1 == 2) {
		month = "ФЕВРАЛЯ";
	}
...
Есть такая штука, называется массив, в нем нумерация элементов как раз идет с 0, как номера месяцев. А то пхп-пхп...
А еще есть else if, ну это так, чтобы знали и не писали по 12 ифоф которые каждые раз срабатывают.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 25.10.2008, 17:22
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 8  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Ещё одна проблема.

Русский текст не читается, причем в буквальном смысле)

Вот с этой приблудой текст отображается корректно
System.useCodepage = true;
Но про это было мною уже столько прочитано, что можно сделать очевидный вывод
System.useCodepage – есть ЗЛО.

Ставлю кодировку в записываемый файл UTF, но после добавления записи файл снова в ANSI.

С этим можно что-нибудь сделать???

Старый 25.10.2008, 23:29
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 9  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Цинк пишет в АНСИ. Выставлять какую-либо кодировку в файле бесполезно. Если нужна другая кодировка - пишите длл-модуль с функционалом записи в файл и перекодировкой строк в нужную code page. Подключаете эту длл к цинк-приложению и все дела. Я об этом сказал вам в самом начале. Самый ценный mdm-класс - то mdm.DLL(). С его помощью можно подключить любую длл и вызвать любую WIN-API функцию.
При всем богатстве цинк-API всегда чего-то не хватает D:.
Цитата:
Странно, что Цинком не предусмотрено удаление инфы.
Ну почему же..
Код:
mdm.FileSystem.deleteFile("file_to_delete");
Вам мало? Работа с отдельными строками текстового файла, поиск и удаление/вставка строк/символов - это задача, где удаление инфы лишь малая и самая простая составляющая.
В WIN API есть две подходящие для этой задачи функции.
GetPrivateProfileString и WritePrivateProfileString. Юзайте их через длл. Кстати, и для перекодировки можно найти функции готовые.

Старый 26.10.2008, 09:52
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 10  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
dll пока для меня лес дремучий, но попытаюсь разобраться, раз уж на то пошло.
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Кстати, и для перекодировки можно найти функции готовые.
Не подскажите где именно их можно найти.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:44.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.