TextBox в ANSI

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

TextBox в ANSI

Сообщение Sice » 15.02.2007 (Чт) 15:34

Здравствуйте. У меня вопрос, какими способами можно сохранить содержимое TextBox'a в кодировке ANSI !? Подскажите пожалуйста.

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

Сообщение alibek » 15.02.2007 (Чт) 15:44

Судя по всему, автор в принципе не понимает, о чем он спросил.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение GSerg » 15.02.2007 (Чт) 15:44

Из содержимого вопроса понятно, что автор вопроса вообще не пытался сохранить это содержимое какими бы то ни было способами.

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

Sice
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 15.02.2007 (Чт) 15:14

Сообщение Sice » 15.02.2007 (Чт) 16:29

Я наслышался на винграде.ру, что сохраняет текст vb в юникоде, поэтому и последовал вопрос, там я не добился ответа, решил спросить тут.

Код: Выделить всё

    fileHandle = FreeFile()
    If cdMain.fileName = "" Then
    cmdSave.Enabled = False
    mnuFileSave.Enabled = False
    MsgNotFindFile = MsgBox("Файл не был найден, сохранение не возможно!", 64, "App")
    Else
    Open fileName For Output As #fileHandle
    MousePointer = vbHourglass
    strText = txtMain.Text
    Print #fileHandle, strText
    MousePointer = vbDefault
    Close #fileHandle
    End If

Sice
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 15.02.2007 (Чт) 15:14

Сообщение Sice » 15.02.2007 (Чт) 16:34

Проблема в том, что Блокнот (Windows) сохраняет файлы например 109 кб, а мой 'редактор' 100 или менее, меня не интересует размер, а интересует именно 'алгоритм' сохранения файла, чтобы размеры файлов совпадались и были одной кодировки.

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

Сообщение GSerg » 15.02.2007 (Чт) 16:49

Sice писал(а):Я наслышался на винграде.ру, что сохраняет текст vb в юникоде

Хранит, а не сохраняет.

Sice писал(а):Print #fileHandle, strText

Это и есть искомый ответ.

Sice писал(а):Проблема в том, что Блокнот (Windows) сохраняет файлы например 109 кб, а мой 'редактор' 100 или менее

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

Sice
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 15.02.2007 (Чт) 15:14

Сообщение Sice » 15.02.2007 (Чт) 16:59

Спасибо, а что может послужить заменой TextBox'a в данной ситуации?
Последний раз редактировалось Sice 15.02.2007 (Чт) 17:05, всего редактировалось 1 раз.

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

Сообщение GSerg » 15.02.2007 (Чт) 17:00

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

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 15.02.2007 (Чт) 17:05

GSerg писал(а):Удивительный редактор, в VB в текстбокс больше 32K не влезет.


Влезет. Если это Win2k и выше. А если 9x - вроде, 64 КБ влезает.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

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

Сообщение Andrey Fedorov » 15.02.2007 (Чт) 17:09

BV писал(а):Влезет. Если это Win2k и выше.


А там вроде 64, что не сильно больше.

А редактировать можно хоть в PictureBox - какие проблемы...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sice
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 15.02.2007 (Чт) 15:14

Сообщение Sice » 15.02.2007 (Чт) 17:12

А какой компонент подключить для использования RichTextBox?

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

Сообщение GSerg » 15.02.2007 (Чт) 17:14

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

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

Сообщение Andrey Fedorov » 15.02.2007 (Чт) 17:24

GSerg писал(а):BV, это ограничение ставит VB. И оно 32K.


Нет - это общее ограничение для TextBox для Win95/98.

Ты-ж не под ними - попробуй:

Код: Выделить всё
    Me.Text1.Text = String(1000000, "Y") & " 346"
    Debug.Print Len(Me.Text1.Text)
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 15.02.2007 (Чт) 17:28

Andrey Fedorov, что понимается под "TextBox для Win95/98"?
Речь идет о ThunderRT6TextBox, как я понимаю.

В Win95/98 есть и другие текстовые поля.

Sice
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 15.02.2007 (Чт) 15:14

Сообщение Sice » 15.02.2007 (Чт) 17:29

Нашел. Тогда скажите пожалуйста, как можно сохранить Содержимое RichTextBox в юникоде?

спасибо.

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

Сообщение Andrey Fedorov » 15.02.2007 (Чт) 17:50

Sice писал(а):Нашел. Тогда скажите пожалуйста, как можно сохранить Содержимое RichTextBox в юникоде?


Опять-сохранить где?

Если в переменной, то:

Код: Выделить всё
Dim s As String

s = Text1.Text


И в переменной мы имеем unicode.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

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

Сообщение GSerg » 15.02.2007 (Чт) 18:01

Andrey Fedorov
Весь топик про сохранение в файл.
А что касается лимита, VB точно обрезал меньше, чем было разрешено в системе. Где-то есть топик об этом, пока не нашёл.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 15.02.2007 (Чт) 19:07

GSerg писал(а):BV, это ограничение ставит VB. И оно 32K.


:roll:
То, что ограничение больше 50 КБ - совершенно точно, так как одна из моих программ работала с файлами именно таких размеров, и именно в Win98. В Win2k+ ограничений нет.

GSerg писал(а):Где-то есть топик об этом, пока не нашёл.


Очень хочется взглянуть.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

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

Сообщение Andrey Fedorov » 15.02.2007 (Чт) 20:01

BV писал(а):То, что ограничение больше 50 КБ - совершенно точно, так как одна из моих программ работала с файлами именно таких размеров, и именно в Win98. В Win2k+ ограничений нет.


Ограничение есть - 64K.

BV писал(а):
GSerg писал(а):Где-то есть топик об этом, пока не нашёл.
Очень хочется взглянуть.


А попробовать? Я же пару строчек на эту тему давал - там все видно...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

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

Сообщение Andrey Fedorov » 15.02.2007 (Чт) 20:03

GSerg писал(а):Andrey Fedorov
Весь топик про сохранение в файл.


Сохранение переменной/текста в файл с кодировкой Unicode:

Код: Выделить всё
Public Sub Main()
    Dim fso As New Scripting.FileSystemObject
    With fso.CreateTextFile(App.Path & "\Test.txt", True, True)
        .WriteLine "Проверка"
        .Close
    End With
End Sub
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

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

Сообщение GSerg » 15.02.2007 (Чт) 20:06

Из пушек по воробьям.
http://bbs.vbstreets.ru/viewtopic.php?p=6652014#6652014
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение Andrey Fedorov » 15.02.2007 (Чт) 20:28

GSerg писал(а):Из пушек по воробьям.
http://bbs.vbstreets.ru/viewtopic.php?p=6652014#6652014


Да просто вариантов куча...

Кстати, в моем случае FFFE в начале добавляется на автомате, да и где здесь пушка-то - все проще некуда. Scripting имеется везде - кроме древних 95-ок. За собой можно не таскать.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

_ae_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 165
Зарегистрирован: 08.10.2006 (Вс) 14:37

Сообщение _ae_ » 15.02.2007 (Чт) 22:26

Amed писал(а):Andrey Fedorov, что понимается под "TextBox для Win95/98"?
Речь идет о ThunderRT6TextBox, как я понимаю.

В Win95/98 есть и другие текстовые поля.
Между ними не так много отличий, как кажеться
BV, это ограничение ставит VB. И оно 32K.
Легко убедится, что это не так. Впрочем, Andrey Fedorov это показал

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 15.02.2007 (Чт) 22:41

Andrey Fedorov писал(а):А попробовать?


Был неправ :)
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;


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

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

Сейчас этот форум просматривают: Google-бот и гости: 17

    TopList