Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/34: Рейтинг темы: голосов - 34, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 29
TASM

Ввод и вывод двумерного массива

16.11.2016, 22:10. Показов 7227. Ответов 14

Студворк — интернет-сервис помощи студентам
Здравствуйте, не могу понять где ошибка в моей программе. В начале я ввожу числа и вроде всё нормально, но когда программа начинает их выводить, то делает она это очень странным образом. На подобии змейки:
Пример:
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 5 5 6

0 1 2 3 4
1 2 3 4 4
2 3 4 4 5
3 4 4 5 5
4 4 5 5 6
Вот, собственно, сам код программы:
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
.model small
.stack
.data
    mas db 5 dup (5 dup (?))
    nxtln db 10, 13, "$"
    spaace db 32, "$"
.code
 
space proc
    push dx
    push ax
    mov dx, offset spaace
    mov ah, 09h
    int 21h
    pop ax
    pop dx
    ret
space endp
 
nextln proc
    push dx
    push ax
    mov dx, offset nxtln
    mov ah, 09h
    int 21h
    pop ax
    pop dx
    ret
nextln endp
 
main:
    mov ax, @data
    mov ds, ax
 
    xor ax, ax
    mov si, 0
    mov bx, 0
    mov cx, 5
in_external:
    push cx
    mov cx, 5
    mov si, 0
in_iternal:
    mov ah, 01h
    int 21h
    sub al, 47
    mov mas[bx][si], al
    inc si
    call space
    loop in_iternal
in_next:
    call nextln
    pop cx
    inc bx
    loop in_external
    
    call nextln
    mov si, 0
    mov bx, 0
    mov cx, 5
out_external:
    push cx
    mov cx, 5
    mov si, 0
out_iternal:
    mov ah, 02h
    mov dl, mas[bx][si]
    add dl, 47
    int 21h
    inc si
    call space
    loop out_iternal
out_next:
    call nextln
    pop cx
    inc bx
    loop out_external
 
    mov ax, 4c00h
    int 21h
end main
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2016, 22:10
Ответы с готовыми решениями:

Ввод и вывод двумерного массива
в общем не понял как вводить и выводить двумерный массив. массив 9 на 9. причем надо ввести сначало размерно m на n b и потом вывести...

Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива.
Транспонировать матрицу через ввод вывод функции двумерного массива.Сначала вывести ее,а потом провести транспонирование.

Ввод и вывод двумерного массива
Почему-то выводит наибольшее число при вводе, помогите вот код: #include <stdio.h> int main () {

14
 Аватар для Kukuxumushu
1624 / 806 / 146
Регистрация: 13.06.2015
Сообщений: 3,266
16.11.2016, 22:13
Lici, нутк Emu8086 и вперёд
0
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 29
16.11.2016, 22:45  [ТС]
((( В emu8086 вообще бред какой-то( После ввода второй строки не перебрасывает на третью, а начинает выводить какие-то символы из ASCII( А так я вообще GUI Turbo Assembler пользовался, но там как раз та ошибка, которую я выше описал.
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,311
Записей в блоге: 12
17.11.2016, 19:30
Лучший ответ Сообщение было отмечено Lici как решение

Решение

Lici, потому что надо не inc bx делать, а add bx,5.
[bx][si] - это сложение bx и si, а не [bx*5+si].

Добавлено через 1 минуту
В двух местах там надо замену эту сделать (при вводе и при выводе).
p.s. Я бы вообще просто адрес увеличивал на 1 и всё (si, например) и не заморачивался со сложением bx и si, всё равно же числа подряд записываются.
p.p.s. И ещё, чтобы символ преобразовать в цифру и наоборот, не 47 надо вычитать/прибавлять, а 48. Лучше даже написать так: sub al,'0'.
1
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 29
20.11.2016, 16:09  [ТС]
Jin X, если таким образом мы просто передвигаемся по матрице, то как же тогда делать масштабирование? Конечно у меня будет совершено другой ввод и вывод чисел, скажем через длинные процедуры, но как тогда быть с масштабированием индексов?
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,311
Записей в блоге: 12
20.11.2016, 22:17
Lici, про какое масштабирование индексов идёт речь?
Не понимаю, что хотите спросить, переформулируйте вопрос...
0
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 29
21.11.2016, 02:17  [ТС]
Имеется ввиду что массив будет состоять НЕ из однобайтовых чисел, и по Юрову(Assembler. Учебник для вузов) операция которая позволяет это реализовать, это масштабирование индексов (то есть вместо mas[esi] допустим я буду использовать mas[esi*2]), вы уж простите если я не знаю как это называется в современном синтаксисе ассемблера. Так вот проблема в том, что я не знаю как это возможно реализовать - если писать в индексах bx*2 или что-то подобное, то у меня сразу выводит ошибку.
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,311
Записей в блоге: 12
21.11.2016, 17:31
Лучший ответ Сообщение было отмечено Lici как решение

Решение

Это так и называется (масштабирование индексов), просто мало ли про какие индексы идёт речь
Оно доступно только на 386 процессорах (и выше) и только с 32-битными (или 64) регистрами: EAX, EBX и пр. Т.е. BX*2 нельзя, EBX*2 можно.

По вопросу - какая разница: байт, слово, двойное слово, с масштабированием или без.
Если EBX, например, содержит индекс массива, то EBX*2 будет работать со словами (2 байтами), EBX*4 с двойными словами. Или просто увеличение будет не на 1, а на 2, 4...

Вот массив:
1 2 3
4 5 6
7 8 9


В памяти он расположен вот так:
Assembler
1
db 1,2,3,4,5,6,7,8,9
Поэтому можно сделать так:
mov al,[si+di*3], где si - номер столбца, di - номер строки (см. p.s. ниже)... и заморачиваться с увеличением номер столбца, затем строки
А можно так:
mov al,[bx], где bx - просто порядковый номер элемента (сначала в первой строке, потом во второй, затем в третьей, т.е. [0]=1-я строка 1-я позиция, [1]=1-я строка 2-я позиция, [4]=2-я строка 1-я позиция...) и просто тупо увеличивать bx каждый раз на 1

p.s. di*3 - это не коэффициент, который можно использовать в ассемблере, а формула для иллюстрации, по факту же будет что-то типа:
Assembler
1
2
3
4
mov bx,di
imul bx,bx,3  ; можно эффективнее, но для понятности пусть так
add bx,si
mov al,[bx]
2
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 29
22.11.2016, 00:27  [ТС]
Теперь понял. Спасибо большое за такое доходчивое и понятное объяснение)))))
0
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 29
25.11.2016, 20:08  [ТС]
А вы не в курсе - можно ли организовать ввод-вывод ДВУХбайтового числа в двумерном массиве, без масштабирования и регистров, размером с двойное слово?
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,311
Записей в блоге: 12
25.11.2016, 22:17
Не понимаю, о чём вопрос, потому что...

Цитата Сообщение от Lici Посмотреть сообщение
без масштабирования и регистров
В смысле без регистров? Используя память? Теоретически можно, конечно, но 1. зачем? 2. с умножением/делением будет гемор...

Цитата Сообщение от Lici Посмотреть сообщение
ДВУХбайтового числа ... размером с двойное слово
Вот это точно нельзя. Либо 2-байтового числа, либо размером с двойное слово

А в целом: https://www.cyberforum.ru/asse... 54461.html
1
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 29
26.11.2016, 09:34  [ТС]
Понял, получается если я использую двумерный массив из двухбайтовых чисел, то мне не нужны регистры, размерностью с двойное слово? Просто никак не могу понять в чём у меня ошибка(
Мне требуется ввести размерность двумерного массива, потом число, а потом сам двумерный массив, и все элементы, которые больше введённого числа - обнулить.
Вот код, в котором все элементы двумерного массива - числа от 0 до 9, и тут у меня всё получается и работает:
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
.model small
.stack
.data
    a dw ?
    b dw ?
    c db ?
    mas db 255 dup (255 dup (?))
    incorrect db 10, 13, "WAS ENTERED INCORRECT CHARACTER!$"
    bignumber db 10, 13, "NUMBER IS TOO BIG!$"
    impossible db 10, 13, "DIVIDE BE ZERO IS IMPOSSIBLE$"
    backspace db 32, 8, "$"
    nxtln db 10, 13, "$"
    spaace db 32, "$"
.code
 
Input proc
mov bx, 0
begin:
    mov ah, 01h
    int 21h
    
    cmp al, 13
    je exit
    
    cmp al, 27
    je escape
    
    cmp al, 8
    je bkspace
    
    cmp al, '0'
    jb error
    cmp al, '9'
    ja error
    
allisok:
    sub al, 30h
    xor ah, ah
    xchg ax, bx
    mov dx, 10
    mul dx
    add bx, ax
    
    cmp bx, 6553
    jae check
    
    jmp begin
error:
    mov dx, offset incorrect
    mov ah, 09h
    int 21h
    mov bx, 0
    jmp nextline
check:
    cmp bx, 6553
    ja numberok
    
    mov ah, 01h
    int 21h
    
    cmp al, 13
    je exit
    
    cmp al, '0'
    jb error
    cmp al, '9'
    ja error
    cmp al, '6'
    jb allisok
    
    mov dx, offset bignumber
    mov ah, 09h
    int 21h
    mov bx, 0
    jmp nextline
nextline:
    mov dx, offset nextln
    mov ah, 09h
    int 21h
    jmp begin
exit:
    ret
numberok:
    mov dx, offset nextln
    mov ah, 09h
    int 21h
    ret
escape:
    mov bx, 0
    mov dx, offset nextln
    mov ah, 09h
    int 21h
    jmp begin
bkspace:
    mov dx, offset backspace
    mov ah, 09h
    int 21h
    mov ax, bx
    xor dx, dx
    mov cx, 10
    div cx
    mov bx, ax
    jmp begin
Input endp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
Output proc
    pop ax
    pop bx
    pop cx
    pop dx
    xor cx, cx
    mov bx, 10
l1:
    xor dx,dx
    div bx
    push dx
    inc cx
    test ax, ax
    jnz l1
    mov ah, 02h
l2:
    pop dx
    add dl, '0'
    int 21h
    loop l2
    push dx
    push cx
    push bx
    push ax
    ret
Output endp
 
space proc
    push dx
    push ax
    mov dx, offset spaace
    mov ah, 09h
    int 21h
    pop ax
    pop dx
    ret
space endp
 
nextln proc
    push dx
    push ax
    mov dx, offset nxtln
    mov ah, 09h
    int 21h
    pop ax
    pop dx
    ret
nextln endp
 
 
main:
    mov ax, @data
    mov ds, ax
 
    xor ax, ax
    mov si, 0
    mov bx, 0
    call Input
    mov a, bx
    call Input
    mov b, bx
    call Input
    mov c, bl
    xor bx, bx
    mov cx, a
in_external:
    push cx
    mov cx, b
    mov si, 0
in_iternal:
    mov ah, 01h
    int 21h
    sub al, 48
    cmp al, c
    jbe all_okay
    mov al, 0
all_okay:
    mov mas[bx][si], al
    inc si
    call space
    loop in_iternal
in_next:
    call nextln
    pop cx
    add bx, b
    loop in_external
 
    call nextln
    mov si, 0
    mov bx, 0
    mov cx, a
out_external:
    push cx
    mov cx, b
    mov si, 0
out_iternal:
    mov ah, 02h
    mov dl, mas[bx][si]
    add dl, 48
    int 21h
    inc si
    call space
    loop out_iternal
out_next:
    call nextln
    pop cx
    add bx, b
    loop out_external
 
    mov ax, 4c00h
    int 21h
end main
А здесь я уже попытался увеличить размерного двумерного массива до двух байт, и тут у меня уже не получается:
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
.model small
.stack
.data
    a dw ?
    b dw ?
    c dw ?
    mas dw 100 dup (100 dup (?))
    incorrect db 10, 13, "WAS ENTERED INCORRECT CHARACTER!$"
    bignumber db 10, 13, "NUMBER IS TOO BIG!$"
    impossible db 10, 13, "DIVIDE BE ZERO IS IMPOSSIBLE$"
    backspace db 32, 8, "$"
    nxtln db 10, 13, "$"
    spaace db 32, "$"
.code
 
Input proc
mov bx, 0
begin:
    mov ah, 01h
    int 21h
    
    cmp al, 13
    je exit
    
    cmp al, 27
    je escape
    
    cmp al, 8
    je bkspace
    
    cmp al, '0'
    jb error
    cmp al, '9'
    ja error
    
allisok:
    sub al, 30h
    xor ah, ah
    xchg ax, bx
    mov dx, 10
    mul dx
    add bx, ax
    
    cmp bx, 6553
    jae check
    
    jmp begin
error:
    mov dx, offset incorrect
    mov ah, 09h
    int 21h
    mov bx, 0
    jmp nextline
check:
    cmp bx, 6553
    ja numberok
    
    mov ah, 01h
    int 21h
    
    cmp al, 13
    je exit
    
    cmp al, '0'
    jb error
    cmp al, '9'
    ja error
    cmp al, '6'
    jb allisok
    
    mov dx, offset bignumber
    mov ah, 09h
    int 21h
    mov bx, 0
    jmp nextline
nextline:
    mov dx, offset nextln
    mov ah, 09h
    int 21h
    jmp begin
exit:
    ret
numberok:
    mov dx, offset nextln
    mov ah, 09h
    int 21h
    ret
escape:
    mov bx, 0
    mov dx, offset nextln
    mov ah, 09h
    int 21h
    jmp begin
bkspace:
    mov dx, offset backspace
    mov ah, 09h
    int 21h
    mov ax, bx
    xor dx, dx
    mov cx, 10
    div cx
    mov bx, ax
    jmp begin
Input endp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
Output proc
    pop ax
    pop bx
    pop cx
    pop dx
    xor cx, cx
    mov bx, 10
l1:
    xor dx,dx
    div bx
    push dx
    inc cx
    test ax, ax
    jnz l1
    mov ah, 02h
l2:
    pop dx
    add dl, '0'
    int 21h
    loop l2
    push dx
    push cx
    push bx
    push ax
    ret
Output endp
 
space proc
    push dx
    push ax
    mov dx, offset spaace
    mov ah, 09h
    int 21h
    pop ax
    pop dx
    ret
space endp
 
nextln proc
    push dx
    push ax
    mov dx, offset nxtln
    mov ah, 09h
    int 21h
    pop ax
    pop dx
    ret
nextln endp
 
 
main:
    mov ax, @data
    mov ds, ax
 
    xor ax, ax
    mov si, 0
    mov bx, 0
    call Input
    mov a, bx
    call Input
    mov b, bx
    call Input
    mov c, bx
    xor bx, bx
    mov cx, a
in_external:
    push cx
    mov cx, b
    mov si, 0
in_iternal:
    call Input
    cmp bx, c
    jbe all_okay
    mov bx, 0
all_okay:
    mov mas[bp][si], bx
    inc si
    call space
    loop in_iternal
in_next:
    call nextln
    pop cx
    add bp, b
    loop in_external
 
    call nextln
    mov si, 0
    mov bp, 0
    mov cx, a
out_external:
    push cx
    mov cx, b
    mov si, 0
out_iternal:
    mov ax, mas[bp][si]
    call Output
    inc si
    call space
    loop out_iternal
out_next:
    call nextln
    pop cx
    add bp, b
    loop out_external
 
    mov ax, 4c00h
    int 21h
end main
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,311
Записей в блоге: 12
26.11.2016, 17:55
Цитата Сообщение от Lici Посмотреть сообщение
Понял, получается если я использую двумерный массив из двухбайтовых чисел, то мне не нужны регистры, размерностью с двойное слово?
Какое отношение "мерость" массива (одномерный, двумерный) имеет к размеру регистра? Для одного элемента размером в слово нужен и регистр размером в слово (по крайней мере, чтобы его прочитать или записать) – это ж очевидно.

p.s. Если используете неинициализированные данные, то размещайте их либо в секции .data? либо в конце секции .data (по крайней мере, в большом количестве, но лучше это делать всегда). Иначе получаемый код будет больше, чем нужно (как в первом примере лишних почти 64 Кб... из 64 Кб ).
1
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 29
26.11.2016, 20:57  [ТС]
А как же тогда быть с масштабирование индексов, если я ввожу и вывожу числа в регистре, размерностью в слово, а как вы пишите масштабирование работают только тогда, когда регистр размерностью с двойное слово? Как же мне в двумерный массив элементы помещать?(
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,311
Записей в блоге: 12
26.11.2016, 22:41
Так, речь про адресацию? Я думал, надо занести значение в регистр
Если очень нужно масштабирование, можно использовать 32-битные регистры. Но это обычно в 32-битном режиме делается (в прогах под Windows, например). Для DOS-программ так, конечно, тоже можно, но обычно не делают.

А чем вам не нравится использовать не коэффициенты (mov ax,[ebx*2] + inc ebx), а просто менять индексные регистры на нужное кол-во (mov ax,[bx] + add bx,2)?
Даже с 32-битными регистрами всё равно не получится сделать, например, так: mov ax,[ebx*2+edx*8], масштабируется только 1 регистр.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.11.2016, 22:41
Помогаю со студенческими работами здесь

Ввод вывод двумерного массива
Не понимаю в где проблема, вроде бы все верно сделал, но не выводит ничего! помогите. Program z5; Uses crt; Type matrix=array of...

Ввод-вывод двумерного массива
Задание- нужно ввести двумерный массив, записать в него строки заданного с консоли количества. Вроде бы так и сделал в коде, но почему то...

Ввод-вывод двумерного динамического массива
Здраствуйте. Задана задача, в ходе которой нужно ввести динамический массив(каждый елемент с новой строчки), а затем вывести его уже как...

Визуализация и ввод/вывод двумерного массива
Подскажите пожалуйста какой контрол и как использовать для ввода/вывода двумерного массива на ASP .NET странице? Нужно ввести и...

Файловый ввод/вывод двумерного массива
Напишите и отладьте программу для обработки двумерного массива A(6,2), в которой предусмотреть файловый ввод/вывод информации. В качестве...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru