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

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

09.02.2023, 20:30. Показов 2560. Ответов 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
bite
 Аватар для I can
5011 / 4841 / 852
Регистрация: 13.04.2015
Сообщений: 10,121
26.02.2023, 13:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от HackerVlad Посмотреть сообщение
написал
Всё уже украдено написано до нас (с)
0
Вернулся
 Аватар для HackerVlad
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
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
bite
 Аватар для I can
5011 / 4841 / 852
Регистрация: 13.04.2015
Сообщений: 10,121
26.02.2023, 19:06
Цитата Сообщение от HackerVlad Посмотреть сообщение
I can, специально для тебя писал
Спасибо. Но я не пишу на VB6. Установлен просто на компе для "побаловаться".
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,777
Записей в блоге: 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
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
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
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,777
Записей в блоге: 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
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
28.02.2023, 15:16
Самое интересное это то, что если присвоить строке байтовый массив, то строка останется ровно в той кодировке в которой находится байтовый массив и преобразований кодировок при этом не будет.

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

Добавлено через 8 минут
Цитата Сообщение от Catstail Посмотреть сообщение
Но в связи с юникодом символы печатаются "вразрядку". С этим легко можно справиться:
И ваш способ не справился с русскими символами, я только что проверил, в отличии от StrConv(Buf$, vbFromUnicode).
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,777
Записей в блоге: 14
28.02.2023, 15:54
Цитата Сообщение от HackerVlad Посмотреть сообщение
И ваш способ не справился с русскими символами
- естественно... Я же просто пропускаю нули. Но задача стояла прочитать этот файл. Конечно, нужно выполнять преобразования стандартными средствами, а не так, как это делал я (на коленке).
0
Вернулся
 Аватар для HackerVlad
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
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
Ответ Создать тему
Новые блоги и статьи
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru