Вопрос: Color и String | Добавлено: 21.05.03 10:09 |
Автор вопроса: ![]() |
Вопрос такого рода: для того чтобы сохранить настройки цвета я их перевожу в String и записываю в INI файл. Далее я их из файла считываю, они получаются в String, а как их перевести обратно в Color я не знаю. Не подскажите как это можно сделать? |
Ответы | Всего ответов: 17 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() Вечный Юзер! ICQ: uu@jabber.cz Вопросов: 120 Ответов: 3302 |
Профиль | Цитата | #1 | Добавлено: 21.05.03 11:48 |
Цвет у тебя в хексах или в интегере? или ещё в чем? А среда какая? .NET? Пиши больше инфы. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ICQ: 175571327 Вопросов: 15 Ответов: 207 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 21.05.03 12:48 |
Цвет фактически - длинное целое число. Не переводи в строковое, а лучше в дл. целое, а после считывания полученную строку (из цифр должна получаться) переводи снова в лонг и можешь присваивать. |
Номер ответа: 3 Автор ответа: ![]() ![]() Вопросов: 4 Ответов: 11 |
Профиль | Цитата | #3 | Добавлено: 21.05.03 12:53 |
В чем у меня цвет? Да я сам не знаю. Я делаю так, какой-то переменной типа String присаиваю такую вещь RichTextBox.BrigColor(точно не помню как она называется).ToString. Получается строковая переменная и ее я заношу в INI. Далее я ее считываю а как ее перевести в Color не знаю. Среда VB.NET. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 74096998 Вопросов: 1 Ответов: 9 |
Профиль | Цитата | #4 | Добавлено: 21.05.03 18:51 |
Пример значения полученной строки можешь привести? Вообще, сделать из строки хоть hex, хоть long не проблема... |
Номер ответа: 5 Автор ответа: ![]() ![]() Вопросов: 4 Ответов: 11 |
Профиль | Цитата | #5 | Добавлено: 21.05.03 21:45 |
Уважаемый Михей Сибирский, мне не надо переводить строку не в Hex, не в Long, мне надо получить из нее Color чтобы я мог присвоить ее вот такой штуке RichTextBox.BackColor |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 74096998 Вопросов: 1 Ответов: 9 |
Профиль | Цитата | #6 | Добавлено: 22.05.03 10:19 |
Уважаемый Ant_mal, вам просто пытаются помочь. Собственно, пока я не понял, в чем именно проблема. Вы берете значение BackColor и сохраняете как строку. Потом читаете строку, конвертируете ее в hex или long и....присваиваете свойству BackColor полученное значение. К чему я упомянул по типы? Да потому, что представление colors (цветов) в VB имеет либо long (0....16,777,215 ), либо hex (&H000000....&HFFFFFF). Только и всего.![]() |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ICQ: 175571327 Вопросов: 15 Ответов: 207 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 22.05.03 10:27 |
|
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 74096998 Вопросов: 1 Ответов: 9 |
Профиль | Цитата | #8 | Добавлено: 22.05.03 10:36 |
Более того, вроде как по умолчанию именно десятичное и берется![]() |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 22.05.03 12:20 |
На gotdotnet.ru сейчас та же тема обсуждается. Там предлагают юзать класс System.Drawing.ColorConverter. |
Номер ответа: 10 Автор ответа: ![]() ![]() Вопросов: 4 Ответов: 11 |
Профиль | Цитата | #10 | Добавлено: 22.05.03 12:41 |
Спасибо вам, я просто еще в этом деле начинающий, и возможно не понял что вы мне хотели сказать. Сорри. Вы мне предлогаете перевести полученную строку в hex или long? Тогда небольшой вопросик как это сделать с помощью Convert.To... или каким-то другим способом? |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 74096998 Вопросов: 1 Ответов: 9 |
Профиль | Цитата | #11 | Добавлено: 22.05.03 12:54 |
Если не ошибаюсь, то функциями для конвертации являются Clng (в long) и Hex(в hex). |
Номер ответа: 12 Автор ответа: ![]() ![]() Вопросов: 4 Ответов: 11 |
Профиль | Цитата | #12 | Добавлено: 22.05.03 13:30 |
Огромное спасибо!!! |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #13 | Добавлено: 22.05.03 14:33 |
Можно так (в переменной str лежит строка, которую надо конвертить): RichText.BackColor=Drawing.Color.Fromargb(CInt(str)) |
Номер ответа: 14 Автор ответа: ![]() ![]() Вопросов: 4 Ответов: 11 |
Профиль | Цитата | #14 | Добавлено: 22.05.03 15:08 |
А получится так? Когда я перевел в String строка вышла вот в таком виде Color[A=..., R=...,G=...,B=...]. |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #15 | Добавлено: 22.05.03 17:31 |
А ты как переводил? Методом ToString? Можно было как-нть по-другому. Например, перевести в Long, а потом в String. |
|