Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/75: Рейтинг темы: голосов - 75, средняя оценка - 4.52
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533

Добавление нескольких файлов для последующего редактирования

03.09.2019, 12:20. Показов 16370. Ответов 158

Студворк — интернет-сервис помощи студентам
Доброго времени суток форумчане! Не так давно, благодаря знатокам из данного форума была написана (спасибо за всё) программа. Суть её в следующем: На диске лежат файлики в которых 20 строк, каждую десятую строку программа вставляет пустую строку, затем копирует содержимое 10-й строки, добавляет перед пустой строкой (проще говоря дублирует 10-ю строку), затем дублирует 11-ю и добавляет перед 11-й строкой (капец туфтология), наглядно это вот так:

Было:
7
8
9
10
11
12
13

Стало:
7
8
9
10
10

11
11
12
13

И так программка делает каждую 10-ю строку! Строк может быть уйма. Всё работает всё делится, как надо, вопрос таков:
Файлов которые нужно редактировать много, поэтому, я хотелось бы сделать, что-то типа добавления или запоминания нескольких файлов, а затем их сразу переделывать, что каждый раз не указывать файл заново. Файлы лежат в разных папках, поэтому забирать из корня не выйдет. Желательно сделать наглядно, чтобы я уже видел, какие файлики я добавил, а какие нет! Заранее спасибо за помощь!

Собственно и сама программа:
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
from tkinter import *
from tkinter import ttk
import os
 
from tkinter import messagebox
from tkinter import filedialog
 
def update_the_label():
    lb0 = Label(window, text = "-")
 
def clicked_dialogOpen():
    global choosefile
    choosefile=filedialog.askopenfilename(filetypes=(("Text files", "*.txt"), ("all files", "*.*")))
    lb0 = Label(window, text = choosefile)
    lb0.pack(side ="top")
 
def clicked():
    try:
        with open(choosefile, 'r+', encoding='utf-8') as f:
            lines = f.readlines()
            f.seek(0)
            for i in range(int(combo.get())-1, len(lines), int(combo.get())):
                lines[i]+=lines[i][0:21] + "\n\n"
                if i <len(lines)-1:
                    lines[i+1]=lines[i+1][0:21] + " Информация: " + "\n" + lines[i+1]
            f.writelines(lines)
        f.close()      
    except:
        messagebox.showerror("Ошибка", "Дядь, файлик то выбери!")
    messagebox.showinfo("Завершение", "Готова")
 
window = Tk()
window.title("Дырка")
window.geometry('220x400')
window.resizable('false', 'false')
 
lb1 = Label(window, text = "Диапазон строк: ")
lb1.pack(side ="top")
 
combo=ttk.Combobox(window, values=(2,10,50,100,250,500,600,700,800,900,1000), width=28)
combo.current(0)
combo.pack(side ="top")
 
btn3 = Button(window, text = "Обновить список", command = update_the_label, width=26)
btn3.pack(side = "top")
 
btn2 = Button(window, text = "Открыть файл", command=clicked_dialogOpen, width=26)
btn2.pack(side ="top")
 
btn = Button(window, text ="Зарубить", command=clicked, width=26)
btn.pack(side ="top")
 
lb2 = Label(window, text = "_________________________")
lb2.pack(side ="top")
 
lb3 = Label(window, text = "Список отредактированных файлов:")
lb3.pack(side ="top")
 
window.mainloop()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.09.2019, 12:20
Ответы с готовыми решениями:

Сохранить данные из них для последующего просмотра и редактирования
имеется несколько полей в которые заносятся данные. как мне сохранить данные из них для последующего просмотра и редактирования?

Как целиком загрузить таблицу из SQL БД в браузер для последующего её редактирования?
Как целиком загрузить таблицу из SQL БД в браузер для последующего её редактирования?

Добавление картинки через диалоговое окно по кнопке, для последующего сохранения в таблицу
Здравствуйте, в бд имеется таблица с полями Оле. В поля Оле добавляются картинки с изделиями. Создал форму для добавления картинок и...

158
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,184
Записей в блоге: 6
05.09.2019, 09:24
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Viktorrus Посмотреть сообщение
Если бы нельзя было использовать глобальные переменные, то тогда их не было бы в питоне.
На самом деле нет. В Питоне можно очень многое,в т.ч. из того, что нельзя, и это его беда.
Глобалки - прямой путь в говнокод, поэтому из многих языков их убрали. Так что Питон тут не показатель.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
05.09.2019, 10:28  [ТС]
Viktorrus Кхм, я сейчас немного офигел из-за количества написанного Вами. Я всё ещё раз прочитаю и расскажу Вам (и всем, кто "в теме") о задаче. Так же расскажу, почему там лейбл не обновляется и т.д. Раз уж я не могу правильно её сформулировать значит и написать правильно не смогу, значит надо, как следует со всем разобраться. Чуть попозже отвечу полностью.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
05.09.2019, 12:31
Damenikx, Вот ссылка, которую я обещал.
https://metanit.com/python/tutorial/9.3.php
Здесь расказывается, как менять тексты в виджетах, когда форма уже открыта.
Я в своем коде использовал метод config(), очень удобный. Позволяет в уже открытой форме менять любые параметры виджета.

Добавлено через 5 минут
С помощью этого метода, я не только меняю текст в метке, но и открываю и закрываю для записи служебные виджеты Entry, которые предназначены для записи в них служебной информации, показываемой пользователю, но не доступные ему для редактирования.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
05.09.2019, 14:13  [ТС]
Viktorrus, хорошая статья, добавлю в закладки.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
05.09.2019, 20:37
Лучший ответ Сообщение было отмечено Damenikx как решение

Решение

Цитата Сообщение от dondublon Посмотреть сообщение
В Питоне можно очень многое,в т.ч. из того, что нельзя, и это его беда.
Глобалки - прямой путь в говнокод,
Уровень логики поражает. Бедные разработчики питона, которые ввели глобальные переменные, которые использовать нельзя, и бедный Лутц, который пишет "говнокоды". Они не могут осознать Ваших гениальных идей, потому, что с Вами не знакомы. А может дадите ссылку на Ваши изданные труды, в которых излагаются Ваши "гениальные" идеи? У заклейменного Вами Лутца, который считает использование глобальных переменных нормой, уже 5 раз переиздаются его книги, являющиеся объемными трудами и признанными классикой.
Опять я с Вами схлестнулся. Но в длительную полемику вступать не намерен. Стараюсь не обращать на Ваши комментарии внимания, но бывает на некоторые дикости срываюсь. На этом все, разрешите откланяться.

Добавлено через 1 час 0 минут
Damenikx, Вот я переписал Ваш код, с функцией создания формы, и запуском из блока if __name__ == '__main__':
Кликните здесь для просмотра всего текста
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
from tkinter import *
from tkinter import ttk
import os
 
from tkinter import messagebox
from tkinter import filedialog
 
def makeWidgets():
    # создание графической формы
    global combo
    window = Tk()
    window.title("Дырка")
    window.geometry('220x400')
    window.resizable('false', 'false')
 
    lb1 = Label(window, text = "Диапазон строк: ")
    lb1.pack(side ="top")
 
    combo=ttk.Combobox(window, values=(2,10,50,100,250,500,600,700,800,900,1000), width=28)
    combo.current(0)
    combo.pack(side ="top")
 
    btn3 = Button(window, text = "Обновить список", command = update_the_label, width=26)
    btn3.pack(side = "top")
 
    btn2 = Button(window, text = "Выбрать файл", command=clicked_dialogOpen, width=26)
    btn2.pack(side ="top")
 
    btn = Button(window, text ="Зарубить", command=clicked, width=26)
    btn.pack(side ="top")
 
    lb2 = Label(window, text = "_________________________")
    lb2.pack(side ="top")
 
    lb3 = Label(window, text = "Список отредактированных файлов:")
    lb3.pack(side ="top")
    return window 
 
def update_the_label():
    lb0 = Label(window, text = "-")
 
def clicked_dialogOpen():
    global choosefile
    choosefile=filedialog.askopenfilename(filetypes=(("Text files", "*.txt"), ("all files", "*.*")))
    lb0 = Label(window, text = choosefile)
    lb0.pack(side ="top")
 
def clicked():
    try:
        with open(choosefile, 'r+', encoding='utf-8') as f:
            lines = f.readlines()
            f.seek(0)
            for i in range(int(combo.get())-1, len(lines), int(combo.get())):
                lines[i]+=lines[i][0:21] + "\n\n"
                if i <len(lines)-1:
                    lines[i+1]=lines[i+1][0:21] + " Информация: " + "\n" + lines[i+1]
            f.writelines(lines)
        f.close()      
    except:
        messagebox.showerror("Ошибка", "Дядь, файлик то выбери!")
    messagebox.showinfo("Завершение", "Готова")
 
if __name__ == '__main__':
 
    window = makeWidgets()
    window.mainloop()

Работает так же, как Ваш код.
Теперь его можно дорабатывать, размещая внизу формы нужные Вам сообщения.
Только четко определите алгоритм, что должно писаться внизу формы.

Добавлено через 3 минуты
На самом деле внизу формы , после размещения кода создания формы в функции, выводит не совсем так как у Вас. Но теперь без проблем можно выводить внизу сообщения по любому, как только Вы захотите. Только скажите, как Вы хотите.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
06.09.2019, 08:01  [ТС]
Viktorrus, спасибо Вам огромное, сейчас всё переделаю!

Добавлено через 54 секунды
У меня теперь каша в голове, получается использовать глобальные переменные всё-таки можно)))
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
06.09.2019, 09:28
Цитата Сообщение от Damenikx Посмотреть сообщение
У меня теперь каша в голове, получается использовать глобальные переменные всё-таки можно
нет, вернее так -есть редкие случаи, когда использование глобал может дать какой то выигрыш, по сравнению с другими решениями. Но в общем случае не используй глобал, а чтобы понять почему -нужно много читать и думать.
Глобал в пайтон и статик в джаве (мой второй язык) это очевидные и простые для новичка вещи, поэтому все новички и всегда за него хватаются и порой проблем то и не видят. Пока программа простая и короткая все может прекрасно работать, но когда она начнет расти да еще и многопоточность добавится, тут то и начинаешь понимать почему в обоих языках учат обходиться без них.
Но это только если ты планируешь расти в программировании. Если нет, то конечно используй глобал, пиши клоуз после менеджера контекста (как в коде выше), бабахай методы по 100 строк - все равно никто кроме тебя не пострадает.
1
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
06.09.2019, 09:51
Viktorrus, а почему не засунуть все в класс? => избавиться от global.
Кликните здесь для просмотра всего текста
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
# не вникал, копипаст
 
from tkinter import *
from tkinter import ttk
import os
 
from tkinter import messagebox
from tkinter import filedialog
 
class Window(Tk):
 
    def __init__(self):
        Tk.__init__(self)
        self.title("Дырка")
        self.geometry('220x400')
        self.resizable('false', 'false')
 
        lb1 = Label(self, text="Диапазон строк: ")
        lb1.pack(side="top")
 
        self.combo = ttk.Combobox(self, values=(
            2, 10, 50, 100, 250, 500, 600, 700, 800, 900, 1000), width=28)
        self.combo.current(0)
        self.combo.pack(side="top")
 
        btn3 = Button(self, text="Обновить список",
                      command=self.update_the_label,
                      width=26)
        btn3.pack(side="top")
 
        btn2 = Button(self, text="Выбрать файл",
                      command=self.clicked_dialogOpen,
                      width=26)
        btn2.pack(side="top")
 
        btn = Button(self, text="Зарубить", command=self.clicked, width=26)
        btn.pack(side="top")
 
        lb2 = Label(self, text="_________________________")
        lb2.pack(side="top")
 
        lb3 = Label(self, text="Список отредактированных файлов:")
        lb3.pack(side="top")
 
    def update_the_label(self):
        lb0 = Label(self, text="-")
 
    def clicked_dialogOpen(self):
        self.choosefile = filedialog.askopenfilename(
            filetypes=(("Text files", "*.txt"), ("all files", "*.*")))
        lb0 = Label(self, text=self.choosefile)
        lb0.pack(side="top")
 
    def clicked(self):
        try:
            with open(self.choosefile, 'r+', encoding='utf-8') as f:
                lines = f.readlines()
                f.seek(0)
                for i in range(int(self.combo.get()) - 1, len(lines),
                               int(self.combo.get())):
                    lines[i] += lines[i][0:21] + "\n\n"
                    if i < len(lines) - 1:
                        lines[i + 1] = lines[i + 1][
                                       0:21] + " Информация: " + "\n" + \
                                       lines[
                                           i + 1]
                f.writelines(lines)
            f.close()
        except:
            messagebox.showerror("Ошибка", "Дядь, файлик то выбери!")
        messagebox.showinfo("Завершение", "Готова")
 
w = Window()
w.mainloop()
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,184
Записей в блоге: 6
06.09.2019, 10:47
Цитата Сообщение от Viktorrus Посмотреть сообщение
Уровень логики поражает. Бедные разработчики питона, которые ввели глобальные переменные, которые использовать нельзя, и бедный Лутц, который пишет "говнокоды". Они не могут осознать Ваших гениальных идей, потому, что с Вами не знакомы. А может дадите ссылку на Ваши изданные труды, в которых излагаются Ваши "гениальные" идеи? У заклейменного Вами Лутца, который считает использование глобальных переменных нормой,
Конечно, я и не сомневался, что мой уровень логики для вас - слишком высок и поразит вас.
Разработчики Питона, если что, не "ввели" глобальные переменные, точнее, ввели не их. Сама структура языка такова, что выпилить их невозможно.
Будьте любезны, приведите пример, где у Лутца описывается, что использования глобалок - это норма. Вот правда, мне интересно. Иначе всё, что вы написали - это просто дурь.
Примеры элементарного кода на 10 строк - не в счёт.
Цитата Сообщение от Viktorrus Посмотреть сообщение
На этом все, разрешите откланяться.
Нет уж, будьте любезны, ответьте за базар.

Добавлено через 2 минуты
Цитата Сообщение от Damenikx Посмотреть сообщение
получается использовать глобальные переменные всё-таки можно)))
Каждый сам себе злобный Буратино, я вас предупреждал.

Кстати, если интересно - в нашей компании я сейчас сам провожу собеседования по Питону, и один из моих "общефилософских" вопросов - "что плохого в глобальных переменных". Если человек не ответит - большой минус, значит, у него вообще нет практики. Но почти всегда отвечают.

Добавлено через 2 минуты
Цитата Сообщение от ioprst Посмотреть сообщение
Viktorrus, а почему не засунуть все в класс? => избавиться от global.
Потому что ему показалось, что так написал Лутц, видимо.

Добавлено через 9 минут
Viktorrus, раз уж вы такой умный, разбираетесь в глобалках, мне интересно, понимаете ли вы, (не гугля,) разницу между global variable и global value? А между глобальной переменной и синглтоном?
2
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
06.09.2019, 10:50
dondublon, проблема в его отношении к Лутцу, у него в руках букварь, а он думат, что Библия (если позволите такую метафору).
Лутц -мастер, он довольно хорошо рассказывает о всех средствах языка, чтобы дать о них представление и естественно он использует простейшие примеры, где глобал реально самый простой подход. Это нужно понимать. И читать что-то кроме Лутца. Или внимательно читать его:
Viktorrus,
For now, though, especially if you are relatively new to programming, avoid the temptation to use globals whenever you can—they tend to make programs difficult to understand and reuse, and won’t work for cases where one copy of saved data is not enough.
это 17 глава страница 496, у меня в оригинале и там еще много рассуждений о вреде глобал.

Не по теме:

dondublon, чисто из интереса, на собесе просите какой-то код написать? Листкомпс например или по ООП?

2
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,184
Записей в блоге: 6
06.09.2019, 10:57
Цитата Сообщение от Welemir1 Посмотреть сообщение
For now, though, especially if you are relatively new to programming, avoid the temptation to use globals whenever you can—they tend to make programs difficult to understand and reuse, and won’t work for cases where one copy of saved data is not enough.
Найс!
Ну ясно дело, не может быть у Лутца оправдания использованию глобалок.

По поводу кода. Именно кода прошу писать мало. Первым делом прошу написать рекурсивный факториал. (Признаюсь, это была не моя идея, но одобряю.) Казалось бы, простая задача, но на удивление много народа отсеивается сразу.
Затем - найти ошибку в антипаттерне с итератором, когда iterable в качестве итератора возвращает self. (Это уже моя придумка.) Знаете, люди любят такое писать "на скорую руку". Вроде бы тоже несложно, но и тут часто у народа нет понимания итераторов и ответить они не могут. Могу и ещё накидать, у меня список есть но там больше просто вопросы.

Про ООП я очень хотел бы спрашивать, но, каюсь, не знаю, как именно проверить эти знания. Человек может оттарабанить паттерны, прочитанные в книжке, и не видеть их в реальном коде. В итоге по мелочи спрашиваю, конечно, но меня самого не очень устраивает
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
06.09.2019, 11:22

Не по теме:

Цитата Сообщение от dondublon Посмотреть сообщение
Могу и ещё накидать, у меня список есть но там больше просто вопросы.
если не сложно) можно в личку, очень интересно (пошел пока писать рекурсивный факториал)
Цитата Сообщение от dondublon Посмотреть сообщение
Знаете, люди любят такое писать "на скорую руку".
тут я покраснел)



Добавлено через 2 минуты
с факториалом норм написал сходу в виде лямбды, а наверное функцией надо было)
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,184
Записей в блоге: 6
06.09.2019, 11:32
Welemir1, конечно, лямбда же не может быть рекурсивной

Добавлено через 9 секунд
Ща напишу в личку.
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
06.09.2019, 11:36
dondublon, вейт, то есть вот так не катит ? :
Python
1
2
3
4
5
factorial = lambda x: 1 if x<=1 else x*factorial(x-1)
>>> factorial(5)
120
>>> factorial(10)
3628800
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,184
Записей в блоге: 6
06.09.2019, 11:49
Welemir1, мне стыдно, я и не знал, что так можно.
Не, так прокатит, конечно, но вообще всегда пишут функцию.

Добавлено через 32 секунды
Welemir1, не, погоди, щас я разберусь. Как-то странно выглядит, тут должна быть проблема.

Добавлено через 1 минуту
Не, работает. Но выглядит всё равно необычно.
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
06.09.2019, 11:49
dondublon, ну проблема есть, кеширование к функции можно прикрутить например,а тут память будет кушать, но зато писать быстро

Добавлено через 19 секунд
Цитата Сообщение от dondublon Посмотреть сообщение
Но выглядит всё равно необычно.
а вот это приятно услышать)
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,184
Записей в блоге: 6
06.09.2019, 11:50
Welemir1, кеширование конечно, но тут вопрос именно на понимание рекурсии.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
06.09.2019, 14:26  [ТС]
Вай Вай Вай, друзья. Монстры питона(без сарказма), вы чего устроили?)) я же теперь помру, лямбды, рекурсии, факториалы обратные, вы чего)) я тут простейшую функцию написать не могу, а тут такое)) вы главное не ссоритесь, ведь приятнее общаться, всегда, когда царит доброта и шипит пиво!) За вас и за спецназ (питоновский)
1
06.09.2019, 14:37

Не по теме:

Цитата Сообщение от Damenikx Посмотреть сообщение
я же теперь помру, лямбды, рекурсии, факториалы обратные, вы чего)
ты постепенно, сразу то не налегай))) питон как пиво -надо потреблять в меру и с расстановкой

0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
06.09.2019, 14:43  [ТС]
Welemir1,

Не по теме:

я же вроде и со сложного не начинал, это простейшая програмка, совсем. Захотел подключить гуй, дабы упростить себе задачу, а вышло наоборот))

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

Поиск и перемещение файлов в папку для их последующего удаления
пытаюсь организовать поиск и перемещение файлов в папку для их последующего удаления, решил сначала попробовать взять записанные в файл...

Добавление нескольких файлов в БД
Мне надо вывести в бд сразу несколько файлов в форме. сказали что надо преобразовать массив в строку с помощью serialize() чтобы добавить...

Добавление нескольких файлов в бд
Добрый день. Столкнулься с проблемой, так как сам в програмировании пребиваю на начальной стадии обучения прошу совета. Необходимо...

Процедурное создание мира с целью его последующего редактирования
Привет, Я так и не придумал как сформировать свой запрос в гугле, поэтому надеюсь на вашу помощь. Итак, я хочу, чтобы юнити создал мне...

Добавление нескольких файлов в OpenFileDialog
Надо сделать чтоб можно было выбрать несколько файлов в OpenDialog Пока вот что сделал, место пути выдаёт OpenFileDialog1. ...


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru