Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84

Не подставляет список в Combobox

30.09.2022, 16:48. Показов 1109. Ответов 14

Студворк — интернет-сервис помощи студентам
Здравствуйте, прошу помощи. Сделал бинд, который запускает функцию при выборе пункта из списка, но она не работает.

Code
1
2
3
4
5
6
7
8
9
10
PS U:\Projects\Programming\Python\MathSol Experimental Branch> & "C:/Program Files/Python310/python.exe" "u:/Projects/Programming/Python/MathSol Experimental Branch/main.py"
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\tkinter\__init__.py", line 1921, in __call__
    return self.func(*args)
  File "u:\Projects\Programming\Python\MathSol Experimental Branch\main.py", line 121, in btn_command_1
    window_triangle.list_cbbox[0].bind("<<ComboboxSelected>>", self.win_triangle_cbbox_action())
  File "u:\Projects\Programming\Python\MathSol Experimental Branch\main.py", line 97, in win_triangle_cbbox_action
    self.list_cbbox[1].config(values=triangle_type_formula_1)
IndexError: list index out of range
Часть кода
Python
1
2
3
4
           window_triangle.create_cbbox(triangle_type, 163, 30, 317, "readonly")
            window_triangle.list_cbbox[0].current(0)
            window_triangle.list_cbbox[0].bind("<<ComboboxSelected>>", self.win_triangle_cbbox_action())
            window_triangle.create_cbbox("", 163, 60, 317, "readonly")
Python
1
2
3
4
5
6
7
8
    def win_triangle_cbbox_action(self):
        triangle_type_formula_1 = ["За стороною і висотою",
                                    "За трьома сторонами",
                                    "За двома сторонами і кутом між ними",
                                    "За трьома сторонами і радіусом ОПИСАНОГО кола",
                                    "За трьома сторонами і радіусом ВПИСАНОГО кола"]
                                    
        self.list_cbbox[1].config(values=triangle_type_formula_1)
Весь код
Python
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
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
import tkinter as tk
from tkinter import ttk
import tkinter.messagebox as mb
 
import time
 
CONST_COLOR_WHITE = "#ffffff"
CONST_COLOR_BLACK = "#000000"
CONST_COLOR_ORANGE = "#ffa602"
 
class CreateWindow():
    def __init__(self, title, width, height):
        self.window = tk.Tk()
        self.window.title(title)
 
        pos_x = self.window.winfo_screenwidth()
        pos_y = self.window.winfo_screenheight()
        pos_x = pos_x // 2
        pos_y = pos_y // 2
        pos_x = pos_x - (width // 2)
        pos_y = pos_y - (height // 2)
 
        self.window.geometry(f"{width}x{height}+{pos_x}+{pos_y}")
 
        # Список з індексами створених віджетів
        self.list_btn = []
        self.list_cbbox = []
        self.list_entry = []
        self.list_lbl = []
        self.list_lfrm = []
 
    # Методи створення віджетів
    def create_btn(self, text, pos_x, pos_y, width, height):
        self.button = tk.Button(self.window, text=text)
        self.button.place(x=pos_x, y=pos_y, width=width, height=height)
        self.list_btn.append(self.button)
 
    def create_cbbox(self, values, pos_x, pos_y, width, state):
        self.cbbox = ttk.Combobox(self.window, values=values, state=state)
        self.cbbox.place(x=pos_x, y=pos_y, width=width)
        self.list_cbbox.append(self.cbbox)
 
    def create_entry(self, pos_x, pos_y, width):
        self.entry = tk.Entry(self.window)
        self.entry.place(x=pos_x, y=pos_y, width=width)
        self.list_entry.append(self.entry)
 
    def create_lbl(self, text, pos_x, pos_y, width, anchor, background):
        self.lbl = tk.Label(self.window, text=text, anchor=anchor, background=background)
        self.lbl.place(x=pos_x, y=pos_y, width=width)
        self.list_lbl.append(self.lbl)
 
    def create_lfrm(self, text, pos_x, pos_y, width, height):
        self.lfrm = tk.LabelFrame(self.window, text=text)
        self.lfrm.place(x=pos_x, y=pos_y, width=width, height=height)
        self.list_lfrm.append(self.lfrm)
 
    # Конфігурація віджетів
    def config_win(self, background):
        self.window.config(background=background)
 
    def config_lfrm(self, background):
        if self.window.title() == "Головне меню - MathSol":
            self.list_lfrm[0].config(background=background)
            self.list_lfrm[1].config(background=background)
            self.list_lfrm[2].config(background=background)
        elif self.window.title() == "Площа трикутника - MathSol":
            self.list_lfrm[0].config(background=background)
            self.list_lfrm[1].config(background=background)
            self.list_lfrm[2].config(background=background)
 
    def cbbox_setcurrent(self, current):
        self.list_cbbox[0].current(current)
 
    # Події
    def btn_actions(self):
        self.list_btn[0].config(command=self.btn_command_1)
        self.list_btn[1].config(command=self.btn_command_2)
        self.list_btn[2].config(command=self.btn_command_3)
        self.list_btn[3].config(command=self.btn_command_4)
        self.list_btn[4].config(command=self.btn_command_5)
        self.list_btn[5].config(command=self.btn_command_6)
        self.list_btn[6].config(command=self.btn_command_7)
        self.list_btn[7].config(command=self.btn_command_8)
        self.list_btn[8].config(command=self.btn_command_help)
        self.list_btn[9].config(command=self.btn_command_formulas)
        self.list_btn[10].config(command=self.btn_command_settings)
        self.list_btn[11].config(command=self.btn_command_exit)
 
    def win_triangle_cbbox_action(self):
        triangle_type_formula_1 = ["За стороною і висотою",
                                    "За трьома сторонами",
                                    "За двома сторонами і кутом між ними",
                                    "За трьома сторонами і радіусом ОПИСАНОГО кола",
                                    "За трьома сторонами і радіусом ВПИСАНОГО кола"]
                                    
        self.list_cbbox[1].config(values=triangle_type_formula_1)
 
    def btn_command_1(self):
        triangle_type = ["Звичайний прямокутник",
                        "Прямокутний прямокутник",
                        "Рівнобедрений прямокутник",
                        "Рівносторонній прямокутник"]
 
        if self.list_btn[0]['text'] == "Трикутник":
            self.window.destroy()
 
            window_triangle = CreateWindow("Площа трикутника - MathSol", 500, 490)
            window_triangle.config_win(CONST_COLOR_WHITE)
 
            window_triangle.create_lfrm("Список формул", 10, 5, 480, 95)
            window_triangle.create_lfrm("Область обчислення", 10, 110, 480, 270)
            window_triangle.create_lfrm("Область керування", 10, 390, 480, 65)
            window_triangle.config_lfrm(CONST_COLOR_WHITE)
 
            window_triangle.create_lbl("Тип трикутника", 15, 30, 128, tk.W, CONST_COLOR_WHITE)
            window_triangle.create_lbl("Формула", 15, 60, 128, tk.W, CONST_COLOR_WHITE)
 
            window_triangle.create_cbbox(triangle_type, 163, 30, 317, "readonly")
            window_triangle.list_cbbox[0].current(0)
            window_triangle.list_cbbox[0].bind("<<ComboboxSelected>>", self.win_triangle_cbbox_action())
            window_triangle.create_cbbox("", 163, 60, 317, "readonly")
 
            window_triangle.create_lbl("Мітка 1", 15, 135, 128, tk.W, CONST_COLOR_WHITE)
            window_triangle.create_entry(138, 135, 342)
 
            window_triangle.create_lbl("Мітка 2", 15, 185, 128, tk.W, CONST_COLOR_WHITE)
            window_triangle.create_entry(138, 185, 342)
 
            window_triangle.create_lbl("Мітка 3", 15, 235, 128, tk.W, CONST_COLOR_WHITE)
            window_triangle.create_entry(138, 235, 342)
 
            window_triangle.create_lbl("Мітка 4", 15, 285, 128, tk.W, CONST_COLOR_WHITE)
            window_triangle.create_entry(138, 285, 342)
 
            window_triangle.create_btn("Обчислити", 25, 335, 450, 25)
 
            window_triangle.create_btn("Очистити поля", 25, 415, 120, 25)
            window_triangle.create_btn("Повернутися", 355, 415, 120, 25)
 
            window_triangle.create_lbl("Статус бар 1", 0, 470, 500, tk.W, CONST_COLOR_WHITE)
 
            window_triangle.list_lbl[6].config(text="Оберіть формулу", background=CONST_COLOR_ORANGE)
 
        elif self.list_btn[0]['text'] == "Куб":
            self.window = CreateWindow("Об'єм куба - MathSol", 600, 800)
 
    def btn_command_2(self):
        if self.list_btn[1]['text'] == "Прямокутник":
            self.window = CreateWindow("Площа прямокутника - MathSol", 600, 800)
        elif self.list_btn[1]['text'] == "Призма":
            self.window = CreateWindow("Об'єм призми - MathSol", 600, 800)
 
    def btn_command_3(self):
        if self.list_btn[2]['text'] == "Квадрат":
            self.window = CreateWindow("Площа квадрата - MathSol", 600, 800)
        elif self.list_btn[2]['text'] == "Паралелепіпед":
            self.window = CreateWindow("Об'єм паралелепіпеда - MathSol", 600, 800)
 
    def btn_command_4(self):
        if self.list_btn[3]['text'] == "Паралелограм":
            self.window = CreateWindow("Площа паралелограма - MathSol", 600, 800)
        elif self.list_btn[3]['text'] == "Піраміда":
            self.window = CreateWindow("Об'єм піраміди - MathSol", 600, 800)
 
    def btn_command_5(self):
        if self.list_btn[4]['text'] == "Ромб":
            self.window = CreateWindow("Площа ромба - MathSol", 600, 800)
        elif self.list_btn[4]['text'] == "Прав. тетраедр":
            self.window = CreateWindow("Об'єм правильного тетраедра - MathSol", 600, 800)
 
    def btn_command_6(self):
        if self.list_btn[5]['text'] == "Трапеція":
            self.window = CreateWindow("Площа трапеції - MathSol", 600, 800)
        elif self.list_btn[5]['text'] == "Циліндр":
            self.window = CreateWindow("Об'єм цілиндра - MathSol", 600, 800)
 
    def btn_command_7(self):
        if self.list_btn[6]['text'] == "Круг":
            self.window = CreateWindow("Площа круга - MathSol", 600, 800)
        elif self.list_btn[6]['text'] == "Конус":
            self.window = CreateWindow("Об'єм конуса - MathSol", 600, 800)
 
    def btn_command_8(self):
        if self.list_btn[7]['text'] == "Еліпс":
            self.window = CreateWindow("Площа еліпса - MathSol", 600, 800)
        elif self.list_btn[7]['text'] == "Куля":
            self.window = CreateWindow("Об'єм кулі - MathSol", 600, 800)
 
    def btn_command_help(self):
            self.window = CreateWindow("Допомога - MathSol", 600, 800)
 
    def btn_command_formulas(self):
            self.window = CreateWindow("Список формул - MathSol", 600, 800)
 
    def btn_command_settings(self):
            self.window = CreateWindow("Налаштування - MathSol", 600, 800)
 
    def btn_command_exit(self):
        ask_exit = mb.askyesno("Вихід", "Ви дійсно бажаєте вийти з програми?")
        if ask_exit is True:
            self.window.destroy()
 
    def cbbox_actions(self):
        self.list_cbbox[0].bind('<<ComboboxSelected>>', self.cbbox_changemode)
 
    def cbbox_changemode(self, event):
        if self.list_cbbox[0].current() == 0:
            self.list_btn[0].config(text=figure_names[0])
            self.list_btn[1].config(text=figure_names[1])
            self.list_btn[2].config(text=figure_names[2])
            self.list_btn[3].config(text=figure_names[3])
            self.list_btn[4].config(text=figure_names[4])
            self.list_btn[5].config(text=figure_names[5])
            self.list_btn[6].config(text=figure_names[6])
            self.list_btn[7].config(text=figure_names[7])
        else:
            self.list_btn[0].config(text=figure_names[8])
            self.list_btn[1].config(text=figure_names[9])
            self.list_btn[2].config(text=figure_names[10])
            self.list_btn[3].config(text=figure_names[11])
            self.list_btn[4].config(text=figure_names[12])
            self.list_btn[5].config(text=figure_names[13])
            self.list_btn[6].config(text=figure_names[14])
            self.list_btn[7].config(text=figure_names[15])   
 
    def mainloop(self):
        self.window.mainloop()
 
    def quit(self):
        self.window.destroy()   
 
if __name__ == "__main__":
    figure_names = ["Трикутник", "Прямокутник",
                    "Квадрат", "Паралелограм",
                    "Ромб", "Трапеція",
                    "Круг", "Еліпс",
                    "Куб", "Призма",
                    "Паралелепіпед", "Піраміда",
                    "Прав. тетраедр", "Циліндр",
                    "Конус", "Куля"]
 
    figure_coords = [30, 80, 130, 180, 230, 280, 330, 380]
 
    mode_list = ["Площа", "Об'єм"]
 
    settings_names = ["Допомога", "Список формул", "Налаштування", "Вихід"]
 
    settings_coords = [95, 145, 195, 245]
 
    # Створення головного вікна
    window_main = CreateWindow("Головне меню - MathSol", 390, 445)
    window_main.config_win("#ffffff")
 
    # Створення 3 фреймів із заголовками
    window_main.create_lfrm("Список фігур", 10, 5, 180, 430)
    window_main.create_lfrm("Режим", 200, 5, 180, 60)
    window_main.create_lfrm("Налаштування", 200, 70, 180, 365)
    window_main.config_lfrm(CONST_COLOR_WHITE)
 
    # Створення кнопок з назвами фігур
    for i, name in enumerate(figure_names):
        if i >= 8:
            break
 
        window_main.create_btn(figure_names[i], 20, figure_coords[i], 160, 40)
 
    # Створення кнопок для фрейму "Налаштування"
    for i, name in enumerate(settings_names):
        if i >= 4:
            break
 
        window_main.create_btn(settings_names[i], 210, settings_coords[i], 160, 40)
    window_main.btn_actions()
 
    # Створення списку з режимами
    window_main.create_cbbox(mode_list, 210, 30, 160, "readonly")
    window_main.cbbox_setcurrent(0)
    window_main.cbbox_actions()
 
    # Цикл роботи вікна
    window_main.mainloop()
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2022, 16:48
Ответы с готовыми решениями:

Не получается передать список элементов combobox одной формы в combobox другой
Есть две формы, на главной есть список комбобокс, на доченей тоже есть комбобокс... что в конструкторе второй формы надо написать, чтобы в...

Почему не подставляет значения?
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; int main() {int q, p; char x, d; float x1, x2; scanf(&quot;%f&quot;, &amp;x1); ...

Как Twitter подставляет хеш?
twitter.com/блаблабла он не выдасть 404, он подставит хеш и попытается найти юзера. как такое сделать?

14
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
01.10.2022, 16:55
Цитата Сообщение от AoHeaven Посмотреть сообщение
self.list_cbbox[1].config(values=triangle_type_formula_1)
IndexError: list index out of range
У тебя сколько объектов в self.list_cbbox?
1
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
01.10.2022, 16:58  [ТС]
ll45, в дочернем окне по идее 2
0
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
01.10.2022, 17:44
Цитата Сообщение от AoHeaven Посмотреть сообщение
Python
1
window_triangle.list_cbbox[0].bind("<<ComboboxSelected>>", self.win_triangle_cbbox_action())
Python
1
window_triangle.list_cbbox[0].bind("<<ComboboxSelected>>", self.win_triangle_cbbox_action)
1
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
01.10.2022, 18:04  [ТС]
ll45, теперь это

Code
1
2
3
4
5
6
7
8
PS U:\Projects\Programming\Python\MathSol Experimental Branch> & "C:/Program Files/Python310/python.exe" "u:/Projects/Programming/Python/MathSol Experimental Branch/main.py"
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\tkinter\__init__.py", line 1921, in __call__
    return self.func(*args)
  File "u:\Projects\Programming\Python\MathSol Experimental Branch\main.py", line 97, in win_triangle_cbbox_action
    self.list_cbbox[1].config(values=triangle_type_formula_1)
IndexError: list index out of range
Добавлено через 7 минут
Там была ошибка с аргументами, забыл добавить аргумент event, но я её исправил. А теперь эта
0
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
01.10.2022, 18:07
У тебя один объект в self.list_cbbox, поэтому и ошибка.
1
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
01.10.2022, 18:11  [ТС]
ll45, Почему? У меня при создании Combobox, объект помещается в список. У меня 2 Combobox. Как исправить? Подскажите пожалуйста

Если заменить [1] на [0], то в ответ ошибка
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
PS U:\Projects\Programming\Python\MathSol Experimental Branch> & "C:/Program Files/Python310/python.exe" "u:/Projects/Programming/Python/MathSol Experimental Branch/main.py"
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\tkinter\__init__.py", line 1921, in __call__
    return self.func(*args)
  File "u:\Projects\Programming\Python\MathSol Experimental Branch\main.py", line 97, in win_triangle_cbbox_action
    self.list_cbbox[0].config(values=triangle_type_formula_1)
  File "C:\Program Files\Python310\lib\tkinter\__init__.py", line 1675, in configure
    return self._configure('configure', cnf, kw)
  File "C:\Program Files\Python310\lib\tkinter\__init__.py", line 1665, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: invalid command name ".!combobox"
PS U:\Projects\Programming\Python\MathSol Experimental Branch>
0
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
02.10.2022, 19:26
Лучший ответ Сообщение было отмечено AoHeaven как решение

Решение

Цитата Сообщение от AoHeaven Посмотреть сообщение
Python
1
window_triangle.list_cbbox[0].bind("<<ComboboxSelected>>", self.win_triangle_cbbox_action())

Python
1
window_triangle.list_cbbox[0].bind("<<ComboboxSelected>>", window_triangle.win_triangle_cbbox_action)
1
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
02.10.2022, 19:32  [ТС]
ll45, спасибо, теперь работает. В чём была моя ошибка, можете объяснить пожалуйста?
0
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
02.10.2022, 20:01
В win_triangle_cbbox_action() передавался указатель на объект, который был destroy().
1
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
02.10.2022, 20:19  [ТС]
ll45, немного вас не понял. Часть про указатель понял, а вот остальные не очень
0
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
02.10.2022, 21:32
Цитата Сообщение от AoHeaven Посмотреть сообщение
Python
1
def btn_command_1(self):
Здесь self - это указатель на что?
1
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
02.10.2022, 21:39  [ТС]
ll45, указатель на кнопку экземпляра класса main_window
0
172 / 112 / 65
Регистрация: 26.06.2020
Сообщений: 334
02.10.2022, 21:46
Это не указатель на кнопку, это указатель на объект класса CreateWindow.

Добавлено через 1 минуту
Что происходит с окном window_main, после нажатия на копку с надписью "Треугольник"?
1
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
02.10.2022, 21:46  [ТС]
ll45, я кажется понял, спасибо большое

Окно уничтожается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.10.2022, 21:46
Помогаю со студенческими работами здесь

ВПР некорректно подставляет значения
Добрейшего времени суток! Исходные данные: На одном листе есть диапазон с 2-мя столбцами &quot;должность&quot; и &quot;ФИО&quot; ...

Зачем компилятор подставляет константы?
Открыл свой код рефлектором и обнаружил, что компилятор на место всех констант подставляет их значения. Но сами константы остались и...

Какая функция подставляет www
Скачал срипт аукциона, разместил на openserver, вроде запускается, но какую кнопку не запустишь, везде ошибка... например хочу...

Вместо пути до файла подставляет многоточие
Здравствуйте! pathini,put,baseput:string; SInifile:TInifile; begin Ac1.Connected:=false; ...

Sendmail подставляет MAILER-DAEMON в поле MAIL FROM
Вся суть в заголовке, есть такая схема: сайт -&gt; sendmail -&gt; почтовый домен привязан к яндексу. с сайта отправляются письма и в...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 01.04.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru