Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/30: Рейтинг темы: голосов - 30, средняя оценка - 4.50
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
1

Замена значений и печать документа (циклически до определённого значения)

10.09.2012, 19:49. Показов 5498. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Только-только зарегистрировался на вашем замечательном форуме. Уже очень многое реализовал из своей задачи, причём используя именно ваш форум, поэтому и решил закрепиться тут, чтобы и дальше реализовывать своё желание.

Мне требуется решить вот что:
Имеется документ MS Word, который состоит из двух страниц. На первой странице документа в четырех местах имеется шифр вида "x" и этот шифр необходимо менять в арифметической последовательности "x+1" (то есть сначала в четырёх местах написан шифр "x", потом шифр меняется и во всех четырёх местах напсиан шифр "x+1" и так далее, до определённого значения), а остальной текст оставлять без изменений и при этом распечатывать каждый раз при изменении значения в автоматическом режиме, используя двустороннюю печать.

Используя возможности VB я добился следующего:
1 - при открытии документа у меня появляется форма, в которую я ввожу начальное значение шифра вида "x", потом ввожу общее число необходимых мне подстановок "y"
2 - кнопка "подстановка" меняет шифр вида "x" на введённое значение в создаваемом документе в необходимых мне четырёх местах (это я сделал при помощи закладок). На текущий момент времени я могу создавать только один документ с введённым форму значением.
3 - кнопка "отмена" закрывает форму, потом документ и затем закрывает Word

Вот как это выглядит на текущий момент времени

Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Private Sub CommandButton1_Click()
If CheckBox1.Value = False Then
    MsgBox "Ошибка!" & " " & "Необходимо принять условие." 'выводим сообщение
    Else
 Dim oDoc As Document
 Set oDoc = Application.Documents.Add("C:\Template.dotm")
 oDoc.Bookmarks("bN_1").Range.Text = txtBlank.Value
 oDoc.Bookmarks("bN_2").Range.Text = txtBlank.Value
 oDoc.Bookmarks("bN_3").Range.Text = txtBlank.Value
 UserForm1.Hide
 oDoc.Activate
End If
End Sub
 
Private Sub CommandButton2_Click()
'Выход из формы и закрытие окна документа при нажатии кнопки "Отменить"
On Error GoTo ErrLabel
Unload Me    'Закрываем форму
ActiveDocument.Close  'Закрываем текущий документ
ErrLabel:
Application.Quit    'закрываем Word
End Sub
 
Private Sub txtBlank_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'действия с полем номер бланка
With Me.txtBlank
If Not IsNumeric(.Text) Or Len(.Text) <> 6 Then 'если в поле "Бланк" данные не цифры и меньше или больше 6, то
MsgBox "Ошибка!" & " " & "Введите 6 цифр бланка." 'выводим сообщение
Cancel = True  'возвращаемся к полю
.Text = ""  'очищаем поле
.SetFocus
End If
End With
End Sub
 
Private Sub txtKolvo_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'действия с полем общее количество бланков
With Me.txtKolvo
If Not IsNumeric(.Text) Or Len(.Text) <> 2 Then 'если в поле "общее количество бланков" данные не цифры и общее число цифр меньше или больше 2, то
MsgBox "Ошибка!" & " " & "Вводить только число, состоящее из 2 цифр." 'выводим сообщение
Cancel = True  'возвращаемся к полю
.Text = ""  'очищаем поле
.SetFocus
End If
End With
End Sub


Мне осталось сделать самое главное - кнопка "подстановка" должна называться "печать" и при этом документ автоматически должен распечатываться на одном листе с двух сторон в необходимом количестве экземпляров, учитывая значения "x" и "y". То есть, при вводе числа y=50, будет выведено на печать 50 документов, с изменёнными значениями начиная с "x" и заканчивая "x+49"

Помогите пожалуйста. Я ещё новичок во всём этом, но потихоньку пробую и разбираюсь...

Добавлено через 6 часов 20 минут
вот нашёл код, он мне в принципе должен помочь, но я пока не могу его изменить под себя...
здесь приводится пример как на странице документа выставляется каждый раз новое число с одного до другого и каждый раз при этом документ распечатывается.
я надеюсь правильно понял пример =)

Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Печать_кучи_документов_с_номерами()
 
   ' В документе там где должен быть номер должна стоять 239366 '        
   For Номер_документа = 239366+1 To 239366+100        
        With Selection.Find
            .Text = Trim(Str(Номер_документа - 1))
            .Replacement.Text = Trim(Str(Номер_документа))
            .Forward = True
            .Wrap = wdFindContinue
        End With
       
        Selection.Find.Execute Replace:=wdReplaceAll
        
        Application.PrintOut Range:=wdPrintAllDocument, Item:= _
            wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
            ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
            False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
            PrintZoomPaperHeight:=0
   Next                    
End Sub


и ещё нашел вот такую статью
она меня безумно напугала из-за огромного кода на казалось бы простую операцию - установка дуплекса на печать документа
1
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.09.2012, 19:49
Ответы с готовыми решениями:

В таблице значений после отправки на печать меняются значения
Добрый день. Всю голову сломал. Есть таблица значений. Выводим её на печать. (появляется...

Вывести на печать значения X только для четных значений массивов
Выходные Y и входные X данные прибора заданы массивом. Связь задаётся уравнением Z=X. Написать...

Печать массива, циклически
Здравствуйте форумчане, такая задача: есть одномерный массив $arr его содержимое: print$arr;...

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

15
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
12.09.2012, 21:18  [ТС] 2
ПОМОГИТЕ ПОЖАЛУЙСТА...


решил опытным путём поэкспериментировать...
воспользовался методическими рекомендациями MS - взял код из этой статьи

у меня появилась ошибка Expected: identifier
вот по этим строкам
Visual Basic
1
2
   Public Function SetPrinterDuplex(ByVal sPrinterName As String, _
       ByVal nDuplexSetting As Long) As Boolean
как я и говорил, я пока ещё только учусь и ума не приложу почему применяя код, взятый в статье майкрософта, у меня всё равно появляется ошибка.

подскажите, что поправить нужно, чтобы я хотя бы увидел, что происходит при применении данного кода.

Добавлено через 33 минуты
Возникла вот какая идея у меня, может она даже упростит задачу в некотором роде...

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

Может так будет вам легче мне помочь?
0
Эксперт WindowsАвтор FAQ
18018 / 7719 / 892
Регистрация: 25.12.2011
Сообщений: 11,497
Записей в блоге: 16
12.09.2012, 22:24 3
Цитата Сообщение от Kaliostro82 Посмотреть сообщение
Expected: identifier
1. Попробуйте удалить знак переноса и разместить описание функции одной строкой.
2. Проверьте, что все переменные разделені обычными пробелами, а не спец. символами такими, как неразрывный пробел (пройдитесь кнопкой Delete и Space).

Также обращайте внимание на то, что в образцах кода MS иногда бывает много опечаток и неточностей.
1
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
13.09.2012, 19:56  [ТС] 4
Dragokas, спасибо. действительно там была именно эта ошибка.
исправил, часть кода выполняется без ошибок, но в конце самом всё же есть ошибка, я не могу разобраться как её исправлять. Помогите пожалуйста, буду признателен.

Visual Basic
1
SetPrinterDuplex Printer.DeviceName, 2
ошибка Run-time error '424'
Object required

мне правда приходит на ум одна мысль... вообщем я пытаюсь решить свою проблему дома, на домашнем компе, соответственно подключен домашний принтер, а у него просто-напросто нет двусторонней печати =) так может быть эта ошибка и говорит мне о том, что не может найти такого объекта настройки у принтера?
0
Эксперт WindowsАвтор FAQ
18018 / 7719 / 892
Регистрация: 25.12.2011
Сообщений: 11,497
Записей в блоге: 16
13.09.2012, 22:13 5
SetPrinterDuplex - это функция, а следовательно ей нужно куда-то возвращать значение, например:
Visual Basic
1
    ret = SetPrinterDuplex (Printer.DeviceName, 2)
От отсутствия поддержки дуплекса это не зависит.
И действительно нет такого объекта Printer ни в 2003, ни в 2010 Word-е. Откуда его взяли - не знаю. Может нужно подключить какой Reference.
Попробуйте вместо этого написать вручную в кавычках имя принтера (из свойств системных настроек принтера подсмотрите). Правда на MSDN написано, что это LPTSTR указатель на строку с именем принтера.
Не сильно дружу с API. Попробуйте любой переменной присвоить имя принтера. А в функцию - имя этой переменной подставьте.
1
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
14.09.2012, 21:07  [ТС] 6
Dragokas, вот сразу видно профессиональный взгляд на вещи!

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

поэтому по идее, всё должно быть нормально вроде как...

Добавлено через 9 часов 34 минуты
вот ссылка на сайт MS с необходимым Reference для вызова диалога печати
смотри тут
0
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
16.09.2012, 18:37  [ТС] 7
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Private Sub CommandButton1_Click()
 
    Dim lNumber As Long
    Dim i As Long
    
    'Помещаем в переменную lNumber, с какого номера
    'должна начинаться нумерация бланков.
    lNumber = Me.TextBox1.Value
    
    'проверяем на согласие с условием
    If CheckBox1.Value = False Then
    
    'выводим сообщение
    MsgBox "Ошибка!" & " " & "Необходимо принять условие."
    Else
    
    'Делаем столько витков цикла, сколько бланков необходимо вывести на печать.
    For i = 1 To Me.TextBox2.Value Step 1
    
            Dim oDoc As Document
            Set oDoc = Application.Documents.Add("C:\Primer\BLANK.docm")
           
            'Помещаем в закладку "bN_1" данные из переменной lNumber.
            oDoc.Bookmarks("bN_1").Range.Text = lNumber + (i - 1)
            
            'Помещаем в закладку "bN_2" данные из переменной lNumber.
            oDoc.Bookmarks("bN_2").Range.Text = lNumber + (i - 1)
 
            'Помещаем в закладку "bN_3" данные из переменной lNumber.
            oDoc.Bookmarks("bN_3").Range.Text = lNumber + (i - 1)
 
            'Помещаем в закладку "bN_4" данные из переменной lNumber.
            oDoc.Bookmarks("bN_4").Range.Text = lNumber + (i - 1)
        
            'Распечатываем.
            Application.PrintOut Range:=wdPrintAllDocument, Item:= _
            wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
            ManualDuplexPrint:=True, Collate:=True, Background:=True, PrintToFile:= _
            False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
            PrintZoomPaperHeight:=0
        
    'Скрываем пользовательскую форму
    UserForm1.Hide
    
    Next i
    End If
End Sub
Здесь представлен работающий код, теперь уже с пользовательской формой (в которой TextBox1 и TextBox2 для ввода значений, CheckBox1 для принятия условия, а также кнопка CommandButton1, которая является основной).

По-прежнему есть некоторые моменты, которые хотелось бы улучшить:

1 - в документе "BLANK.docm", над которым и проводятся все действия, имеется 4 закладки на 4 одинаковых числа, которые начинаются с цифры "ноль". Например, 012222. Так вот сейчас я вынужден был перед каждой закладкой поместить цифру "ноль",а в поле TextBox1 пользовательской формы UserForm1 вбивать значение без цифры "ноль", например 12222.
Можно ли сделать так, чтобы в поле TextBox1 я вносил значение например 012222, в поле TextBox2 я вносил значение например 2 и при этом происходила правильная отработка "lNumber + (i - 1)" и на печать выводились документы с изменёнными номерами - 012222 в первом документе и 012223 во втором документе?

2 - во время выполнения кода открываются новые вкладки с документами, с изменёнными номерами. Как избавиться от этого, чтобы ничего не появлялось, а просто в очередь печати все документы складывались сразу и всё?


3 - необходима двусторонняя печать документа "BLANK.docm". Принтер обладает необходимой функцией. Всё, что есть на данный момент, это вот эта статья MS.
0
Эксперт WindowsАвтор FAQ
18018 / 7719 / 892
Регистрация: 25.12.2011
Сообщений: 11,497
Записей в блоге: 16
16.09.2012, 20:01 8
Kaliostro82, так Вы форму в виде проекта заархивированного выложите и заодно DOC-файл (Расширенный режим -> Скрепка).
Я, например, вообще никогда закладками не пользовался.
0
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
16.09.2012, 21:09  [ТС] 9
Цитата Сообщение от Dragokas Посмотреть сообщение
Я, например, вообще никогда закладками не пользовался.
Вы думаете я постоянно ими пользовался? Я всё это узнал за последнюю неделю, как задался вопросом автоматизировать некоторый процесс...

Выкладываю файл и форму в архиве. Файл изменён до неузнаваемости, но общего смысла это не меняет.
!!! Не забудьте в коде поменять путь до файла или создать необходимую папку. !!!
Вложения
Тип файла: rar forum.rar (29.0 Кб, 20 просмотров)
0
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
17.09.2012, 22:05  [ТС] 10
Цитата Сообщение от Kaliostro82 Посмотреть сообщение
2 - во время выполнения кода открываются новые вкладки с документами, с изменёнными номерами. Как избавиться от этого, чтобы ничего не появлялось, а просто в очередь печати все документы складывались сразу и всё?
по поводу моей проблемы № 2
вместо переменной oDoc попытался использовать ActiveDocument - ошибка появилась
я понял почему она происходит - как только в документ подставляется первый шифр, у него сразу пропадают закладки, и по этой причине все другие шифры уже подставиться не могут, поскольку код теряет актуальность...
проблема по-прежнему актуальна и я не знаю пока чт окак её решить.

Добавлено через 2 часа 1 минуту
единственный вариант, который приходит мне на ум для решения проблемы № 2 - это просто напросто закрытие вновь появляющихся документов... буду пробовать реализовывать... правда для этого сначла мне придётся найти похожий случай,"слизать" и переделать под себя =)
0
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
19.09.2012, 19:42  [ТС] 11
Терзают меня мысли что такими темпами к Новому Году я порадую себя рабочим кодом самостоятельно...
0
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
29.09.2012, 22:30  [ТС] 12
Лучший ответ Сообщение было отмечено как решение

Решение

по пункту 2 родилась вот какая идея (смотреть вот этот пост):

Visual Basic
1
2
3
    'закрываем активный документ без сохранения изменений, поскольку после вставки
    'текста произошла замена закладки
    ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
правильно? или есть другой, болеее правильный вариант?

Добавлено через 1 час 40 минут
и ещё появились следующие вопросы (сохранена сквозная нумерация проблем):
4 - текст, вводимый в TextBox1, должен проверяться на следующие условия - это должно быть число, число должно состоять из 5 цифр, и не должно начинаться на ноль.
5 - текст, вводимый в TextBox2, должен проверяться на следующие условия - это должно быть число равное "1", "2" или "50".
0
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
03.10.2012, 22:25  [ТС] 13
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Option Explicit
 
Private Sub CommandButton1_Click()
 
    Dim lNumber As Long
    Dim i As Long
    
    'Помещаем в переменную lNumber, с какого номера
    'должна начинаться нумерация бланков.
    lNumber = Me.TextBox1.Value
    
    'проверяем на согласие с условием
    If CheckBox1.Value = False Then
    
    'выводим сообщение
    MsgBox "Ошибка!" & " " & "Необходимо принять условие."
    Else
    
    'Делаем столько витков цикла, сколько бланков необходимо вывести на печать.
    For i = 1 To Me.TextBox2.Value Step 1
    
            Dim oDoc As Document
            Set oDoc = Application.Documents.Add("C:\Primer\TEMP\1.docm")
           
            'Помещаем в закладку "bm_1" данные из переменной lNumber.
            oDoc.Bookmarks("bm_1").Range.Text = "0" & CStr(lNumber + (i - 1))
            
            'Помещаем в закладку "bm_2" данные из переменной lNumber.
            oDoc.Bookmarks("bm_2").Range.Text = "0" & CStr(lNumber + (i - 1))
 
            'Помещаем в закладку "bm_3" данные из переменной lNumber.
            oDoc.Bookmarks("bm_3").Range.Text = "0" & CStr(lNumber + (i - 1))
 
            'Помещаем в закладку "bm_4" данные из переменной lNumber.
            oDoc.Bookmarks("bm_4").Range.Text = "0" & CStr(lNumber + (i - 1))
              
            'Распечатываем.
            ActivePrinter = "doPDF v7"
            ActiveDocument.PrintOut
        
    'Скрываем пользовательскую форму
    UserForm1.Hide
    
    'закрываем активный документ без сохранения изменений, поскольку после вставки
    'текста произошла замена закладки
    ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
    
    Next i
    End If
End Sub
 
 
Private Sub CommandButton2_Click()
    'Выход из формы и закрытие окна документа при нажатии кнопки "ОТМЕНА"
    On Error GoTo ErrLabel
        'Закрываем форму
        Unload Me
        'Закрываем текущий документ
        ActiveDocument.Close
ErrLabel:
End Sub
 
 
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'действия с полем первый номер бланка для подстановки
With Me.TextBox1
If Not IsNumeric(.Text) Or Len(.Text) < 6 Then 'если в поле введены не цифры и их число меньше 6, то
MsgBox "Ошибка!" & " " & "Введите 6 цифр номера задания" 'выводим сообщение
Cancel = True  'возвращаемся к полю
.Text = ""  'очищаем поле
.SetFocus
End If
End With
End Sub
 
 
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'действия с полем общее количество необходимых бланков
With Me.TextBox2
If Not (TextBox2.Value = 1 Or TextBox2.Value = 2 Or TextBox2.Value = 50) Then
MsgBox "Ошибка!" & " " & "Введите значение равное 1, 2 или 50" 'выводим сообщение
Cancel = True  'возвращаемся к полю
.Text = ""  'очищаем поле
.SetFocus 'фокус на поле
End If
End With
End Sub
Вот такой замечательный и главное рабочий код появился у меня в ходе безумно долгой и кропотливой работы...

есть правда по-прежнему небольшие недочёты, которые вносят в некотором роде незавершённость данному проекту:
1 - двустороння печать реализована путём создания нового принтера, в свойствах печати которого выставлена принудительно двусторонняя печать и весь документ печатается исключительно через этот принтер.
А хотелось бы конечно иметь более универсальный проект, чтобы не приходилось дополнительно производить какие либо манипуляции с компом и его принтерами.
2 - по-прежнему не могу понять как реализовать правильное использования закладок (bookmarks), поскольку на текущий момент времени у меня происходит не вставка текста, а полная замена закладки на текст, поэтмоу приходится с каждым витком открывать документ снова и снова.
Вот нашёл казалось бы замечательную статью про закладки, но не могу понять что делать с ней и как изменить под свои условия - см. эту статью
3 - в момент открытия документа появляется UserForm1, если нажать на "крестик", то появляется вот это сообщение из кода проекта
Visual Basic
1
MsgBox "Ошибка!" & " " & "Введите 6 цифр номера задания"
А хотелось бы, чтобы закрывалась UserForm1 и текущий открытый документ, то есть то событие, которое происходит сейчас при нажатии на CommandButton2 (см. код выше).
Либо как вариант чтобы отсутствовал тот самый "крестик" на форме =)


Помогите пожалуйста, осталось совсем немного...
1
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
07.10.2012, 14:25  [ТС] 14
пункт 1 - так и оставил, похоже это самый простой вариант решения вопроса, пусть так и будет.
пункт 2 - вопрос тоже решил
вставил вот такой код
Visual Basic
1
2
3
4
5
6
7
'процедура для корректного обновления всех закладок, а не их подмены
Sub UpdateBookmark(BookmarkToUpdate As String, TextToUse As String)
     Dim BMRange   As Range
     Set BMRange = ActiveDocument.Bookmarks(BookmarkToUpdate).Range
     BMRange.Text = TextToUse
     ActiveDocument.Bookmarks.Add BookmarkToUpdate, BMRange
End Sub
и заменил у себя в коде строки некоторые вот на эти

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
            'Помещаем в закладку "bm_1" данные из переменной lNumber.
            UpdateBookmark "bm_1", "0" & CStr(lNumber + (i - 1))
            
            'Помещаем в закладку "bm_2" данные из переменной lNumber.
            UpdateBookmark "bm_2", "0" & CStr(lNumber + (i - 1))
 
            'Помещаем в закладку "bm_3" данные из переменной lNumber.
            UpdateBookmark "bm_3", "0" & CStr(lNumber + (i - 1))
 
            'Помещаем в закладку "bm_4" данные из переменной lNumber.
            UpdateBookmark "bm_4", "0" & CStr(lNumber + (i - 1))
пункт 3 - сейчас пытаюсь найти решение вопроса в другой теме
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
08.10.2012, 01:15 15
Visual Basic
1
2
3
4
For bn = 1 To 4
          'Помещаем в закладку "bm_*" данные из переменной lNumber.
          UpdateBookmark "bm_" &  bn, "0" & (lNumber + i - 1)
Next
1
62 / 6 / 1
Регистрация: 09.09.2012
Сообщений: 137
08.10.2012, 23:42  [ТС] 16
Sasha_Smirnov,
спасибо, оригинальное решение
укоротил код, используя ваше решение
0
08.10.2012, 23:42
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.10.2012, 23:42
Помогаю со студенческими работами здесь

Печать определённого номера записи (страницы) отчета
Добрый день! Подозреваю что вопрос простенький, но найти ответ не получилось. Необходимо...

При выборе определённого значения в одном из ComboBox-ов автоматически убирать лишние значения в других
Здравствуйте, подскажите как при выборе определённого значения в одном из combobox автоматически...

Замена определённого символа в значении переменной другим
Здравствуйте, можно ли считать фразу из txt файла в переменную и в переменной в этой фразе заменить...

Замена определённого символа в массиве структуры на пустой(пробел)
Всем доброго времени суток! Требуется считать данные из файла в массив, а затем проверить на...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
Какая максимальная длина адреса (URL) в различных браузерах и стандартах
bytestream 21.01.2025
В современном мире интернет-технологий URL-адреса (Uniform Resource Locator) играют фундаментальную роль в функционировании веб-пространства. Эти уникальные идентификаторы ресурсов стали неотъемлемой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru