Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: WIN --> DOS Добавлено: 07.08.08 15:29  

Автор вопроса:  Feo
Всем привет
Сделал программу , на VB 2005, которая выгружает данные в текстовый файл. Данные должны быть в DOS кодировке.
Подскажите плиз как это сделать.

Ответить

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

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



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

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 07.08.08 16:06
Код на VB6. На дотнете наверняка есть класс =)
Private Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long

Private Sub Form_Load()
    Dim a As String
    Dim s As String
    a = InputBox("Source", , "Просто строка";)
    s = Space(Len(a))
    Call CharToOem(a, s)
    MsgBox "result:" & vbNewLine & s
End Sub

Ответить

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



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #2 Добавлено: 07.08.08 21:56
В .NET смотри System.Text.Encoding

Ответить

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



Вопросов: 1
Ответов: 4
 Профиль | | #3 Добавлено: 08.08.08 11:05
Private Sub Form_Load()
    ;Dim a As String
    ;Dim s As String
    a = InputBox("Source", , "Просто строка";)
    s = Space(Len(a))
    Call CharToOem(a, s)
    MsgBox "result:" & vbNewLine & s
End Sub


 на MsgBox действительно строка в DOS кодировке, но вот в файле строки получаются кракозябрами не DOS и не WIN кодировка ((

Ответить

Номер ответа: 4
Автор ответа:
 



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

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #4
Добавлено: 08.08.08 12:47
не гони. все нормально получается, я проверял.

Ответить

Номер ответа: 5
Автор ответа:
 Feo



Вопросов: 1
Ответов: 4
 Профиль | | #5 Добавлено: 08.08.08 13:34
а смысл гнать то ? )
пишу подробнее :
выгрузка в текстовый файл
все выглядит красиво ( шрифт Terminal)
но вот при просмотре в FARe сплошные кракозябры

Ответить

Номер ответа: 6
Автор ответа:
 Feo



Вопросов: 1
Ответов: 4
 Профиль | | #6 Добавлено: 08.08.08 13:52
вот вырезка из программы

Imports System.IO

Public Class Form1
    Private Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
    Private StrokaVivod As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a As String = "Пробная строка"
        Dim s As String
        Dim FileName As String = "C:\Test.txt"

        s = Space(Len(a))
        Call CharToOem(a, s)
        StrokaVivod = s

        CreateFile(FileName)
        WriteFile(FileName)
    End Sub

    Private Sub CreateFile(ByVal FileName As String)
        Dim fs As FileStream = File.Create(FileName)
        fs.Close()
    End Sub

    Private Sub WriteFile(ByVal FileName As String)
        Dim fs As New FileInfo(FileName)
        Dim StreamWriter As StreamWriter = fs.AppendText

        StreamWriter.WriteLine(StrokaVivod)

        StreamWriter.Flush()
        StreamWriter.Close()
    End Sub
End Class

Ответить

Номер ответа: 7
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #7 Добавлено: 09.08.08 07:51
Блин, ну какой CharToOem? Какое АПИ?

        Dim CyrillicDos = System.Text.Encoding.GetEncoding(866)
        System.IO.File.WriteAllText("c:\dos.txt", "Превед", CyrillicDos)

Ответить

Номер ответа: 8
Автор ответа:
 Feo



Вопросов: 1
Ответов: 4
 Профиль | | #8 Добавлено: 11.08.08 11:03
Большое спасибо за помощь !

Ответить

Страница: 1 |

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



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