Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
7 / 7 / 3
Регистрация: 06.06.2014
Сообщений: 179

Создание файла с использованием FCB

29.05.2015, 11:57. Показов 3029. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Лабораторная работа создать файл, внести в него данные и т.д. У меня не получается создать файл. Думаю, если б получилось, то принцип я бы понял. В теории к лабе дан код, но там выводит сообщение ошибка открытия (судя по коду, недостаточно места на диске (ага, как же)).

Assembler
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
TITLE FCBCREAT (EXE) ; Использование FCB для создания файла
;----------------------------------------------------------
STACKSG SEGMENT PARA STACK 'Stack'
        DW      80 DUP(?)
STACKSG ENDS
;----------------------------------------------------------
DATASG SEGMENT PARA 'Data'
RECLEN  EQU     32
NAMEPAR LABEL   BYTE            ; список параметров:
MAXLEN  DB      RECLEN          ;   максимальная длина имени
NAMELEN DB      ?               ;   число введенных символов
NAMEDTA DB      RECLEN DUP(' ') ;   область передачи (DTA)
 
FCBREC  LABEL   BYTE            ; FCB для дискового файла
FCBDRIV DB      04              ; дисковод D
FCBNAME DB      'NAMEFILE'      ; имя файла
FCBEXT  DB      'DAT'           ; тип файла
FCBBLK  DW      0000            ; номер текущего блока
FCBRCSZ DW      ?               ; размер логической записи
FCBFLSZ DD      ?               ; размер файла (DOS)
        DW      ?               ; дата (DOS)
        DT      ?               ; зарезервировано (DOS)
FCBSQRC DB      00              ; номер текущей записи
        DD      ?               ; относительный номер
 
CRLF    DB      13,10,'$'
ERRCDE  DB      00
PROMPT  DB      'Name? ','$'
ROW     DB      01
OPNMSG  DB      '*** Open error ***',  '$'
WRTMSG  DB      '*** Write error ***', '$'
DATASG ENDS
; ---------------------------------------------------------
CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
        ASSUME CS:CODESG,DS:DATASG,SS:STACKSG,ES:DATASG
        PUSH    DS
        SUB     AX,AX
        PUSH    AX
        MOV     AX,DATASG
        MOV     DS,AX
        MOV     ES,AX
        MOV     AX,0600H
        CALL    Q10SCR          ; очистка экрана
        CALL    Q20CURS         ; установка курсора
        CALL    C10OPEN         ; открытие, установка DTA
        ;CMP     ERRCDE,00       ; есть место на диске?
        jmp A20LOOP         ; да - продолжение,
        RET                     ;   нет - возврат в DOS
A20LOOP:
        CALL    D10PROC
        CMP     NAMELEN,00      ; конец ввода?
        JNE     A20LOOP         ; нет - продолжение,
        CALL    G10CLSE         ;   да - закрытие файла
        RET                     ;   и возврат в DOS
BEGIN ENDP
;               Открытие дискового файла:
;               ------------------------
C10OPEN PROC NEAR
        MOV     AH,16H          ; функция создания файла
        LEA     DX,FCBREC
        INT     21H
        CMP     AL,00           ; есть место на диске?
        JNe     C20             ; нет - ошибка
 
        MOV     FCBRCSZ,RECLEN  ; размер записи (EQU)
        LEA     DX,NAMEDTA      ; загрузка адреса DTA
        MOV     AH,1AH
        INT     21H
        RET
C20:
        LEA     DX,OPNMSG       ; сообщение об ошибке
        CALL    X10ERR
        RET
C10OPEN ENDP
;               Ввод с клавиатуры:
;               -----------------
D10PROC PROC NEAR
        MOV     AH,09           ; функция вывода на экран
        LEA     DX,PROMPT       ; выдача запроса
        INT     21H
 
        MOV     AH,0AH          ; функция ввода
        LEA     DX,NAMEPAR      ; ввод имени файла
        INT     21H
        CALL    E10DISP         ; прокрутка на экране
 
        CMP     NAMELEN,00      ; имя введено?
        JNE     D20             ;   да - продолжение,
        RET                     ;   нет - выход
D20:
        MOV     BH,00           ; замена символа Return
        MOV     BL,NAMELEN
        MOV     NAMEDTA[BX],' ' ; запись пробела
        CALL    F10WRIT         ; вызов подпрограммы записи
        CLD
        LEA     DI,NAMEDTA      ; очистка поля имени
        MOV     CX,RECLEN / 2
        MOV     AX,2020H
        REP STOSW
        RET                     ; выход
D10PROC ENDP
;               Прокрутка и установка курсора:
;               -----------------------------
E10DISP PROC NEAR
        MOV     AH,09           ; функция вывода на экран
        LEA     DX,CRLF         ; CR/LF
        INT     21H             ; вызов DOS
        CMP     ROW,18          ; последняя строка экрана?
        JAE     E20             ;   да - обход,
        INC     ROW             ;   нет - увеличение номера строки
        RET
E20:
        MOV     AX,0601H        ; прокрутка на строку
        CALL    Q10SCR
        CALL    Q20CURS         ; установка курсора
        RET
E10DISP ENDP
;               Запись на диск:
;               --------------
F10WRIT PROC NEAR
        MOV     AH,15H          ; функция записи
        LEA     DX,FCBREC
        INT     21H
        CMP     AL,00           ; запись без ошибок?
        JZ      F20             ;   да
        LEA     DX,WRTMSG       ;   нет - выдача сообщения
        CALL    X10ERR
        MOV     NAMELEN,00
F20:    RET
F10WRIT ENDP
;               Закрытие дискового файла:
;               ------------------------
G10CLSE PROC NEAR
        MOV     NAMEDTA,1AH     ; установка EOF
        CALL    F10WRIT
        MOV     AH,10H          ; функция закрытия
        LEA     DX,FCBREC
        INT     21H
        RET
G10CLSE ENDP
;               Прокрутка экрана:
;               ----------------
Q10SCR PROC NEAR        ; AX уже установлен
        MOV     BH,1EH          ; цвет желтый на синем
        MOV     CX,0000
        MOV     DX,184FH
        INT     10H             ; прокрутка
        RET
Q10SCR ENDP
;               Установка курсора:
;               -----------------
Q20CURS PROC NEAR
        MOV     AH,02
        MOV     BH,00
        MOV     DL,00
        MOV     DH,ROW          ; установка курсора
        INT     10H
        RET
Q20CURS ENDP
;               Вывод сообщения об ошибке на диске:
;               ----------------------------------
X10ERR PROC NEAR
        MOV     AH,09           ; DX содержит адрес сообщения
        INT     21H
        MOV     ERRCDE,01       ; установка кода ошибки
        RET
X10ERR ENDP
 
CODESG ENDS
end begin
Файл не создаёт. Но в этом коде была куча нелепых ошибок. Я поисправлял, но, может, там ещё есть. Прошу написать простенький код такого типа, где создается файл с помощью fcb (желательно) и ничего лишнего. По темам искал, но все ответы не подошли, файл во всех не создавался.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2015, 11:57
Ответы с готовыми решениями:

Создание и редактирование cmd-файла с использованием bat-файла
Нужно создать cmd файл в %systemroot% и отредактировать его из bat'ника

Создание файла с использованием Swing
Здравствуйте! Поиски в тырнетах не дали желаемого результата (в принципе, не дали никакого результата). Прошу помочь с созданием файла...

Создание файла с использованием getOutputStream
Я работаю с jsp. Возникла проблема с созданием файла. Сам файл хранится в БД. Т.е. хранится его длина, тип и бинарные данные. ...

11
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
29.05.2015, 15:49
Tabigon,
FAQ для раздела Assembler, MASM, TASMhttps://www.cyberforum.ru/cgi-bin/latex.cgi?\to"несколько способов создания файла в DOS"
0
2 / 2 / 0
Регистрация: 29.04.2020
Сообщений: 17
04.05.2020, 22:01
Tabigon, можно решение проблемы пожалуйста.Точно такая же лаба и такая же проблема
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8662 / 4498 / 1670
Регистрация: 01.02.2015
Сообщений: 13,914
Записей в блоге: 12
04.05.2020, 22:40
Yura_Mal, в чём проблема?
Взял оригинальный код 16.1 из книги Абеля, исправил одну опечатку в строке 70, скомпилировал, запустил - получил файл со списком введённых имён. Имя файла и диск указаны в переменных.
Запускайте в нормальном DOSBox со смонтированным к нему диском (указан в переменных), запускайте - всё будет работать.

Оригинальный исходник от приведённого топикстартером отличается всего в одном месте
Assembler
47
48
49
        CMP     ERRCDE,00       ;Есть место на диске?
        JZ      A20LOOP         ;  да - продолжить,
        RET                     ;  нет - вернуться в DOS
1
2 / 2 / 0
Регистрация: 29.04.2020
Сообщений: 17
05.05.2020, 20:16
ФедосеевПавел, А как именно нужно указывать имя файла? имя.формат; имя; или же путь к файлу/имя.формат
Как я понимаю, каталог задается в сегменте данных и тип файла тоже. Следовательно FCBNAME DB 'myfile'. Верно?

ФедосеевПавел,
Assembler
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
STACKSG SEGMENT PARA STACK 'Stack'
        DW      80 DUP(?)
STACKSG ENDS
;----------------------------------------------------------
DATASG  SEGMENT PARA 'Data'
RECLEN  EQU     32
NAMEPAR LABEL   BYTE            ;?????? ??????????:
MAXLEN  DB      RECLEN          ; ????.????? ?????
NAMELEN DB      ?               ; ????? ????????? ????????
NAMEDTA DB      RECLEN DUP(' ') ; ??????? ???????? (DTA)
 
FCBREC  LABEL   BYTE            ;FCB ??? ????????? ?????
FCBDRIV DB      04              ; ???????? D
FCBNAME DB      'Myfile01'      ; ??? ?????
FCBEXT  DB      'TXT'           ; ??? ?????
FCBBLK  DW      0000            ; ????? ???????? ?????
FCBRCSZ DW      ?               ; ?????? ?????????? ??????
FCBFLSZ DD      ?               ; ?????? ????? (DOS)
        DW      ?               ; ???? (DOS)
        DT      ?               ; ??????????????? (DOS)
FCBSQRC DB      00              ; ????? ??????? ??????
        DD      ?               ; ????????????? ?????
 
CRLF    DB      13,10,'$'
ERRCDE  DB      00
PROMPT  DB      'Name? ','$'
ROW     DB      01
OPNMSG  DB      '*** Open error ***',  '$'
WRTMSG  DB      '*** Write error ***', '$'
DATASG  ENDS
; ---------------------------------------------------------
CODESG  SEGMENT PARA 'Code'
BEGIN   PROC    FAR
        ASSUME CS:CODESG,DS:DATASG,SS:STACKSG,ES:DATASG
        PUSH    DS
        SUB     AX,AX
        PUSH    AX
        MOV     AX,DATASG
        MOV     DS,AX
        MOV     ES,AX
        MOV     AX,0600H
        CALL    Q10SCR          ;???????? ?????
        CALL    Q20CURS         ;?????????? ??????
        CALL    C10OPEN         ;???????, ?????????? DTA
        CMP     ERRCDE,00       ;???? ????? ?? ??????
        JZ      A20LOOP         ; ?? - ??????????,
        RET                     ; ??? - ????????? ? DOS
A20LOOP:
        CALL    D10PROC
        CMP     NAMELEN,00      ;????? ??????
        JNE     A20LOOP         ; ??? - ??????????,
        CALL    G10CLSE         ; ?? - ??????? ????
        RET                     ; ? ????????? ? DOS
BEGIN   ENDP
;               ???????? ????????? ?????:
;               ------------------------
C10OPEN PROC    NEAR
        MOV     AH,16H          ;??????? ???????? ?????
        LEA     DX,FCBREC
        INT     21H
        CMP     AL,00           ;???? ????? ?? ??????
        JNZ     C20             ; ??? - ??????
 
        MOV     FCBRCSZ,RECLEN  ;?????? ?????? (EQU)
        LEA     DX,NAMEDTA      ;????????? ????? DTA
        MOV     AH,1AH
        INT     21H
        RET
C20:
        LEA     DX,OPNMSG       ;????????? ?? ??????
        CALL    X10ERR
        RET
C10OPEN ENDP
;               ???? ? ??????????:
;               -----------------
D10PROC PROC    NEAR
        MOV     AH,09           ;??????? ?????? ?? ?????
        LEA     DX,PROMPT       ;?????? ??????
        INT     21H
 
        MOV     AH,0AH          ;??????? ?????
        LEA     DX,NAMEPAR      ;?????? ??? ?????
        INT     21H
        CALL    E10DISP         ;????????? ?? ??????
 
        CMP     NAMELEN,00      ;??? ????????
        JNE     D20             ; ?? - ??????????,
        RET                     ; ??? - ?????
D20:
        MOV     BH,00           ;???????? ?????? Return
        MOV     BL,NAMELEN
        MOV     NAMEDTA[BX],' ' ;???????? ??????
        CALL    F10WRIT         ;???????
                                ; ???????????? ??????
        CLD
        LEA     DI,NAMEDTA      ;????????
        MOV     CX,RECLEN / 2   ; ????
        MOV     AX,2020H        ; ?????
        REP STOSW
        RET                     ;?????
D10PROC ENDP
;               ????????? ? ????????? ???????:
;               -----------------------------
E10DISP PROC    NEAR
        MOV     AH,09           ;??????? ?????? ?? ?????
        LEA     DX,CRLF         ;CR/LF
        INT     21H             ;????? DOS
        CMP     ROW,18          ;????????? ?????? ???????
        JAE     E20             ; ?? - ??????,
        INC     ROW             ; ??? - ????????? ??????
        RET
E20:
        MOV     AX,0601H        ;????????? ?? 1 ??????
        CALL    Q10SCR
        CALL    Q20CURS         ;?????????? ??????
        RET
E10DISP ENDP
;               ?????? ?? ????:
;               --------------
F10WRIT PROC    NEAR
        MOV     AH,15H          ;??????? ??????
        LEA     DX,FCBREC
        INT     21H
        CMP     AL,00           ;?????? ??? ???????
        JZ      F20             ; ??
        LEA     DX,WRTMSG       ; ??? -
        CALL    X10ERR          ; ?????? ?????????
        MOV     NAMELEN,00
F20:    RET
F10WRIT ENDP
;               ???????? ????????? ?????:
;               ------------------------
G10CLSE PROC    NEAR
        MOV     NAMEDTA,1AH     ;?????????? EOF
        CALL    F10WRIT
        MOV     AH,10H          ;??????? ????????
        LEA     DX,FCBREC
        INT     21H
        RET
G10CLSE ENDP
;               ????????? ??????:
;               ----------------
Q10SCR  PROC    NEAR            ;AX ??? ??????????
        MOV     BH,1EH          ;???? ?????? ?? ?????
        MOV     CX,0000
        MOV     DX,184FH
        INT     10H             ;?????????
        RET
Q10SCR  ENDP
;               ????????? ???????:
;               -----------------
Q20CURS PROC    NEAR
        MOV     AH,02
        MOV     BH,00
        MOV     DL,00
        MOV     DH,ROW          ;?????????? ??????
        INT     10H
        RET
Q20CURS ENDP
;               ????? ????????? ?? ?????? ?? ?????:
;               ----------------------------------
X10ERR  PROC    NEAR
        MOV     AH,09           ;DX ????????
        INT     21H             ; ????? ?????????
        MOV     ERRCDE,01       ;?????????? ??? ??????
        RET
X10ERR  ENDP
 
CODESG  ENDS
        END     BEGIN
Изображения
 
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8662 / 4498 / 1670
Регистрация: 01.02.2015
Сообщений: 13,914
Записей в блоге: 12
05.05.2020, 21:12
Никогда об этом не задумывался.
Хотите, поделюсь ссылками на формат FCB? И вы самостоятельно прочтёте.
fn=16h int 21h
http://www.ctyme.com/intr/rb-2581.htm
http://www.techhelpmanual.com/... a_fcb.html
FCB
http://www.ctyme.com/intr/rb-2574.htm#Table1345
http://www.techhelpmanual.com/... block.html

А также, советую найти книгу
Питер Абель. Ассемблер и программирование для IBM PC
Именно этот пример взят из неё и подробно разбирается в главе 16 (листинг 16.1).

Но вообще, в исходнике столько комментариев, что достаточно одного взгляда для понимания.
Процитирую для вас
Assembler
15
16
17
FCBDRIV DB      04              ; дисковод D
FCBNAME DB      'NAMEFILE'      ; имя файла
FCBEXT  DB      'DAT'           ; тип файла
Описания FCB из приведённых ссылок
Code
1
2
3
4
5
6
Format of File Control Block:
 
Offset  Size      Description     (Table 01345)
00h       BYTE    drive number (0 = default, 1 = A, etc) FFh is not allowed (signals extended FCB, see #01346)
01h     8 BYTEs   blank-padded file name
09h     3 BYTEs   blank-padded file extension
Code
1
2
3
4
5
6
7
FcbRec 
  Offset Size Contents
  +0       1  bDrvID       drive ID (see below)
  +1       8  abName       left-justified, blank-padded (e.g. 'FILE    ')
  +9       3  abExt        left-justified, blank-padded (e.g. 'EXT')
 +0cH      2  wCurBlock    current block number
 +0eH      2  wRecSize     logical record size
Добавлено через 4 минуты
Ну, да. Всё правильно - вы не умеете читать.
В программе указан диск D, а вы запускаете из диска C и очень вероятно, что диск D отсутствует в DOSBox.
Монтируйте его или меняйте путь к создаваемому файлу.
1
2 / 2 / 0
Регистрация: 29.04.2020
Сообщений: 17
05.05.2020, 22:01
ФедосеевПавел, спасибо, работает

Добавлено через 17 минут
ФедосеевПавел, не могу найти созданный файл
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8662 / 4498 / 1670
Регистрация: 01.02.2015
Сообщений: 13,914
Записей в блоге: 12
05.05.2020, 22:14
Если вы из GUI TurboAssembler, то не знаю чем помочь.
Если из DOSBox - ищите в корне той папки, которая настроена на видимость "изнутри" как диск C (или куда направили).

Или простым поиском по всему компьютеру - имя файла вам известно.
1
2 / 2 / 0
Регистрация: 29.04.2020
Сообщений: 17
05.05.2020, 22:27
ФедосеевПавел,cуть в том, что на всем компьютере ничего не находит. Ладно, и на том вам огромное спасибо. Найду решение проблемы - напишу сюда. Спасибо за помощь
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8662 / 4498 / 1670
Регистрация: 01.02.2015
Сообщений: 13,914
Записей в блоге: 12
05.05.2020, 22:50
Без шуток - GUI TurboAssembler - редкая дрянь.

Настройте самостоятельно DOSBox, скомпилируйте и запустите на выполнение программу.

Всё будет работать.

---------
Запустил GUI Turbo Assembler, загрузил исходник, "убил" в нём все комментарии, выполнил программу, запустил поиск и нашёл
C:\Program Files (x86)\GUI Turbo Assembler\BIN\NAMEFILE.DAT

Ищите там же.
1
2 / 2 / 0
Регистрация: 29.04.2020
Сообщений: 17
05.05.2020, 23:48
Файл создаётся в папке с exeшником программы .У меня поиск на пк не работает, вот и не мог найти. DOSBox
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8662 / 4498 / 1670
Регистрация: 01.02.2015
Сообщений: 13,914
Записей в блоге: 12
05.05.2020, 23:57
Добрый совет - установите двухпанельный файлменеджер Unreal Commander - очень удобно и поиск в том числе.
У меня он много лет и настройки уже значительно отличаются от "заводских", поэтому очень удобен. Но настройки уже не просто повторить.

Именно в нём я провёл сравнение двух исходников - из сообщения #1 со скопированным из онлайн книжки.
И искал на нескольких дисках тоже с его помощью.

Встречалось упоминание, что на Win8 или Win10 встроенный какой-то невероятно удобный поиск, что привыкаешь мгновенно и без него мир меркнет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.05.2020, 23:57
Помогаю со студенческими работами здесь

Создание запроса с использованием DBF файла
Добрый день. Возникла сложность с реализацией запроса. В запросе используется DBF файл, который содержит одно поле со значениями кода...

Проблема с создание .exe файла с использованием pyinstaller
Привет, я пытаюсь создать .exe файл, который можно передать на любой компьютер и запустить, даже на тот, в котором нет интерпретатора...

Создание объектного файла с использованием программного кода
Интересует вопрос, как создать объектный файл, некоторой, программы на C++, из другой программы? То есть, имеется файл temp.cpp и я хочу...

Создание пакетного файла с использованием списка значений в качестве параметров.
Посмотрите, пожалуйста, задание: Создайте пакетный файл P3 с использованием списка значений в качестве параметров. Количество ...

Создание dbf-файла dBASE III с использованием JetOleDB4: на одном из ПК файл создается в кодировке ANSI
Здравствуйте. Возникла у меня интересная проблема: Программно создаю dbf файл dBASE III использую JetOleDB4. Как много уже где...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru