Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.26;
Скачать: [xml.tar.bz2];

Вниз

Запись цвета в поток   Найти похожие ветки 

 
Vick   (2003-05-15 13:13) [0]

Доброго всем дня!
Может кто подскажет чайнику, как зансти в поток цвет. Со строками и числами понятно, типа Stream.WriteBuffer(AValue, 8), где AValue: double и т.п, а как цвет текста туда занести??
Это нужно для переноса данных в Эксель из DBGrid, т.е. перенести из него данные и соответсвенно цвета, шрифты и ширину колонок.

Заранее спасибо за ответ.


 
clickmaker   (2003-05-15 13:16) [1]

Имеешь в виду TColor? Так это тот же DWORD. ColorToRGB и в поток


 
Карелин Артем   (2003-05-15 13:16) [2]

И эксель понимает?? Можно мне код посмотреть, опытом поделиться?? Я с екселем частенько общаюсь...
Короче цвет от 4-байтового целого числа ничем не отличается...


 
Skier   (2003-05-15 13:16) [3]

>Vick
1) Не понял ! Почему double ?
2)
> а как цвет текста туда занести??

TFont.Color - это имеется в виду ?


 
Карелин Артем   (2003-05-15 13:18) [4]

clickmaker © (15.05.03 13:16)
А зачем ColorToRGB использовать??


 
Digitman   (2003-05-15 13:18) [5]

var
MyColor: TColor;

...

Stream.WriteBuffer(MyColor, SizeOf(MyColor));


общий же случай ничем не отличается от случая с "цветом"
можно и "запах" и "вкус" записать в поток)))

var
MyVariable: TMyType;

...

Stream.WriteBuffer(MyVariable, SizeOf(MyVariable));



 
Palladin   (2003-05-15 13:23) [6]

другое дело: в каком же виде эксель этот цвет от тебя ожидает


 
Vick   (2003-05-15 13:36) [7]

Даю конкретную установку: есть такая библиотека EhLib, в ней есть процедуры конвертирования в разные типы файлов, в том числе и в Эксель. Так вот я пытаюсь переисать эту процедуру так, чтобы она писала в Эксель кроме текста, еще и остальные установки грида, а эта фигня вся делается через потоки...


 
vuk   (2003-05-15 13:44) [8]

Тогда для начала неплохо бы формат файлов Excel знать. Там, кстати, цвета не абсолютные, а из внутренней таблицы, которая для каждого файла может быть сформирована своя.


 
Vick   (2003-05-15 14:54) [9]

>vuk ©

Ой, а как узнать формать файла Excel и как потом ему цвета туда запузырить???


 
vuk   (2003-05-15 14:59) [10]

Информации по формату Excel в открытом доступе нет. Если повезет, может найдёте выпуск MSDN на CD где-то за 1998-99 годы. Там эта информация была.


 
Vick   (2003-05-15 15:11) [11]

> vuk ©
Ну хорошо, а если не учитывать всякие форматы, как добраться до этой таблицы? И как в нее эти данные положить?


 
vuk   (2003-05-15 15:16) [12]

Не зная формата Excel, экспорт в Excel можно сделать только средствами самого Excel. Так что к Вас вариантов несколько:
1. Оставить всё как есть.
2. Разобраться-таки с форматом.
3. Найти готовое.
4. Сделать экспорт, используя сам Excel.

Я, в своё время, разбирался с форматом, правда мне для моих нужд выделение цветом было не нужно. :o)


 
Vick   (2003-05-15 15:35) [13]

Что могут обозначать для Экселя такие массивы:

CXlsBof: array[0..5] of Word = ($809, 8, 0, $10, 0, 0);
CXlsEof: array[0..1] of Word = ($0A, 00);
CXlsLabel: array[0..5] of Word = ($204, 0, 0, 0, 0, 0);
CXlsNumber: array[0..4] of Word = ($203, 14, 0, 0, 0);
CXlsRk: array[0..4] of Word = ($27E, 10, 0, 0, 0);


 
vuk   (2003-05-15 15:51) [14]

Это куски записей BIFF файла для хранения служебных данных и данных ячеек.

Bof - begin of file
Eof - End of file
Label - текст
Number - число с плаывающей точкой.
RK - целое число (есть 4 различных формата)


 
Vick   (2003-05-15 16:25) [15]

ЛОгично, ато сам цифры обозначают?


 
vuk   (2003-05-15 16:53) [16]

Заголовок записи, понятное дело.:o) Тип и длина.

P.S. Я Вам формат Excel здесь расписывать не буду, даже не надейтесь, это документ не на один мегабайт. Надо - занимайтесь самостоятельно, где искать - я уже написал.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.05.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
4-83795
Num Lock
2003-03-26 15:21
2003.05.26
Как без окна обработать сообщения от всплывающего меню?


3-83399
Ann
2003-05-06 15:55
2003.05.26
запрос


14-83696
oss
2003-05-06 13:56
2003.05.26
документация


1-83548
User
2003-05-13 12:01
2003.05.26
Нажатие Ctrl?


4-83788
Saska
2003-03-24 13:09
2003.05.26
GetSystemTime





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский