Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Color и String Добавлено: 21.05.03 10:09  

Автор вопроса:  Ant_mal

Вопрос такого рода: для того чтобы сохранить настройки цвета я их перевожу в String и записываю в INI файл. Далее я их из файла считываю, они получаются в String, а как их перевести обратно в Color я не знаю. Не подскажите как это можно сделать?

Ответить

  Ответы Всего ответов: 17  

Номер ответа: 1
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #1 Добавлено: 21.05.03 11:48

Цвет у тебя в хексах или в интегере? или ещё в чем? А среда какая? .NET? Пиши больше инфы.

Ответить

Номер ответа: 2
Автор ответа:
 hedgehog



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #2
Добавлено: 21.05.03 12:48
Цвет фактически - длинное целое число. Не переводи в строковое, а лучше в дл. целое, а после считывания полученную строку (из цифр должна получаться) переводи снова в лонг и можешь присваивать.

Ответить

Номер ответа: 3
Автор ответа:
 Ant_mal



Вопросов: 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
Автор ответа:
 Ant_mal



Вопросов: 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
Автор ответа:
 hedgehog



ICQ: 175571327 

Вопросов: 15
Ответов: 207
 Web-сайт: ezh.ru
 Профиль | | #7
Добавлено: 22.05.03 10:27

Михей прав - вся задача - получить правильное число (десятичное или шестнадцатиричное - дело вкуса, имхо десятичное проще)

Ответить

Номер ответа: 8
Автор ответа:
 Михей Сибирский



ICQ: 74096998 

Вопросов: 1
Ответов: 9
 Профиль | | #8 Добавлено: 22.05.03 10:36
Более того, вроде как по умолчанию именно десятичное и берется

Ответить

Номер ответа: 9
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #9
Добавлено: 22.05.03 12:20
На gotdotnet.ru сейчас та же тема обсуждается. Там предлагают юзать класс System.Drawing.ColorConverter.

Ответить

Номер ответа: 10
Автор ответа:
 Ant_mal



Вопросов: 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
Автор ответа:
 Ant_mal



Вопросов: 4
Ответов: 11
 Профиль | | #12 Добавлено: 22.05.03 13:30

Огромное спасибо!!!

Ответить

Номер ответа: 13
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #13
Добавлено: 22.05.03 14:33

Можно так (в переменной str лежит строка, которую надо конвертить):

RichText.BackColor=Drawing.Color.Fromargb(CInt(str))

Ответить

Номер ответа: 14
Автор ответа:
 Ant_mal



Вопросов: 4
Ответов: 11
 Профиль | | #14 Добавлено: 22.05.03 15:08

А получится так? Когда я перевел в String строка вышла вот в таком виде Color[A=..., R=...,G=...,B=...].

Ответить

Номер ответа: 15
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #15
Добавлено: 22.05.03 17:31
А ты как переводил? Методом ToString? Можно было как-нть по-другому. Например, перевести в Long, а потом в String.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам