powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сохранение в текстовый файл в DOS-кодировке
8 сообщений из 8, страница 1 из 1
Сохранение в текстовый файл в DOS-кодировке
    #32788469
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно сохранить в текстовый файл в DOS-кодировке

Я пользуюсь командой PRINT.

Но она сохраняет в WIN-кодировке.

Как настроить?

Подскажите, кто знает...
...
Рейтинг: 0 / 0
Сохранение в текстовый файл в DOS-кодировке
    #32788487
Lenivec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
API...

ну или я например в свое время баловался:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
Public Sub Win2Dos(str As String, Optional CmdMeter As Boolean = True)
 
On Error GoTo Err_

Dim Conv As Variant
Dim Tmp As Byte
Dim i As Long
Dim j As Long
    
    Conv = Array( 192 ,  193 ,  194 ,  195 ,  196 ,  197 ,  198 ,  199 ,  200 ,  201 ,  202 ,  203 ,  204 ,  205 ,  206 ,  207 , _
                  208 ,  209 ,  210 ,  211 ,  212 ,  213 ,  214 ,  215 ,  216 ,  217 ,  218 ,  219 ,  220 ,  221 ,  222 ,  223 , _
                  224 ,  225 ,  226 ,  227 ,  228 ,  229 ,  230 ,  231 ,  232 ,  233 ,  234 ,  235 ,  236 ,  237 ,  238 ,  239 , _
                  128 ,  129 ,  130 ,  131 ,  132 ,  133 ,  134 ,  135 ,  136 ,  137 ,  138 ,  139 ,  140 ,  141 ,  142 ,  143 , _
                  144 ,  145 ,  146 ,  147 ,  148 ,  149 ,  150 ,  151 ,  152 ,  153 ,  154 ,  155 ,  156 ,  157 ,  158 ,  159 , _
                  160 ,  161 ,  162 ,  163 ,  164 ,  165 ,  166 ,  167 ,  169 ,  170 ,  171 ,  172 ,  173 ,  174 ,  175 ,  176 , _
                  240 ,  241 ,  242 ,  243 ,  244 ,  245 ,  246 ,  247 ,  248 ,  249 ,  250 ,  251 ,  252 ,  253 ,  254 ,  255 , _
                  168 ,  184 ,  177 ,  178 ,  179 ,  180 ,  181 ,  182 ,  183 ,  185 ,  186 ,  187 ,  188 ,  189 ,  190 ,  191 )

    Open str For Random As # 1  Len = Len(Tmp)
    If CmdMeter Then
        SysCmd acSysCmdInitMeter, "Преобразование файла: ", LOF( 1 )
    End If
    For i =  1  To LOF( 1 )
        If CmdMeter Then
            SysCmd acSysCmdUpdateMeter, i
        End If
        Get # 1 , i, Tmp
        If Tmp >  127  Then
            For j =  0  To  127 
                If Conv(j) = Tmp Then
                    Tmp = j +  128 
                    Put # 1 , i, Tmp
                    Exit For
                End If
            Next j
        End If
    Next i
    Close # 1 
    
Exit_:
On Error Resume Next
    If CmdMeter Then
        SysCmd acSysCmdRemoveMeter
    End If
    Close # 1 
    Exit Sub
Err_:
    MsgBox Err.Description, vbOKOnly
    Resume Exit_

End Sub
...
Рейтинг: 0 / 0
Сохранение в текстовый файл в DOS-кодировке
    #32788519
Фотография unclefed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Классная вещь, только сразу не ясно
для чего CmdMeter ?
...
Рейтинг: 0 / 0
Сохранение в текстовый файл в DOS-кодировке
    #32788533
Lenivec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а это мне просто нужно было статус бар в одних случаях выводидь, а в других нет
...
Рейтинг: 0 / 0
Сохранение в текстовый файл в DOS-кодировке
    #32788558
Aslon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сколько себя помню в Access'e пользуюсь этой функцией (в отдельном модуле).

Option Compare Database
Option Explicit

Public Declare Function CharToOemBuff Lib "user32" Alias "CharToOemBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal cchDstLength As Long) As Long
Public Type Record ' Тип, определенный пользователем.
ID As Integer
NAME As String * 20
End Type

Public Function ToOEM(s As String) As String
Dim Buffer As String
Buffer = Space(Len(s) + 1)
CharToOemBuff s, Buffer, Len(s)
ToOEM = Left(Buffer, Len(s))
End Function


Пример: ToOEM("qwerty") или ToOEM(a)
...
Рейтинг: 0 / 0
Сохранение в текстовый файл в DOS-кодировке
    #32788566
e_basil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так поменьше кода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Function DOS_Coder(strSrc As String) As String
    Dim strDest As String  
    Dim code As Long
        
    strDest = Space$(Len(strSrc)) 
    code = CharToOem(strSrc, strDest)
    DOS_Coder = strDest
    
End Function
...
Рейтинг: 0 / 0
Сохранение в текстовый файл в DOS-кодировке
    #32788573
e_basil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Естеств-но, сначала объявляем:
Код: plaintext
Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
...
Рейтинг: 0 / 0
Сохранение в текстовый файл в DOS-кодировке
    #32788638
Фотография REBUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все получается!
Thank you!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сохранение в текстовый файл в DOS-кодировке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]