Верхний индекс в тексте

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Верхний индекс в тексте

Сообщение KPEATOP » 26.08.2008 (Вт) 14:02

У меня в ячейке MSFlexGrid пишется тект :
Form3.MSFlexGrid1.TextMatrix(2, 0) = "Дебит скважины, м3/сут"

Как мне сделать 3 верхним индексом ?
Заранее сенкс!
Вечность пахнет нефтью

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Верхний индекс в тексте

Сообщение alibek » 26.08.2008 (Вт) 14:06

U+00B3. Либо картинкой.
Lasciate ogni speranza, voi ch'entrate.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Верхний индекс в тексте

Сообщение KPEATOP » 26.08.2008 (Вт) 14:11

??? я не понял как при помощи U+00B3 сделать верхний индекс? Я никогда этим не пользовался.
Вечность пахнет нефтью

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Верхний индекс в тексте

Сообщение alibek » 26.08.2008 (Вт) 14:13

U+00B3 — это код (в юникоде) символа "³".
Lasciate ogni speranza, voi ch'entrate.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Верхний индекс в тексте

Сообщение KPEATOP » 26.08.2008 (Вт) 14:34

если я с этим не сталкивался, я все равно не понял как мне исползовать U+00B3 как нибудь так :

Form3.MSFlexGrid1.TextMatrix(2, 0) = "Дебит скважины, м" & StrConv(U+00B3, 64) & "/сут"

Может подскажите подробней ?
Вечность пахнет нефтью

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Верхний индекс в тексте

Сообщение Viper » 26.08.2008 (Вт) 14:41

Ключевое слово - код символа! Что делают с кодами символа? Правильно! Преобразовывают в символ.
Весь мир матрица, а мы в нем потоки байтов!

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Верхний индекс в тексте

Сообщение KPEATOP » 26.08.2008 (Вт) 14:46

Form3.MSFlexGrid1.TextMatrix(2, 0) = "Дебит скважины, м" & StrConv(U+00B3, 64) & "/сут"

у меня это не работает
Вечность пахнет нефтью

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Верхний индекс в тексте

Сообщение alibek » 26.08.2008 (Вт) 14:49

Не StrConv, а ChrW$(). Только маловероятно, что будет работать, FlexGrid не поддерживает полноценный Unicode.
Или балуйся с Charset, или подбирай шрифт, или используй картинку.
Lasciate ogni speranza, voi ch'entrate.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Верхний индекс в тексте

Сообщение Viper » 26.08.2008 (Вт) 14:56

KPEATOP писал(а):
Код: Выделить всё
StrConv(U+00B3, 64)
Это вообще что? ChrW используй, только надо CharSet подбирать для отображения Unicode-символов.
Весь мир матрица, а мы в нем потоки байтов!

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Верхний индекс в тексте

Сообщение Денис » 26.08.2008 (Вт) 15:15

Что-то вы не то советуете, парни :lol:
Я попробовал такой код
Код: Выделить всё
MSFlexGrid1.TextMatrix(1, 1) = _
   "Дебит скважины, м" & _
   ChrW$(&H0 & &HB3) & "/сут"

В итоге получаю
Дебит скважины, м?/сут

Шрифт Lucida Sans Unicode, с ним проблем нет.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Верхний индекс в тексте

Сообщение KPEATOP » 27.08.2008 (Ср) 7:10

если U+00B3 - код символа 3(верхний индекс), тогда, чтоб получить верхний индекс 3, нужно:

ChrW$(U+00B3)
но это не работает
Вечность пахнет нефтью

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Верхний индекс в тексте

Сообщение Viper » 27.08.2008 (Ср) 7:17

KPEATOP писал(а):если U+00B3 - код символа 3(верхний индекс), тогда, чтоб получить верхний индекс 3, нужно:
ChrW$(U+00B3)
но это не работает
Тяжелый случай, а попробовать
Код: Выделить всё
ChrW(&H00B3)
не судьба?
Весь мир матрица, а мы в нем потоки байтов!

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Верхний индекс в тексте

Сообщение KPEATOP » 27.08.2008 (Ср) 7:25

Попробовал как говорит Viper :
Form3.MSFlexGrid2.TextMatrix(1, 0) = "Дебит жидкости, м" & ChrW(&H00B3) & "/сут"

Во первых, когда я курсор с этой строки убераю, у меня автоматически 00 проподают и остается:
Form3.MSFlexGrid2.TextMatrix(1, 0) = "Дебит жидкости, м" & ChrW(&HB3) & "/сут"

А это в итоге дает вопросительный знак:
Дебит жилкости, м?/сут
Вечность пахнет нефтью

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Верхний индекс в тексте

Сообщение Viper » 27.08.2008 (Ср) 7:46

KPEATOP писал(а):Попробовал как говорит Viper :
Form3.MSFlexGrid2.TextMatrix(1, 0) = "Дебит жидкости, м" & ChrW(&H00B3) & "/сут"

Во первых, когда я курсор с этой строки убераю, у меня автоматически 00 проподают и остается:
Form3.MSFlexGrid2.TextMatrix(1, 0) = "Дебит жидкости, м" & ChrW(&HB3) & "/сут"
Это нормально, лидирующие нули опускаются, число от этого не поменяется.
KPEATOP писал(а):А это в итоге дает вопросительный знак:
Дебит жилкости, м?/сут
Это конечно ненормально, и говорит о том, что шрифт во FlexGrid не поддерживает Unicode. Бороться можно путем установки ширифта, поддерживающего Unicode, либо установкой соответствующего значения CharSet. Есть правда нехорошее предчувствие, что это не помежет по причине того, что FlexGrid не поддерживает Unicode в принципе. Остается вариант с картинкой.
Весь мир матрица, а мы в нем потоки байтов!

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Верхний индекс в тексте

Сообщение KPEATOP » 27.08.2008 (Ср) 7:56

Не хотелось бы с картинкой делать
а как можно CharSet подобрать, методом "тыка" ?
И еще вопрос : Какой шрифт поддерживает Unicode ?
Вечность пахнет нефтью

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Верхний индекс в тексте

Сообщение Денис » 04.09.2008 (Чт) 8:08

KPEATOP писал(а):Не хотелось бы с картинкой делать
а как можно CharSet подобрать, методом "тыка" ?
И еще вопрос : Какой шрифт поддерживает Unicode ?

Сам FlexGrid не поддерживает Unicode. Не мучайся и делай картинкой. Или используй альтернативный грид.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61

    TopList  
cron