Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как сохранить перенос строки? (http://www.flasher.ru/forum/showthread.php?t=130477)

getelse 27.09.2009 09:51

Как сохранить перенос строки?
 
Нужна помощь

Когда нажимаю на button(кн. сох. изм.), весь загруженный текст становится в одну строку.
Что надо сделать, чтобы после наж. button, переносы сохранялись?
-------------------------
допустим, загруженный текст в TextField (тут все как надо)
Цитата:

Привет
<b>Алексей</b>
Викторович
после нажатия button(кн. сох. изм.)
Цитата:

Привет<b>Алексей</b>Викторович
-------------------------

-------------------------
Сам файл green.html до сохранения
Цитата:

Привет
<b>Алексей</b>
Викторович
После сох(наж. кн. button)
Цитата:

Привет[]<b>Алексей</b>[]Викторович
появлеяеся [] - квадратик, как его убрать и
Что надо сделать, чтобы после наж. button, переносы сохранялись?
-------------------------

Есть button и TextField(input) и script.php

Загрузка текста из файла green.html
Код AS1/AS2:

var slv:LoadVars = new LoadVars();
slv.onData = function(src:String) {
    if (src != undefined) {
    txt.text = src.toString().split('\r').join('');
    }
}
slv.load("green.html);

button
Код AS1/AS2:

on(release) {
        var sender:LoadVars = new LoadVars();
        sender.vess = txt.text;
        sender.file = "green.html";
        sender.sendAndLoad("script.php", sender, "POST");
        sender.onData = function(myData){};
}

script.php
PHP код:

<?php
$file
=fopen($_POST["file"],"w+");
$_POST["vess"] = stripslashes($_POST["vess"]); 
if(isset(
$_POST["vess"])){
   
$string=$_POST["vess"];
   
fputs($file,$string);
}
fclose($file);
?>


mooncar 27.09.2009 18:58

Сталкивался с этим.
Проблема вот в чем.
Вам нужно разделить понятие выводимого текста и редактируемого текста.
То есть вот тут:
Код AS1/AS2:

slv.onData = function(src:String) {
    if (src != undefined) {
    txt.text = src.toString().split('\r').join('');
    }
}

закидывайте текст одновременно и в поле для отображение и в строковую переменную, которая уже и будет редактироваться:
Код AS1/AS2:

slv.onData = function(src:String) {
    if (src != undefined) {
  txtSrc = src;
    txt.text = src.toString().split('\r').join('');
    }
}

Дальнейшая работа по редактированию производится с txtSrc!
Код AS1/AS2:

txtSrc = function edit (txtSrc)

Здесь function edit - это неизвестный мне ваш алгоритм редактирования, мне для объяснения она не важна.

Но когда либо результаты работы по редактированию нужно вывести в текстовое поле, после события, означающего окончание редактирования (т.е. внутри function edit, в конце) используете
Код AS1/AS2:

txt.text = txtSrc.toString().split('\r').join('');

При сохранении ни в коем случае также нельзя теперь брать данные из текстового поля, берите тоже из
Код AS1/AS2:

sender.vess = txtSrc;

Что все это означает? Это означает, что структура исходного файла в части, касающейся "переносов" строк останется без изменений.
А в тестовое поле для обозрение польователем выводится строка, уже обработанная сплит-джойном.


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

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