Форум 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=124315)

StudentPSTU 26.04.2009 21:14

Отправка письма с вставленной таблицей
 
Здравствуйте, коллеги. В моем проекте идет работа с таблицами. Также в нем должны быть отправка заказа в виде таблицы. Скажите можно ли и как сделать отправку письма с вложенной таблицей. Пробывал делать таблицу с помощью отступов, не поличось. Заранее спасибо.

StudentPSTU 09.05.2009 22:59

вообще возможно через пхп такое сделать?

Mnilionic 09.05.2009 23:22

открываете Microsoft Excel, рисуете таблицу.
потом отрываете Internet Explore, грузите mail.ru, создаёте письмо, аттачите xls и вуаля.

Stargazer 09.05.2009 23:41

Можно сделать отправку письма с вложенным "чем-угодно". А почему вы не хотите сделать таблицу на хтмл?

iNils 10.05.2009 00:28

таблица
+--------+--------+--------+
| cell 1 | cell 2 | cell 3 |
+--------+--------+--------+
| val 10 | val 20 | val 30 |
| val 11 | val 21 | val 31 |
| val 12 | val 22 | val 32 |
+--------+--------+--------+

StudentPSTU 11.05.2009 11:47

iNils, я тоже так хотел делать, но вот длина текста в первом столбце разная.
Stargazer, можно хоть в чем, но лишь бы заявка с таблицей отправлялась на мыло.
А еще забыл сказать, будет локальная и веб-версии. Из обеих должно отправляться заявка.(
Вот для локальной версии слышал что можно использовать MZinc, только это для меня темный лес. Я даже готов заплатить чтобы кто - нибудь сделал.

iNils 11.05.2009 12:40

Цитата:

но вот длина текста в первом столбце разная.
Считаем самую длину строку первого столбца и по ней формируем ширину таблицы.

Stargazer 11.05.2009 14:08

Традиционный способ: отправлять через php.
Сформируйте html. Передайте его php-скрипту - он сформирует заголовки и содержимое и отправит. Примеров таких скриптов очень много в интернете.

StudentPSTU 11.05.2009 14:53

Ну вот проблема, у таблицы число строк не постоянное. Это как то можно решить?
А скажите что делать с локальной версией? правда ли что в MZinc можно это реализовать?

Добавлено через 30 минут
iNils, я уже пробывал это. Дело в том что в строке есть разные знаки припенания и слэши.

iNils 11.05.2009 15:38

Код AS1/AS2:

//// главный функционал
//// формат таблицы: СТРОК x СТОЛБЦОВ
function table (array:Array):String {
        var row:Number = array.length;
        var col:Number = array[0].length;
        var arrayWidth:Array = [];
        for (var i:Number = 0; i < row; i++) {
                for (var j:Number = 0; j < col; j++) {
                        if (arrayWidth[j] == undefined || arrayWidth[j] < array[i][j].length) {
                                arrayWidth[j] = array[i][j].length;
                        }
                }
        }
        var line:String = "+";
        for (var j:Number = 0; j < col; j++) {
                line += fillChars (arrayWidth[j] + 2, "-") + "+";
        }
        line += "\n";
        var str:String = line;
        for (var i:Number = 0; i < row; i++) {
                for (var j:Number = 0; j < col; j++) {
                        if (j == 0) {
                                str += "|";
                        }
                        str += " " + array[i][j] + fillChars (arrayWidth[j] - array[i][j].length, " ");
                        str += " |";
                }
                str += "\n";
                if (i == 0) {
                        str += line;
                }
        }
        str += line;
        return str;
}
//// вспомогательный функционал
function fillChars (len:Number, char:String):String {
        var strOut:String = "";
        while (strOut.length < len) {
                strOut += char;
        }
        return strOut;
}
//// пример работы
var str:String = "abcdefghij";
function generator (row:Number, col:Number):Array {
        var array:Array = [];
        for (var i:Number = 0; i < row; i++) {
                array[i] = [];
                for (var j:Number = 0; j < col; j++) {
                        array[i][j] = str.substr (0, 2 + Math.floor (Math.random () * 8));
                }
        }
        return array;
}
trace (table (generator (3, 3)));
trace ("");
trace (table (generator (4, 5)));
trace ("");
trace (table (generator (5, 5)));

Результат работы
Код:

+---------+---------+-----------+
| abcd    | abcde  | abcd      |
+---------+---------+-----------+
| ab      | abcdefg | abcdefgh  |
| abcdefg | abcdefg | abcdefghi |
+---------+---------+-----------+

+----------+--------+----------+----------+-----------+
| abcdefgh | abcd  | abcdefgh | abcdefgh | abcdefghi |
+----------+--------+----------+----------+-----------+
| abcde    | abcde  | abcdefgh | abcdef  | abcd      |
| ab      | ab    | abcd    | ab      | abcdefgh  |
| abcdefgh | abcdef | abcdef  | abcdefgh | abcdefg  |
+----------+--------+----------+----------+-----------+

+-----------+----------+-------+-----------+-------+
| abcdefghi | abcde    | abcd  | abcdefg  | ab    |
+-----------+----------+-------+-----------+-------+
| abcdefg  | abcdefg  | ab    | abcdef    | abcde |
| abcd      | abcd    | ab    | abcdefg  | abcd  |
| abcdef    | abcdefgh | abcde | abcdefghi | abcde |
| ab        | abcdefgh | abc  | abcde    | ab    |
+-----------+----------+-------+-----------+-------+



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

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