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

Ошибка при разбиении текста на символы (на вход данные из Excel)

13.08.2012, 10:22. Показов 3570. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу макрос для заполнения документа и для заполнения полей, разбитых на клетки, решил провести посимвольное заполнение.
Но при выполнении программы получаю ошибку Invalid qualifier с указанием на переменную value.
Подпрограмма для разбиения полученного содержимого ячеек на необходимое количество частей:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub x(ByVal leng As Integer, ByVal mark As String, ByVal volume As String, ByVal d As Boolean)
    If d Then
        ReDim ReplaceText(2) As String: ReplaceText() = Split(vol, ".")
    Else: ReDim ReplaceText(0 To Len(vol) - 1) As String: ReplaceText() = volume.ToCharArray
    End If
    ReDim FindText(leng - 1) As String
    For j = 1 To leng
        FindText(j) = "{" + mark + j + "}"
    Next j
    n = leng - 1
End Sub
На всякий случай держите
полный код.
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
Const ИмяФайлаШаблона = "Doc1.2.docx"
' Const КоличествоОбрабатываемыхСтолбцов = 82
Const РасширениеСоздаваемыхФайлов = ".docx"
 
Sub СформироватьДоговоры()
    ПутьШаблона = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, ИмяФайлаШаблона)
    НоваяПапка = NewFolderName & Application.PathSeparator
    Dim row As Range, pi As New ProgressIndicator, FindText() As String, ReplaceText() As String
    r = Cells(Rows.Count, "A").End(xlUp).row: rc = r - 2  ' ???
    If rc < 1 Then MsgBox "Строк для обработки не найдено", vbCritical: Exit Sub
 
    pi.Show "Формирование договоров": pi.ShowPercents = True: s1 = 10: s2 = 90: p = s1: a = (s2 - s1) / rc
    pi.StartNewAction , s1, "Запуск приложения Microsoft Word"
 
    ' Dim WA As Word.Application, WD As Word.Document: Set WA = New Word.Application    ' c подключением библиотеки Word
    Dim WA As Object, WD As Object: Set WA = CreateObject("Word.Application")    ' без подключения библиотеки Word
 
    For Each row In ActiveSheet.Rows("7:" & r)
        With row
            ФИО = Trim$(.Cells(2)) & " " & Trim$(.Cells(3)) & " " & Trim$(.Cells(4))
            Filename = НоваяПапка & ФИО & РасширениеСоздаваемыхФайлов
 
            pi.StartNewAction p, p + a / 3, "Создание нового файла на основании шаблона", ФИО
            Set WD = WA.Documents.Add(ПутьШаблона): DoEvents
 
            pi.StartNewAction p + a / 3, p + a * 2 / 3, "Замена данных ...", ФИО
            For i = 1 To 82
                Select Case i
                    Case 25
                        Call x(Len(Trim$(.Cells(i))), Cells(6, i), Trim$(.Cells(i)), False) ' контрольная информация
                    Case 6, 16
                        Call x(3, Cells(6, i), Trim$(.Cells(i)), True) ' дата
                    Case 31, 41, 51
                        Call x(6, Cells(6, i), Trim$(.Cells(i)), False) ' идексы
                    Case 29, 63, 76
                        Call x(10, Cells(6, i), Trim$(.Cells(i)), False) ' номера телефона
                    Case Else
                        ReDim ReplaceText(0) As String ' для остальных ячеек
                        ReDim FindText(0) As String
                        FindText(0) = "{" + Cells(6, i) + "}": ReplaceText(0) = Trim$(.Cells(i))
                        n = 0
                End Select
                
                ' так почему-то заменяет не всё (не затрагивает таблицу)
                'WA.Selection.Find.Execute FindText, , , , , , , wdFindContinue, False, ReplaceText, True
 
                'pi.line3 = "Заменяется поле " & FindText
                For j = 0 To n ' вставка частей ячейки
                    With WD.Range.Find
                        .Text = FindText(j)
                        .Replacement.Text = ReplaceText(j)
                        .Forward = True
                        .Wrap = 1
                        .Format = False: .MatchCase = False
                        .MatchWholeWord = False
                        .MatchWildcards = False
                        .MatchSoundsLike = False
                        .MatchAllWordForms = False
                        .Execute Replace:=2
                    End With
                    DoEvents
                Next j
            Next i
            pi.StartNewAction p + a * 2 / 3, p + a, "Сохранение файла ...", ФИО, " "
            WD.SaveAs Filename: WD.Close False: DoEvents
            p = p + a
        End With
    Next row
 
    pi.StartNewAction s2, , "Завершение работы приложения Microsoft Word", " ", " "
    WA.Quit False: pi.Hide
    msg = "Сформировано " & rc & " договоров. Все они находятся в папке" & vbNewLine & НоваяПапка
    MsgBox msg, vbInformation, "Готово"
End Sub
 
 
Sub x(ByVal leng As Integer, ByVal mark As String, ByVal volume As String, ByVal d As Boolean)
    If d Then
        ReDim ReplaceText(2) As String: ReplaceText() = Split(vol, ".")
    Else: ReDim ReplaceText(0 To Len(vol) - 1) As String: ReplaceText() = volume.ToCharArray
    End If
    ReDim FindText(leng - 1) As String
    For j = 1 To leng
        FindText(j) = "{" + mark + j + "}"
    Next j
    n = leng - 1
End Sub
 
 
 
Function NewFolderName() As String
    NewFolderName = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "Договоры, сформированные " & Get_Now)
    MkDir NewFolderName
End Function
 
Function Get_Date() As String: Get_Date = Replace(Replace(DateValue(Now), "/", "-"), ".", "-"): End Function
Function Get_Time() As String: Get_Time = Replace(TimeValue(Now), ":", "-"): End Function
Function Get_Now() As String: Get_Now = Get_Date & " в " & Get_Time: End Function

За основу взят вполне рабочий макрос из интернета.

Добавлено через 9 часов 26 минут
Поправка.
Ошибка указывает на переменную volume.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.08.2012, 10:22
Ответы с готовыми решениями:

Ошибка при разбиении Acronis'ом : как восстановить данные?
Компу примерно 5 лет. Загрузился с LiveCD и начал Acronis'ом создавать диск &quot;D&quot;. Он по окончанию работы выдал что-то типа &quot;операции...

При разбиении строк на символы, в файл дописываются лишние пустые строки
Доброго времени суток! Попробовал сейчас взять текстовый файл, разбить его на символы и записать эти символы (по 1 в строке) в другой...

Теряются ли данные при разбиении тома средствами винды?
Здравствуйте! Хотелось бы просветиться по одному вопросу. Допустим у меня есть диск D, объемом 1,2 ТБ. Занято на нем около 700 ГБ. Я хочу...

22
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
13.08.2012, 10:54
Что такое "vol" в строке 3? Это не глобальная переменная... Она нигде не описана.
0
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
13.08.2012, 11:19  [ТС]
Предполагалась volume.
Исправил, но всё также получаю ошибку в volume.ToCharArray с указанием на переменную.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
13.08.2012, 11:27
Visual Basic
1
volume.ToCharArray '''- так можно писать, если volume - объект, а ToCharArray - метод объекта
У Вас volume - параметр функции. И, мне кажется, "ToCharArray" - это из юрисдикции VB.Net.
1
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
13.08.2012, 11:29  [ТС]
Хм, вот как.
Тогда каким образом можно получить отдельные символы из строки, чтобы потом поместить в массив?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
13.08.2012, 11:39
Например, так:

Visual Basic
1
2
3
4
5
6
7
8
'...
Dim Arr() As String
      n%=Len(Stri$)
      Redim Arr(1 to n) As String
      for i%=1 to n%
          Arr(i%)=mid$(Stri$,i%,1)
      Next i%
'...
1
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
13.08.2012, 11:55  [ТС]
Благодарю. То, что надо.
А знак процентов указан просто для отличия от других переменных или это какой-то особый элемент синтаксиса?
Теперь говорит о несовпадении типов в строке:
Visual Basic
1
FindText(j) = "{" + mark + j + "}"
Выходит, что нужно как-то преобразовать тип данных значения счётчика j?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
13.08.2012, 11:59
Знак процента указывает на то, что переменная имеет тип Integer.

А оператор FindText(j) = "{" + mark + j + "}" лучше записать так:

Visual Basic
1
FindText(j) = "{" & Cstr(mark) & Cstr(j) & "}"
1
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
13.08.2012, 14:45  [ТС]
Хм, насколько понял, действия из подпрограммы x() не отражаются на массивах ReplaceText() и FindText().
Нумерация ячеек правильная (во всех случаях, где не требуется вызов x() всё проходит нормально).
Как понял, что-то не так в объявлении переменных, но что именно понять не могу.
В подпрограмме переобъявляю массивы всё тем же ReDim.
Основная программа без изменений.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
13.08.2012, 15:52
Цитата Сообщение от InferernumDeus Посмотреть сообщение
действия из подпрограммы x() не отражаются на массивах ReplaceText() и FindText()
- чтобы отражались, перенесите обявления (Dim) этих массивов на уровень модуля (т.е. за пределы процедур). Вот так:

Visual Basic
1
2
3
4
5
6
7
8
Const ИмяФайлаШаблона = "Doc1.2.docx"
' Const КоличествоОбрабатываемыхСтолбцов = 82
Const РасширениеСоздаваемыхФайлов = ".docx"
 
Dim RepalceText() as String
Dim FindText() as String
 
' далее - по коду
1
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
13.08.2012, 17:17  [ТС]
Отлично! Заработало.
Насколько понимаю, последняя проблема.
Visual Basic
1
2
3
For u% = 1 To Len(volume) - 1
            ReplaceText(u) = Mid$(volume, u%, 1)
Next u%
При выполнении этого участка сообщает: out of range.
Размер массива фиксированный - 30.
На этом шаге volume содержит слово из 5 русских букв, u%=3.

Добавлено через 36 минут
Ах да, полный текст сообщения:
Subscript out of range.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
13.08.2012, 18:23
1. Я бы вставил процент вот сюда: ReplaceText(u%) = Mid$(volume, u%, 1)
2. Если не поможет, проверьте, сколько символов в строке "volume". Если больше 30 - все понятно.
Сообщение "Subscript out of range (9)" - означает выход индекса за границу описания (как в большую, так и в меньшую сторону)
1
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
13.08.2012, 19:06  [ТС]
1. Исправлено.
2. В строке 5 символов. Больше 30 там быть не может в принципе.

Появилось подозрение, что переопределять массивы с указанием размера стоит также вне процедур, но интерпретатор считает это плохой идеей.
Быть может, всё дело действительно в этом?

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
Const NewFileType = ".doc"
Dim FindText() As String, ReplaceText() As String, n As Integer
 
 
Sub СформироватьДоговоры()
    Dim row As Range, pi As New ProgressIndicator
    ReDim ReplaceText(1 To 100) As String
    ReDim FindText(1 To 30) As String
    r = Cells(Rows.Count, "A").End(xlUp).row: rc = r - 2
    If rc < 1 Then MsgBox "Строк для обработки не найдено", vbCritical: Exit Sub
    
    CardType = Cells(2, 2)
    Select Case CardType
        Case "Сбербанк-Maestro", "Сбербанк-Visa Electron"
            TemplateFName = "Doc2.doc"
        Case "Gold Mastercard", "Visa Gold", "Visa Gold Аэрофлот", "Visa Gold " & Chr(34) & "Подари жизнь" & Chr(34)
            TemplateFName = "Doc3.doc"
        Case Else
            TemplateFName = "Doc1.doc"
    End Select
    
    TemplateDir = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, TemplateFName)
    NewFolder = NewFolderName & Application.PathSeparator
    
    pi.Show "Формирование договоров": pi.ShowPercents = True: s1 = 10: s2 = 90: p = s1: a = (s2 - s1) / rc
    pi.StartNewAction , s1, "Запуск приложения Microsoft Word"
 
    ' Dim WA As Word.Application, WD As Word.Document: Set WA = New Word.Application    ' c подключением библиотеки Word
    Dim WA As Object, WD As Object: Set WA = CreateObject("Word.Application")    ' без подключения библиотеки Word
 
    For Each row In ActiveSheet.Rows("7:" & r)
        With row
            FIO = Trim$(.Cells(2)) & " " & Trim$(.Cells(3)) & " " & Trim$(.Cells(4))
            Filename = NewFolder & FIO & NewFileType
 
            pi.StartNewAction p, p + a / 3, "Создание нового файла на основании шаблона", FIO
            Set WD = WA.Documents.Add(TemplateDir): DoEvents
 
            pi.StartNewAction p + a / 3, p + a * 2 / 3, "Замена данных ...", FIO
            For i = 1 To 82
                Select Case i
                    Case 25
                        Call x(Len(Trim$(.Cells(i))), Cells(6, i), Trim$(.Cells(i)), False) ' контрольная информация
                    Case 6, 16
                        Call x(3, Cells(6, i), Trim$(.Cells(i)), True) ' дата
                    Case 31, 41, 51
                        Call x(6, Cells(6, i), Trim$(.Cells(i)), False) ' идексы
                    Case 29, 63, 76
                        Call x(10, Cells(6, i), Trim$(.Cells(i)), False) ' номера телефона
                    Case Else
                        FindText(1) = "{" + Cells(6, i) + "}": ReplaceText(1) = Trim$(.Cells(i))
                        n = 1
                End Select
                
                ' так почему-то заменяет не всё (не затрагивает таблицу)
                'WA.Selection.Find.Execute FindText, , , , , , , wdFindContinue, False, ReplaceText, True
 
                'pi.line3 = "Заменяется поле " & FindText
 
                For j = 1 To n ' вставка частей ячейки
                    With WD.Range.Find
                        .Text = FindText(j)
                        .Replacement.Text = ReplaceText(j)
                        .Forward = True
                        .Wrap = 1
                        .Format = False: .MatchCase = False
                        .MatchWholeWord = False
                        .MatchWildcards = False
                        .MatchSoundsLike = False
                        .MatchAllWordForms = False
                        .Execute Replace:=2
                    End With
                    DoEvents
                Next j
            Next i
            pi.StartNewAction p + a * 2 / 3, p + a, "Сохранение файла ...", FIO, " "
            WD.SaveAs Filename: WD.Close False: DoEvents
            p = p + a
        End With
    Next row
 
    pi.StartNewAction s2, , "Завершение работы приложения Microsoft Word", " ", " "
    WA.Quit False: pi.Hide
    msg = "Сформировано " & rc & " договоров. Все они находятся в папке" & vbNewLine & NewFolder
    MsgBox msg, vbInformation, "Готово"
End Sub
 
 
Sub x(ByVal leng As Integer, ByVal mark As String, ByVal volume As String, ByVal d As Boolean)
    If d Then
        ReplaceText() = Split(volume, ".", 3)
    Else
        For u% = 1 To Len(volume)
            ReplaceText(u%) = Mid$(volume, u%, 1)
            'asd = Mid$(volume, u%, 1)
            'MsgBox asd, vbInformation, "Готово"
        Next u%
    End If
    
    'ReDim FindText(1 To leng) As String
    For j = 1 To leng
        FindText(j) = "{" & CStr(mark) & CStr(j) & "}"
    Next j
    n = leng
End Sub
 
 
 
Function NewFolderName() As String
    NewFolderName = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "Договоры, сформированные " & Get_Now)
    MkDir NewFolderName
End Function
 
Function Get_Date() As String: Get_Date = Replace(Replace(DateValue(Now), "/", "-"), ".", "-"): End Function
Function Get_Time() As String: Get_Time = Replace(TimeValue(Now), ":", "-"): End Function
Function Get_Now() As String: Get_Now = Get_Date & " в " & Get_Time: End Function
Вложения
Тип файла: txt fgsfds.txt (5.3 Кб, 12 просмотров)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
13.08.2012, 19:35
Когда возникнет ошибка - нажми "Отладка" и посмотри, что в u%, чему равно volume и верхнюю границу RepaceText. Для этого в окне отладки выполни Debug.print Ubound(RepaceText,1)
0
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
13.08.2012, 19:59  [ТС]
Как было сказано выше, u& = 3, volume = "Суфия".
Только не понял, что означает "выполнить в окне отладки".
В смысле, куда его вставлять?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
13.08.2012, 20:27
В режиме останова выполнения нажми Ctrl-G - появится окно "Immediate". В нем введи Debug.print Ubound(ReplaceText,1) и нажми Enter
1
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
13.08.2012, 20:37  [ТС]
Полезная вещь. Надо будет побольше погуглить по этой теме.
Похоже, после ReplaceText() = Split, размер массива сокращается до 2.
Поставил переопределение перед последующими разбиениями-заполнениями, теперь работает.
Огромнейшая вам благодарность.
Теперь обнаружилась ошибка с адресаций ячейка-метка, но, думаю, с этим я и сам справлюсь.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
13.08.2012, 20:47
Успехов!!!
1
7 / 7 / 0
Регистрация: 13.08.2012
Сообщений: 250
13.08.2012, 21:33  [ТС]
Опаньки, оказывается, ReplaceText(u%) = Mid$(volume, u% + 1, 1) возвращает пустую строку вместо цифр.
0
14.08.2012, 08:14

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
В режиме останова выполнения нажми Ctrl-G - появится окно "Immediate". В нем введи Debug.print Ubound(ReplaceText,1) и нажми Enter
Как всё сложно оказывается:)
А я всегда в том окне пишу
Visual Basic
1
?Ubound(ReplaceText,1) 'и жму Enter

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.08.2012, 08:14
Помогаю со студенческими работами здесь

Китайские символы вместо русского текста при экспорте в Excel
В Excel файле не отображаются русские буквы после экспорта, как это исправить подскажите пожалуйста) procedure...

Ошибка при разбиении на страницы
Если я пишу запрос таким образом, то разбиение на страницы нельзя осуществить? Set...

Ошибка при разбиении строк
Помоги пожалуйста не могу понять в чем конкретно ошибка string si = &quot;Один,Два,Три, Строка для разбора&quot;; const char...

Ошибка при разбиении программы на файлы(модули)
Исходный код: #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; using namespace std; struct...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru