Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 09.02.2023
Сообщений: 3

При чтении vb6 стандартными способами из файла, читается не весь файл, а его часть

09.02.2023, 20:30. Показов 2212. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
При чтении vb6 стандартными способами из файла, читается не весь файл, а его часть.
Блокнотом файл открывается полностью. Может в файле какие-то есть символы, почему он останавливает чтение?
Помогите пожалуйста с кодом
Файл прикрепил
Вложения
Тип файла: zip 2106202203.zip (3.0 Кб, 46 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2023, 20:30
Ответы с готовыми решениями:

Какими способами в ассамблере,c++ читать не весь файл а только его часть?
Насколько я понимаю Mysql как раз на этом и основан,что знает позиции на жестком диске,и кое-что загружает в оперативную память.А вот...

При чтении файл пропускает часть вступления
Обращаюсь к вам за совет. У меня есть текст, это книга на английском языке. Но почему-то когда я его пытаются читать. Python...

Можно ли из интернета скачать часть файла, а не весь файл целиком?
Ребята, помогите! Нужно реализовать закачку части файла с нета (несколько байт), а не весь файл.

28
sleep
 Аватар для I can
4934 / 4598 / 841
Регистрация: 13.04.2015
Сообщений: 9,770
26.02.2023, 13:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от HackerVlad Посмотреть сообщение
написал
Всё уже украдено написано до нас (с)
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
26.02.2023, 19:01
Цитата Сообщение от I can Посмотреть сообщение
Правда что ли?
Ура! Теперь сделал и для UTF8 кодировки. Единственный нюанс это в определении кодировки UTF8. Если в начале файла нет первых служебных символов BOM то определение кодировки заняло бы слишком много времени. Пришлось бы полностью перебирать каждый байт файла. А если он будет очень большой то это заняло бы много времени, поэтому я этого делать не стал. Авто-определение кодировки, в универсальной функции, у меня только по началу файла! Зато я так же написал отдельную функцию для UTF8 кодировки без BOM или с BOM если заранее известно что кодировка файла именно UTF8.

I can, специально для тебя писал))) лёгкий код, не нужно никаких громоздких классов.

Visual Basic
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
Option Explicit
Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cbMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Declare Function SysAllocStringByteLen Lib "oleaut32" (ByVal olestr As Long, ByVal BLen As Long) As Long
Private Declare Function IsFileAPI Lib "shlwapi" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
Private Declare Sub PutMem4 Lib "msvbvm60" (ByVal Ptr As Long, ByVal Value As Long)
 
' Универсальная функция загрузки файла в переменную, в не зависимости от кодировки
Public Function LoadFileToStringUniversal(FileName As String) As String
    Dim FileNo As Integer
    Dim fLen As Long
    Dim str() As Byte
    Dim strLE() As Byte
    Dim TheFirstTwoBytes(1) As Byte
    Dim nOutputCharLen As Long
    Dim strs As String
    Dim i As Long
    
    If IsFileAPI(FileName) = 0 Then Exit Function ' Файл не существует, с вероятностью 99%
    fLen = FileLen(FileName)
    If fLen = 0 Then Exit Function
    
    ' Инициализировать счётчик
    FileNo = FreeFile
    
    ' Открыть файл
    Open FileName For Binary As FileNo
        Get #FileNo, 1, TheFirstTwoBytes ' Для начала прочитать первые два байта файла
        
        If TheFirstTwoBytes(0) = 255 And TheFirstTwoBytes(1) = 254 Then ' Кодировка UTF16-LE
            ReDim str(fLen - 1)
            Get #FileNo, , str ' Начиная с третьего байта
            LoadFileToStringUniversal = str
        End If
        
        If TheFirstTwoBytes(0) = 254 And TheFirstTwoBytes(1) = 255 Then ' Кодировка UTF16-BE
            ReDim str(fLen - 1)
            ReDim strLE(fLen - 1)
            Get #FileNo, , str ' Начиная с третьего байта
            
            For i = 0 To UBound(str) Step 2
                If i <> UBound(str) Then strLE(i + 1) = str(i)
            Next
            For i = 1 To UBound(str) Step 2
                strLE(i - 1) = str(i)
            Next
            
            LoadFileToStringUniversal = strLE
        End If
        
        If TheFirstTwoBytes(0) = 239 And TheFirstTwoBytes(1) = 187 Then ' Кодировка UTF8-BOM
            ReDim str(fLen - 1)
            Get #FileNo, , str ' Начиная с третьего байта
            
            ' Узнать буфер
            nOutputCharLen = MultiByteToWideChar(65001, 0&, VarPtr(str(LBound(str))), fLen, 0&, 0&)
            
            ' Мгновенно выделить память для строки, не используя Space$ или String$ (это медленно)
            PutMem4 VarPtr(strs), SysAllocStringByteLen(0&, fLen * 2)
            
            ' Преобразовать кодировки (65001 это CP_UTF8)
            MultiByteToWideChar 65001, 0&, VarPtr(str(LBound(str))), fLen, StrPtr(strs), nOutputCharLen
            
            LoadFileToStringUniversal = Mid$(strs, 2)
        End If
    Close FileNo
    
    If TheFirstTwoBytes(0) <> 254 And TheFirstTwoBytes(0) <> 255 And TheFirstTwoBytes(1) <> 254 And TheFirstTwoBytes(1) <> 255 Then ' Кодировка не UTF16-LE и не UTF16-BE
        If TheFirstTwoBytes(0) <> 239 And TheFirstTwoBytes(1) <> 187 Then ' Кодировка не UTF8-BOM, значит скорее всего, простая кодировка ANSI (либо может быть кодировка UTF8 обычная, но её проверять слишком долго)
            ' Инициализировать счётчик
            FileNo = FreeFile
            
            ' Открыть файл
            Open FileName For Binary As FileNo
                PutMem4 VarPtr(LoadFileToStringUniversal), SysAllocStringByteLen(0&, fLen * 2) ' Мгновенно выделить память для строки, не используя Space$ или String$ (это медленно)
                Get #FileNo, , LoadFileToStringUniversal
            Close FileNo
        End If
    End If
End Function
 
' Загрузка файла UT8 в переменную String
Public Function LoadFileToStringUT8(FileName As String) As String
    Dim FileNo As Integer
    Dim fLen As Long
    Dim str() As Byte
    Dim nOutputCharLen As Long
    Dim strs As String
    Dim isBOM As Boolean
    
    If IsFileAPI(FileName) = 0 Then Exit Function ' Файл не существует, с вероятностью 99%
    fLen = FileLen(FileName)
    If fLen = 0 Then Exit Function
    
    ' Инициализировать счётчик
    FileNo = FreeFile
    
    ' Открыть файл
    Open FileName For Binary As FileNo
        ReDim str(LOF(FileNo) - 1)
        Get #FileNo, , str
    Close FileNo
    
    If fLen >= 3 Then
        If str(0) = 239 And str(1) = 187 And str(2) = 191 Then
            isBOM = True
        End If
    End If
    
    If isBOM = True Then ' В файле есть первых три служебных символа (BOM) определяющая кодировку
        ' Узнать буфер
        nOutputCharLen = MultiByteToWideChar(65001, 0&, VarPtr(str(LBound(str))), fLen, 0&, 0&)
        
        ' Мгновенно выделить память для строки, не используя Space$ или String$ (это медленно)
        PutMem4 VarPtr(strs), SysAllocStringByteLen(0&, nOutputCharLen * 2)
        
        ' Преобразовать кодировки (65001 это CP_UTF8)
        MultiByteToWideChar 65001, 0&, VarPtr(str(LBound(str))), fLen, StrPtr(strs), nOutputCharLen
        
        LoadFileToStringUT8 = MidB$(strs, 3) ' Начиная с третьего байта
    Else
        ' Узнать буфер
        nOutputCharLen = MultiByteToWideChar(65001, 0&, VarPtr(str(LBound(str))), fLen, 0&, 0&)
        
        ' Мгновенно выделить память для строки, не используя Space$ или String$ (это медленно)
        PutMem4 VarPtr(LoadFileToStringUT8), SysAllocStringByteLen(0&, nOutputCharLen * 2)
        
        ' Преобразовать кодировки (65001 это CP_UTF8)
        MultiByteToWideChar 65001, 0&, VarPtr(str(LBound(str))), fLen, StrPtr(LoadFileToStringUT8), nOutputCharLen
    End If
End Function
Добавлено через 5 минут
Я там ошибся назвал функцию LoadFileToStringUT8 вместо LoadFileToStringUTF8 сами исправьте пожалуйста, либо оставьте уж как есть, всё равно будет работать, это всего лишь название
0
sleep
 Аватар для I can
4934 / 4598 / 841
Регистрация: 13.04.2015
Сообщений: 9,770
26.02.2023, 19:06
Цитата Сообщение от HackerVlad Посмотреть сообщение
I can, специально для тебя писал
Спасибо. Но я не пишу на VB6. Установлен просто на компе для "побаловаться".
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38174 / 21109 / 4307
Регистрация: 12.02.2012
Сообщений: 34,711
Записей в блоге: 14
28.02.2023, 07:28
Цитата Сообщение от sid120 Посмотреть сообщение
При чтении vb6 стандартными способами из файла, читается не весь файл, а его часть.
-

А вот так если читать:

Visual Basic
1
2
3
4
5
6
    fi%=FreeFile()
    open "123.txt" for Binary access Read as #fi%
    fsz&=LOF(fi%)
    Buf$=Space$(fsz&)
    get #fi%,,Buf$
    close #fi%
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
28.02.2023, 14:51
Цитата Сообщение от Catstail Посмотреть сообщение
А вот так если читать
Если файл читать именно так в строку, а не в байтовый массив, то таким способом можно прочитать только файл находящийся в кодировке ANSI. В вашем примере для UTF16-LE пришлось бы ещё лишний раз делать преобразование кодировок. Добавив ещё строчку Buf$ = StrConv(Buf$, vbFromUnicode). Вот так только и будет работать (но это медленно):

Visual Basic
1
2
3
4
5
6
7
fi% = FreeFile()
    Open App.Path & "\2106202203 LE.txt" For Binary Access Read As #fi%
    fsz& = LOF(fi%)
    Buf$ = Space$(fsz&)
    Get #fi%, , Buf$
    Close #fi%
    Buf$ = StrConv(Buf$, vbFromUnicode)
Добавлено через 4 минуты
Таким образом два раза было бы преобразование кодировок. Первый раз сам VB6 в строке Get #fi%, , Buf$ преобразует, он там всегда преобразует, второй раз сам в строчке Buf$ = StrConv(Buf$, vbFromUnicode).

Добавлено через 4 минуты
Строка и байтовый массив это не одно и тоже для VB6 вот классная статья http://www.vbstreets.ru/VB/Articles/66364.aspx
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38174 / 21109 / 4307
Регистрация: 12.02.2012
Сообщений: 34,711
Записей в блоге: 14
28.02.2023, 14:58
HackerVlad, у меня все прекрасно читается. Но в связи с юникодом символы печатаются "вразрядку". С этим легко можно справиться:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub aaa()
 
    HomeDir$ = ThisWorkbook.Path
    
    fi% = FreeFile()
    Open HomeDir$ + "\2106202203.txt" For Binary Access Read As #fi%
    fsz& = LOF(fi%)
    iBuf$ = Space$(fsz&)
    Get #fi%, , iBuf$
    Close #fi%
    
    oBuf$ = Space$(fsz& \ 2 + 2)
    jj& = 1
    
    For ii& = 3 To fsz& Step 2
        Mid$(oBuf$, jj&, 1) = Mid$(iBuf$, ii&, 1)
        jj& = jj& + 1
    Next ii&
    
    Debug.Print oBuf$
    
End Sub
Вот текст из файла:

Кликните здесь для просмотра всего текста

<!--Written by CoLOS Designer V6.2.11.0--><Legend type="Image.V1" PaperColor="White" BackgroundColor="DarkGray"><DeviceInfo DeviceURI="MarkpointDriver[Imaje2620168mm_2200]/"><DeviceName>2200 - 2620 168mm 8 dot</DeviceName></DeviceInfo><Description /><Mirrored>false</Mirrored><Orientation>DEG_0</Orientation><Width>7000</Width><Height>5500</Height><FieldList><Field type="AlphaNum.V1"><Name>TEXT</Name><ID>6</ID><Geometry><X>7003</X><Y>3226</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text
type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>388</CharHeight><CharWidth>176</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text> '  -;-?C 250E120E65/1$/150/1,2/50/!" 530-2012</Text></Static></Field><Field type="AlphaNum.V1"><Name>TEXT_2</Name><ID>8</ID><Geometry><X>7003</X><Y>2726</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key
>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>388</CharHeight><CharWidth>352</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text> "/  290</Text></Static></Fie
ld><Field type="AlphaNum.V1"><Name>TEXT_13</Name><ID>24</ID><Geometry><X>3752</X><Y>2726</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>388</CharHeig
ht><CharWidth>635</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text>(@0A=K9)</Text></Static></Field><Line type="Line.V1"><Name>LINE_2</Name><ID>28</ID><Geometry><X>1502</X><Y>2726</Y><Rotation>0</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>PerJobD ata</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>IsHiddenAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item></PropertyBag></AppInfo><X2>6752</X2><Y2>2726</Y2><LineWidth>30</LineWidth></Line><Field type="AlphaNum.V1"><Name>TEXT_3</Name><ID>10</ID><Geometry><X>7003</X><Y>1976</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHi
ddenAppInfo.V1"><IsHidden>false</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>203</CharHeight><CharWidth>203</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item
></PropertyBag></AppInfo><Text>8@?8G :5@0<8G5A:89, CB>;I5==K9, ;8F52>9, ?CAB>B5;K9,</Text></Static></Field><Field type="AlphaNum.V1"><Name>TEXT_5</Name><ID>12</ID><Geometry><X>7003</X><Y>1726</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Itali
c>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>203</CharHeight><CharWidth>203</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text>@C??0 ?> B5?;>B5E=8G5A:>9MDD5:B82=>AB8:</Text></Static></Field><Field type="AlphaNum.V1"><Name>TEXT_4</Name><ID>11</ID><Geometry><X>7003</X><Y>1476</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><Chara
cterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>203</CharHeight><CharWidth>203</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text>?;0AB8G5A:>3> D>@<>20=8O</Text></Static></Field><Line type="Line.V1"><Name>LINE_3</Name><ID>29</ID><Geometry><X>4752</X><Y>1226</Y><Rotation>0</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>PerJobD ata</Key><Value type="PerJobData.V1"><Pro
pertyMap /></Value></Item><Item><Key>IsHiddenAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item></PropertyBag></AppInfo><X2>6752</X2><Y2>1226</Y2><LineWidth>20</LineWidth></Line><Field type="AlphaNum.V1"><Name>TEXT_6</Name><ID>14</ID><Geometry><X>7002</X><Y>1226</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font t
ype="MarkpointNativeFont"><RightToLeftRe adingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>203</CharHeight><CharWidth>203</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text>>;8G5AB2>: 480 HB/?0;5BB0</Text></Static></Field><Field type="AlphaNum.V1"><Name>TEXT_7</Name><ID>15</ID><Geometry><X>7002</X><Y>976</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFiel
dInfo"><DataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>203</CharHeight><CharWidth>203</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text>5A =5BB>:1150 :3</Text></Static></Field><Field type="AlphaNum.V1"><Name>TEXT_8</Name><ID>17</ID><Geometry><X>7003</X><Y>726</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><Pro
pertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>203</CharHeight><CharWidth>203</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>Data
Source.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text>0B0 C?0:>2:8 :</Text></Static></Field><Field type="AlphaNum.V1"><Name>TEXT_9</Name><ID>20</ID><Geometry><X>7003</X><Y>476</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightTo
LeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>203</CharHeight><CharWidth>203</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text>0B0 2K?CA:0 :</Text></Static></Field><Field type="AlphaNum.V1"><Name>TEXT_11</Name><ID>22</ID><Geometry><X>5252</X><Y>726</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>Markpoi ntAlphanumericFieldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>IsHiddenAppInfo</Key><Value type="IsHi
ddenAppInfo.V1"><IsHidden>false</IsHidden></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointDeviceTextFont"><RightToL eftReadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>9-dot</Typeface><CharHeight>247</CharHeight><CharWidth>247</CharWidth><Filename /><CharSpacing>0</CharSpacing><CharSpacing>0</CharSpacing></Font></Text><TimeDate type="TimeDateSrc.V1"><AppInfo><Property Bag type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MKTimeDateSrc.MarkpointT imeDateFieldInfo</Key><Value type="MarkpointTimeDateFieldInfo"><Print erFormat>Normal</PrinterFormat></Value></Item></PropertyBag></AppInfo><TDFormatString>%D/%M/%Y[0,2,2,0]</TDFormatString><LanguageValue>ENGLISH</LanguageValue><OffsetRule><OffsetDays
>0</OffsetDays><OffsetMonths>0</OffsetMonths><OffsetYears>0</OffsetYears><OffsetHours>0</OffsetHours><PromptingBehaviour>DO_NOT_P ROMPT</PromptingBehaviour></OffsetRule><IsFixed>false</IsFixed></TimeDate></Field><Field type="AlphaNum.V1"><Name>TEXT_10</Name><ID>30</ID><Geometry><X>5252</X><Y>476</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>Markpoi ntAlphanumericFieldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>IsHiddenAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type
="MarkpointDeviceTextFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>9-dot</Typeface><CharHeight>247</CharHeight><CharWidth>247</CharWidth><Filename /><CharSpacing>0</CharSpacing><CharSpacing>0</CharSpacing></Font></Text><TimeDate type="TimeDateSrc.V1"><AppInfo><Property Bag type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MKTimeDateSrc.MarkpointT imeDateFieldInfo</Key><Value type="MarkpointTimeDateFieldInfo"><Print erFormat>Normal</PrinterFormat></Value></Item></PropertyBag></AppInfo><TDFormatString>%D/%M/%Y[0,2,2,0]</TDFormatString><LanguageValue>ENGLISH</LanguageValue><OffsetRule><OffsetDays>0</OffsetDays><OffsetMonths>0</OffsetMonths><OffsetYears>0</OffsetYears><OffsetHours>0</OffsetHours><PromptingBehaviour>DO_NOT_P ROMPT</PromptingBehaviour></OffsetRule><IsFixed>false</IsFixed></TimeDate></Field><Field type="AlphaNum.V1"><Name>EAN13</Nam
e><ID>31</ID><Geometry><X>3753</X><Y>1476</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevice>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Ean13 type="EAN13.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><MarkpointBarcodeFi eldInfo type="MarkpointBarcodeFieldInfo"><PhdDis placement>0</PhdDisplacement><ThickThinRatio>Automati c</ThickThinRatio><CompatibilityMode>COLOS_ 516</CompatibilityMode></MarkpointBarcodeFieldInfo></AppInfo><BarHeight>1077</BarHeight><QuietMargin>false</QuietMargin><NarrowBarWidth>25</NarrowBarWi
dth><AutoCheckDigit>true</AutoCheckDigit><TextDisplayOptions>DISPL AY_WITH_CHECKDIGIT</TextDisplayOptions></Ean13><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text>466012828002</Text></Static></Field><Line type="Line.V1"><Name>LINE</Name><ID>32</ID><Geometry><X>4752</X><Y>2226</Y><Rotation>0</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>PerJobD ata</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>IsHiddenAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item></PropertyBag></AppInfo><X2>6752</X2><Y2>2226</Y2><LineWidth>20</LineWidth></Line><Logo type="Logo.V1"><Name>LOGO</Name><ID>33</ID><Geometry><X>7002</X><Y>4226</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>Markpoi ntLogoF
ield.FieldInfo</Key><Value type="MarkpointLogoFieldInfo"><OverlayMo de>MERGE</OverlayMode><Compression>false</Compression></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>IsHiddenAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item></PropertyBag></AppInfo><FileName>C:\ProgramData\Markem-Imaje\NGW\v6.2\ResourceRepository\Defaul t\ImageTemplate\Default\Logo\logo.png</FileName><Width>6250</Width><Height>1000</Height></Logo><Field type="AlphaNum.V1"><Name>TEXT_12</Name><ID>35</ID><Geometry><X>7003</X><Y>226</Y><Rotation>180</Rotation></Geometry><FieldColor>BLACK</FieldColor><AppInfo><PropertyBag type="PropertyBag.V1"><Item><Key>IsHidde nAppInfo</Key><Value type="IsHiddenAppInfo.V1"><IsHidden>fals e</IsHidden></Value></Item><Item><Key>PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item><Item><Key>MarkpointAlphanumericFie ldInfo.FieldInfo</Key><Value type="MarkpointAlphanumericFieldInfo"><D ataInputDevic
e>false</DataInputDevice><ProductionMode>false</ProductionMode><CharacterSet>Utf8</CharacterSet></Value></Item></PropertyBag></AppInfo><Logged>false</Logged><Text type="TextBased.V1"><Inverted>false</Inverted><OverlayMode>MERGE</OverlayMode><AppInfo><PropertyBag type="PropertyBag.V1" /></AppInfo><Font type="MarkpointNativeFont"><RightToLeftR eadingOrder>false</RightToLeftReadingOrder><Bold>false</Bold><Italic>false</Italic><Underline>false</Underline><Typeface>Univers Medium</Typeface><CharHeight>203</CharHeight><CharWidth>203</CharWidth><Filename /><CharSpacing>0</CharSpacing></Font></Text><Static type="StaticSrc.V1"><AppInfo><PropertyBa g type="PropertyBag.V1"><Item><Key>DataSou rce.PerJobData</Key><Value type="PerJobData.V1"><PropertyMap /></Value></Item></PropertyBag></AppInfo><Text>!<5=03
</Text></Static></Field></FieldList><AppInfo><PropertyBag type="ImagePropertyBag.V1"><RemotingMap type="RemotingInfoList.V1"><RemotingLink s /></RemotingMap><Rotation type="RotationImageAppInfo.URI"><Rotatio n>180</Rotation></Rotation><MarkpointSpecificInfo type="MarkpointAppInfo"><DispensingFeed> 10</DispensingFeed><ReverseFeed>0</ReverseFeed><ImageSettings>true</ImageSettings><Compression>true</Compression><NumberOfLabels>1</NumberOfLabels><PaperOffset>1.5</PaperOffset><PrintableOffset>2.50</PrintableOffset><MpsValue>771</MpsValue></MarkpointSpecificInfo><MarkpointSpecific Info type="MarkpointShiftInfo" /><MarkpointExpressionEngineInfo type="MarkpointExpressionEngineInfo"><Ex pression /></MarkpointExpressionEngineInfo><PerJobDat a type="PerJobData.V1"><PropertyMap /></PerJobData></PropertyBag></AppInfo></Legend>


Добавлено через 1 минуту
Цитата Сообщение от HackerVlad Посмотреть сообщение
Строка и байтовый массив это не одно и тоже
- знаю. С байтовым массивом было бы удобнее, пожалуй. Но и строки работают.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
28.02.2023, 15:16
Самое интересное это то, что если присвоить строке байтовый массив, то строка останется ровно в той кодировке в которой находится байтовый массив и преобразований кодировок при этом не будет.

Добавлено через 5 минут
Цитата Сообщение от Catstail Посмотреть сообщение
Но в связи с юникодом символы печатаются "вразрядку". С этим легко можно справиться
Ваш способ будет медленнее, чем с байтовым массивом.

Добавлено через 8 минут
Цитата Сообщение от Catstail Посмотреть сообщение
Но в связи с юникодом символы печатаются "вразрядку". С этим легко можно справиться:
И ваш способ не справился с русскими символами, я только что проверил, в отличии от StrConv(Buf$, vbFromUnicode).
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38174 / 21109 / 4307
Регистрация: 12.02.2012
Сообщений: 34,711
Записей в блоге: 14
28.02.2023, 15:54
Цитата Сообщение от HackerVlad Посмотреть сообщение
И ваш способ не справился с русскими символами
- естественно... Я же просто пропускаю нули. Но задача стояла прочитать этот файл. Конечно, нужно выполнять преобразования стандартными средствами, а не так, как это делал я (на коленке).
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
28.02.2023, 22:31
Цитата Сообщение от Catstail Посмотреть сообщение
Но задача стояла прочитать этот файл
Моя функция будет работать быстрее
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
' Загрузка файла в переменную
Public Function LoadFileToStringUTF16LE(FileName As String) As String
    Dim FileNo As Integer
    Dim str() As Byte
    
    If IsFileAPI(FileName) = 0 Then Exit Function ' Файл не существует, с вероятностью 99%
    If FileLen(FileName) = 0 Then Exit Function
    
    ' Инициализировать счётчик
    FileNo = FreeFile
    
    ' Открыть файл
    Open FileName For Binary As FileNo
        ReDim str(LOF(FileNo) - 1)
        Get #FileNo, , str
    Close FileNo
    
    LoadFileToStringUTF16LE = str
End Function
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2023, 22:31
Помогаю со студенческими работами здесь

Можно ли стандартными средствами VBA получить из объекта range его часть
Коллеги, Можно ли стандартными средствами VBA получить из объекта range его часть? Например объект range - это матрица размером 10x10,...

Как сделать чтобы окно не открывалось на весь экран при его премещении в верхнюю крайнюю часть монитора?
При работе с окнами бывает необходимость их сдвигать вверх или вбок и в Windows 10 окно открывается на весь экран когда оно выходит за...

Delphi 7,ini файлы,при чтении с ini файлов весь файл загружается в оп или каким образом это происходит?
причина вопроса заключается в том, есть ли смысл разбивать один ini файл на несколько

Где находится файл при записи/чтении объекта и как его прочитать?
Доброго всем времени суток! Есть код записи объекта на диск (ниже). Насколько я понимаю, объект записывается в файл file.dat. Как можно...

Ошибка при чтении из файла. Программа должна брать предложение из 1 файла и записывать результирующее предложение в другой файл.
Ошибка при чтении из файла. Программа должна брать предложение из 1 файла и записывать результирующее предложение в другой файл. Как я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru