Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Visual Basic (VB).

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

NEOMATRIX



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Данный топик предназначен только для обсуждения типовых задач на Visual Basic.
Обсуждение задач на VBA (а именно, Excel, Word, Access) строго запрещено!
Пишите в соответствующих топиках.

 
Родственные топики:
  • Excel VBA - часть 1, часть 2 - все вопросы по Excel VBA туда
  • Word VBA все вопросы по Word VBA туда
  • Access все вопросы по программированию в Access туда
  • VBScript - программирование "удобняшек" на VBScript
  • QBasic - типовые задачи на QBasic
     
  • Date Time Functions In Visual Basic
  • VB6's Trig, Math, Financial, Boolean, and Random functions
  • Visual Basic 6 String Functions
  • VB6 Number System Functions (Hex, Oct, Etc)
  • VB6's DateAdd function
     
  • Functions (Visual Basic)
  • Keywords and Members by Task
  • Visual Basic Reference
     
  • Visual Basic String Manipulation Tutorials
     
  • Top 10 Visual Basic Sins

     
    Учебники:
    Visual Basic для студентов и школьников. Культин Н. (2010)
    Занимательное программирование на Visual Basic.NET. Климов А. (2005)
    Visual Basic в задачах и примерах. Сафронов (2009)
    Visual Basic 2012 на примерах. Зиборов В. (2012)

  • Всего записей: 202 | Зарегистр. 29-12-2004 | Отправлено: 19:30 16-11-2005 | Исправлено: XPerformer, 10:07 28-10-2014
    z0q

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вообщем, необходимо следующее - у меня есть форма, два текстовіх поля (условно назовём txtInput & txtOutput)
     
    Необходимо:
     
    1. Вводишь в первое поле (txtInput) - список (любой), например список книг.
    Типа:

    Код:
     
    Книга 1
    Книга 2
    Книга 3
    Книга 4
    Книга 5
    Книга 6
    Книга 7
     

     
    и после нажатия кнопки (например cmdOk), надо что бы во втором поле (txtOutput) выводился данный список, но только окружённый по бокам данными, которые лежат в категории с программой, в файле data.txt - у которого содержимое такое например:
     

    Код:
     
    11111
    12222
    22323
    23324
    43534
    54564
    34234
     

     
    что бы в итоге вышло что-то типа такого:
     

    Код:
     
    11111 Книга 1
    12222 Книга 2
    22323 Книга 3
    22334 Книга 4
    43534 Книга 5
    54564 Книга 6
    34234 Книга 7
     

     
     
    Незнаю, путанно бъяснил или нет, но думаю понятно

    Всего записей: 5 | Зарегистр. 16-01-2006 | Отправлено: 11:59 16-01-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    z0q
    Как и обычно делают все ,  не объяснил в чем трудность. Сам то хоть пытался что-то сделать?

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 00:03 17-01-2006
    z0q

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dneprcomp
     

    Цитата:
    Сам то хоть пытался что-то сделать?

     
    если бы не пытался, наверное бы не спрашивал, верно?

    Всего записей: 5 | Зарегистр. 16-01-2006 | Отправлено: 13:38 18-01-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    z0q
    Так выложи, что сделал. Укажи место, которое не выходит. Задай конкретные вопросы, что бы прояснить непонятное тебе. Как мы можем знать что подсказывать, если нет информации? В чем конкретно трудность?
    PS. Этот раздел для помощи, а не для заказа домашних заданий. Поможем с удовольствием.

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 01:10 19-01-2006 | Исправлено: dneprcomp, 01:12 19-01-2006
    z0q

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dneprcomp
     
    Да дело не в домашенм задании, я поэтому и обратился только когда не нашёл инфы как это можно реализовать.
     
    Обыскал весь инет, но нигде не мог найти как работать в VB 6 со строками, везде идёт только чтение файлов (Line Input #1).  
     
    Как мне можно поместить содержимое текстового поля в массив, чтобы к каждой строке можно было обращатся отдельно?

    Всего записей: 5 | Зарегистр. 16-01-2006 | Отправлено: 10:23 19-01-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Обьяви массив:
    Dim arLines(10) as string
    Строки обычно разделены двумя спецсимволами Chr$(13) & Chr$(10) или(что тоже самое) константой vbNewLine.  
    Для объединения строк используется &

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 11:05 19-01-2006 | Исправлено: dneprcomp, 11:24 19-01-2006
    z0q

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dneprcomp
    Гуд, а как можно произвольное количество строк в массиве сделать? То есть, если изначально неизвестно кол-ство?

    Всего записей: 5 | Зарегистр. 16-01-2006 | Отправлено: 11:13 19-01-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    z0q
    Обьяви динамический массив:
    Dim arLines() as string
    Перед использованием его необходимо инициализировать:
    ReDim arLines(10) или с сохранением значений ReDim Preserve arLines(10)
    Честно говоря, непонятно. Неужели ты не смог найти в хелпе описание массивов?
    Перечитай мой предыдущий пост. Я там немного подредактировал.

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 11:29 19-01-2006
    z0q

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dneprcomp
    Спасибо, сейчас буду сидеть, и разбиратся что и как, что бы понять всё самому.
     
    З.Ы. Мне просто сначал не приходила в голову объявить в массив строки.

    Всего записей: 5 | Зарегистр. 16-01-2006 | Отправлено: 11:32 19-01-2006
    Anatolij2005

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Необходимо написать макрос в VBA для Wordа который должен выделеный фрагмент преобразовать в текстовое поле формы. Обычная запись макроса не выходит пишет ошибку. Обычные комбинации клавиш работают. Помогите пожалуйста.

    Всего записей: 26 | Зарегистр. 04-10-2005 | Отправлено: 11:22 06-02-2006
    Anatolij2005

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добавляю к вчерашнему вопросу код который сгенериран после нажатия клавиш в VBA
     
    Selection.MoveRight Unit:=wdCharacter, Count:=25, Extend:=wdExtend
        Selection.Cut
        Selection.FormFields.Add Range:=Selection.Range, Type:=0
        With Selection.FormFields(1)
            .NameLocal = "ТекстовоеПоле1"
            .EntryMacro = ""
            .ExitMacro = ""
            .Enabled = True
            .OwnHelp = False
            .HelpText = ""
            .OwnStatus = False
            .StatusText = ""
            With .TextInput
                .Type = wdRegularText
                .Width = 0
                .Default = ""
                .Format = ""
            End With
        End With
        Selection.PreviousField.Select
        With Selection.FormFields(1)
            .Name = "ТекстовоеПоле1"
            .EntryMacro = ""
            .ExitMacro = ""
            .Enabled = True
            .OwnHelp = False
            .HelpText = ""
            .OwnStatus = False
            .StatusText = ""
            With .TextInput
                .EditType Type:=wdRegularText, Default:= _
                    "количественное содержание", Format:=""
                .Width = 0
            End With
        End With
    End Sub

    Всего записей: 26 | Зарегистр. 04-10-2005 | Отправлено: 14:08 07-02-2006
    Troitsky



    Водник Водкин
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Anatolij2005
    Во-первых, все вопросы по WordVBA тут
     
    Во-вторых, не понял что значит преобразовать выделенный текст в поле. Если имелось ввиду создать на месте выделенного текста текстовое поле и пометить туда в качестве текста по умолчанию выделенный текст то, кажется, делается это так:

    Код:
      Dim strText As String
       
        strText = Selection.Text
        Selection.FormFields.Add Range:=Selection.Range, Type:=wdFieldFormTextInput
        With ActiveDocument.FormFields(1)
            .Enabled = True
            .TextInput.EditType Type:=wdRegularText, Default:=strText, Format:=""
        End With
    и приведенный иобой код, по сути, верен.

    ----------
    Мы в хорошем настроении гуляем по лесам.
    Кто обидеть нас захочет – сам получит по усам.
    Сам полу- получит по усам. Сам полу- получит по усам!

    Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 15:24 07-02-2006
    laika

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    пжалста, помогите бедной девочке!
    у меня выходит параша по информатике! я не хочу закончить школу со спаравкой!
    решите мне задачу!!!!!! и если сможете, нарисуйте блок схему!!!!
    задача:
     
    Массив: Z(30)
    действия: расположить в массиве R сначала положительные, а затем торицательные элементы массива Z/
    ограничений нет.
     
    заранее спасибо всем желающим мне помочь!
    если живете в питере,благодарить буду лично;)))))))
     
    решение отправьте на мой адрес, а то я сюда второй раз точно не смогу дойти,очень сложно....
     
    мой мэйл: anka_mango@mail.ru

    Всего записей: 2 | Зарегистр. 07-02-2006 | Отправлено: 19:05 07-02-2006
    respite



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Цитата:
    Массив: Z(30)  
    действия: расположить в массиве R сначала положительные, а затем торицательные элементы массива Z/  
    ограничений нет.  

     
    Как вариант:  
    0. Обнуляем все элементы массива R.
    1. Перебираем все элементы в массиве Z.
    2. Элемент положительный? Если да, то ищем первый с начала нулевой элемент массива R, в него записываем текущее значение из массива Z.
    3. Иначе ищем первый с конца нулевой элемент массива R, туда записываем текущее значение.
    4. Переходим к следующему элементу массива Z.

    Всего записей: 201 | Зарегистр. 26-08-2003 | Отправлено: 11:27 08-02-2006
    Anatolij2005

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Огромное человеческое спасибо за помощьTroitsky
     
     
    Добавлено:
    Все работает но текст который до этого был выделен почемуто оказывается не вставленным в текстовое поле

    Всего записей: 26 | Зарегистр. 04-10-2005 | Отправлено: 14:25 08-02-2006
    Alisa89

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Блин, а может мне кто-нить помочь с задачей? Надо сделать блок схему и программный код! А я вообще в информатике, как ежик в тумане!
    Задача:
    Найти средне арифметическое чётных чисел из "N", введенных с клавиатуры
     
    Пожалуйста, помогите мне!!!! плииииииииииз

    Всего записей: 1 | Зарегистр. 08-02-2006 | Отправлено: 22:33 08-02-2006
    laika

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Огромное спасибо что откликнулся, Respite, но в твои инструкции  такая тупая как я вобще не врубилась. моя проблема в том, что я вооообще не умею составлять программы!
    и то что ты написал мне ни о чем не говорит
    как я поняла ты написал план того что мне надо сделать, но я даже по плану сама  
    никогда не смогу составить программу.....
     
    мне нужна сама программа, то есть именно то, что я введу, нажму шифт ф 5, и она будет не знаю что там делать, ну в общем работать!
    учитель вообще ничем не помогает, ничего не объясняет,жаль конечно,но эту тему я уже не пойму.может есть какая нибудь классная книжка?где все понятно написано?где есть примеры решения задач?и составления блок-схемы?
    все говорят что со справкой меня точно в универ не возьмут.ну на крайняк в путягу.

    Всего записей: 2 | Зарегистр. 07-02-2006 | Отправлено: 22:47 08-02-2006
    Troitsky



    Водник Водкин
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Anatolij2005

    Цитата:
    Огромное человеческое спасибо за помощьTroitsky  
     
    Добавлено:  
    Все работает но текст который до этого был выделен почемуто оказывается не вставленным в текстовое поле

     
    А каков тогда результ выполнения этого кода и за что мне тогда спасибо если ничего не работает?
     
    У меня (OfficeXP) выделенный текст становится текстом по умолчанию (Default) в создаваемом поле, только длина выделенной строки не должна превышать 255 символов, иначе возникает ошибка.


    ----------
    Мы в хорошем настроении гуляем по лесам.
    Кто обидеть нас захочет – сам получит по усам.
    Сам полу- получит по усам. Сам полу- получит по усам!

    Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 20:34 09-02-2006 | Исправлено: Troitsky, 20:34 09-02-2006
    Anatolij2005

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может я немного не правильно сформулировал задачу. Первый текст который хочу сделать текстовым полем без проблем становится полем(здесь код работает).А вот последующие становятся пустыми полями и текст на этом месте исчезает. Необходимое количество полей около 500.Пробовал делать цикл но поскольку опыта в написании программ практически нет, ничего хорошего не получилось. Буду очень благодарен если вы мне еще раз поможете.

    Всего записей: 26 | Зарегистр. 04-10-2005 | Отправлено: 11:05 10-02-2006
    Troitsky



    Водник Водкин
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Anatolij2005

    Цитата:
    Буду очень благодарен если вы мне еще раз поможете.

    В настоящий момент несколько трудно со временем, чтобы детально разбираться, но, пожалуй, код должен выглядеть так:
    Код:
    Sub Макрос1()
      Dim strText As String
       
        strText = Selection.Text
        Selection.FormFields.Add Range:=Selection.Range, Type:=wdFieldFormTextInput
        With ActiveDocument.FormFields(ActiveDocument.FormFields.Count)
            .Enabled = True
            .TextInput.EditType Type:=wdRegularText, Default:=strText, Format:=""
        End With
    End Sub
    Если работать не будет - скажи, поправлю.

    ----------
    Мы в хорошем настроении гуляем по лесам.
    Кто обидеть нас захочет – сам получит по усам.
    Сам полу- получит по усам. Сам полу- получит по усам!

    Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 16:43 10-02-2006
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Visual Basic (VB).


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru