Псевдографика

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

Псевдографика

Сообщение baranich » 12.10.2005 (Ср) 9:59

Помогите дали задание по псевдографике. У кого есть примеры работы с ней, скиньте, буду очень благодарна.
Как с помощью таблицы ASCII на VB можно написать код, чтобы в блокноте нарисовать например квадрат?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2005 (Ср) 12:16

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 13.10.2005 (Чт) 19:50

Код: Выделить всё
Dim stX As Single
Dim stY As Single
Dim Draw As Boolean

Const H = "і"
Const V = "Д"
Const LT = "Ъ"
Const LB = "А"
Const RT = "ї"
Const RB = "Щ"

Private Sub Form_Load()
FontName = "Terminal"
FontSize = 14
If Not (Text1.MultiLine) Then
    MsgBox "Установите свойтво Text1.MultiLine= true"
    End
End If
Text1.Move 0, 0, 5000, 5000
Text1.FontName = "Terminal"
Text1.FontSize = 14
Text1.Text = "ўл¤Ґ«ЁвҐ Їаאַ㣮«м­го ®Ў« бвм ЏЉЊ"
End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    stX = X
    stY = Y
    Draw = True
End Sub

Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    pic_Width = (X - stX) / TextWidth("|")
    pic_height = (Y - stY) / TextHeight("|")
   
If pic_Width < 2 Or Button <> vbRightButton Then Exit Sub

    pic_left = stX / TextWidth("|")
    pic_Width = (X - stX) / TextWidth("|")
    pic_height = (Y - stY) / TextHeight("|")
    pic_top = stY / TextHeight("|")
    pic_txt = ""

On Error Resume Next
For i = 1 To pic_top
    pic_txt = pic_txt & vbNewLine
Next
pic_txt = pic_txt & Space$(pic_left)  ' отступаем от верха
pic_txt = pic_txt & LT & String$(pic_Width - 2, V) & RT 'рисуем ВЕРХ
For i = 0 To pic_height - 2
    pic_txt = pic_txt & vbNewLine & Space$(pic_left)   ' отступаем от верха
    pic_txt = pic_txt & H & Space$(pic_Width - 2) & H  'рисуем промежуточные
Next
pic_txt = pic_txt & vbNewLine & Space$(pic_left)    ' отступаем от верха
pic_txt = pic_txt & LB & String$(pic_Width - 2, V) & RB 'НИЗ

Text1 = pic_txt
Text1.SelStart = 0
End Sub

Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Draw = False
End Sub
Написано криво - но работает
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

baranich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 123
Зарегистрирован: 23.08.2005 (Вт) 9:00

Сообщение baranich » 14.10.2005 (Пт) 8:00

спасибо, буду разбираться

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 14.10.2005 (Пт) 10:54

SHURUP писал(а):FontName = "Terminal"


Народ, а откуда у большинства такой заскок, что если псевдографика и OEM то надо использовать Terminal ????

Смотрим приложеный пример (я чуть изменил выложенный ранее).
Вложения
Form11.rar
(1.42 Кб) Скачиваний: 73
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 14.10.2005 (Пт) 12:45

Это не заскок , просто изначально шрифт терминал предназначался именно для этого (Таблицы там, закрашивания итд. как режим "Г" на Спектрум Синклер)

Ем вилкой...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 14.10.2005 (Пт) 12:54

Info_m.be_free писал(а):Это не заскок , просто изначально шрифт терминал предназначался именно для этого (Таблицы там, закрашивания итд. как режим "Г" на Спектрум Синклер)


Это все же заскок ибо сам по себе Terminal довольно коряв (для чего он там изначально предназначался - кто его точно знает, да это и мало интересует), а текст с DOS-овский текст можно вывести безо всякой перекодировки и обычными фонтами. Видимо просто про CharSet=255 мало кто знает...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 14.10.2005 (Пт) 13:36

Andrey Fedorov писал(а):
Info_m.be_free писал(а):Это не заскок , просто изначально шрифт терминал предназначался именно для этого (Таблицы там, закрашивания итд. как режим "Г" на Спектрум Синклер)


Это все же заскок ибо сам по себе Terminal довольно коряв (для чего он там изначально предназначался - кто его точно знает, да это и мало интересует), а текст с DOS-овский текст можно вывести безо всякой перекодировки и обычными фонтами. Видимо просто про CharSet=255 мало кто знает...


Я одно время долго пытался вывести в RTB псевдографику - безрезультатно. Устанавливать CharSet пробовал....
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 14.10.2005 (Пт) 14:06

Ruslan Demidow писал(а):Я одно время долго пытался вывести в RTB псевдографику - безрезультатно. Устанавливать CharSet пробовал....


Можно и в него - но разбираться надо, не пробовал.

Да и не интересует меня RichTextBox ибо навороченных редакторов я не пишу, а для красивого отображения чего-либо я предпочитаю WebBrowser - ибо с ним все элементарно...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.10.2005 (Пт) 14:58

Andrey Fedorov писал(а):
Info_m.be_free писал(а):Это не заскок , просто изначально шрифт терминал предназначался именно для этого (Таблицы там, закрашивания итд. как режим "Г" на Спектрум Синклер)


Это все же заскок ибо сам по себе Terminal довольно коряв (для чего он там изначально предназначался - кто его точно знает, да это и мало интересует)

Предназначался, да и сейчас предназначается, он для консольных окон.

Ruslan Demidow писал(а):Я одно время долго пытался вывести в RTB псевдографику - безрезультатно. Устанавливать CharSet пробовал....

Всё это уже было.
Изображение

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 14.10.2005 (Пт) 17:22

Это все же заскок ибо сам по себе Terminal довольно коряв (для чего он там изначально предназначался - кто его точно знает, да это и мало интересует), а текст с DOS-овский текст можно вывести безо всякой перекодировки и обычными фонтами. Видимо просто про CharSet=255 мало кто знает...

Стоит предположить, что Вы, Сэр, для построения консольных таблиц используете Arial, и висите под Линуксом... а может поскольку вас это "мало интересует" (проглядывается неуважение к классической консоли)... короче сомнения закрадываются однако. И причем тут кодировка к псевдографике? Можно и иероглифами складывать имхо.
А терминал чем коряв?, он недостаточно моноширный или буквы неровные?
_____Итог____________
Постановляю: ввиду отсутствия конструктивной критики - незаскок и некоряв. :twisted:

Ем вилкой...

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 14.10.2005 (Пт) 20:01

Info_m.be_free, доля правды в корявости есть.
Т.к. в терминале изменение размера шрифта слишком скачкообразно.
Видимо дает знать разность типов файлов TTF (Courier New) и ... вообще неясно шо (Terminal я в папке Fonts вообще не нашел)
--
Видимо просто про CharSet=255 мало кто знает...

Да. Я в это "мало" не попал :oops: . Поэтому и выбрал Terminal
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.10.2005 (Сб) 0:22

SHURUP писал(а):Info_m.be_free, доля правды в корявости есть.
Т.к. в терминале изменение размера шрифта слишком скачкообразно.
Видимо дает знать разность типов файлов TTF (Courier New) и ... вообще неясно шо (Terminal я в папке Fonts вообще не нашел)

TTF (контуры) и FON (битмапы).
В зависимости от выбранной локали и настроек дисплея, Terminal загружается из одного из (скрытых) файлов 8514????.fon, app???.fon, cga?????.fon, ega?????.fon, vga???.fon +ещё несколько вариантов. Эти же шрифты загружаются в знакогенератор в текстовых режимах, поэтому их столько много.
Изображение

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 17.10.2005 (Пн) 7:49

Info_m.be_free писал(а):Стоит предположить, что Вы, Сэр, для построения консольных таблиц используете Arial, и висите под Линуксом...


Каких-каких таблиц? Иде это? Ну таблицы в MS Sql, Access, DBF и подобные - знаю, но консольных никогда не строил... Хотя под луниксом не сижу...

Info_m.be_free писал(а): а может поскольку вас это "мало интересует" (проглядывается неуважение к классической консоли)... короче сомнения закрадываются однако. И причем тут кодировка к псевдографике? Можно и иероглифами складывать имхо.
А терминал чем коряв?, он недостаточно моноширный или буквы неровные?


Это фонт может и идет для консоли, но когда его используют в Windows-приложении он выглядит дюже коряво. Я уж не буду говорить что он не трутайпный и все подобное...

Info_m.be_free писал(а):_____Итог____________
Постановляю: ввиду отсутствия конструктивной критики - незаскок и некоряв. :twisted:


Да ради бога - ездите на своем лисапеде, Cэр :lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 19.10.2005 (Ср) 20:23

Каких-каких таблиц? Иде это? Ну таблицы в MS Sql, Access, DBF и подобные - знаю, но консольных никогда не строил... Хотя под луниксом не сижу...

Ну окошки под нортоном видел? или хотя бы вот пример:
Код: Выделить всё
<table>
╔═══╦═══╦═══╦═══╦═══╗
╠═══╬═══╬═══╬═══╬═══╣
╠═══╬═══╬═══╬═══╬═══╣
╚═══╩═══╩═══╩═══╩═══╝
</table>

для консоли полне...
А вот насчет понятий, то судя по вышеследующемубуквенному набору речь идёт о базах данных, при чем здесь таблицы,Сэр? :twisted:
_________________________________________________________
........................................................................вот и все что я хотел сказать....

........................................................................нет...не .всё...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.10.2005 (Ср) 20:33

Какое отношение имеют консольные программы и VB?
Никак, под юниксы теперь на VB начали писать? :roll:
Изображение


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 135

    TopList