Как.....

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.11.2004 (Чт) 17:20

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

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 11.11.2004 (Чт) 17:22

Добрый день!

Сразу вопрос -
1) Брола 1но слово из текста
по каким признакам определить, что какое-то количество символов является словом?
Нужен какой-то критерий!

Следующий вопрос -
дальше проверяла есть ли такое в текстовом поле где содержаца слова в столбик точнее в катором будем искать (проверку я сделал)
первый вопрос относится и ко второму TextBox'у.

Проверка у тебя есть.

Цикличность в алгоритме у тебя есть.

Теперь коды:
С первым пунктом проясниш сам, а второй и третий
Код: Выделить всё
dim i as long, j as Long
for j = 1 to CountWordsInTextBox1 ' Цикл по словам из первого TextBox'a   
   for i = 1 to CountWordsInTextBox2 ' Цикл по словам из первого TextBox'a
       if ItemsWordInTextBox1(j) = ItemsWordInTextBox2(i) Then
           TextBox3.Text = TextBox3.Text & vbCrLt & WordsFormTextBox1
           ' Добавляем слово в результирующий Бокс и переносом строки
           i =  CountWordsInTextBox2
                        ' Выход, дальше проверять нет смысла, если не нужно
                        ' дублировать запись столько раз, сколько оно
                        ' будет встречаться в TextBox2
       EndIf
   next i
Next j


Вот тебе и код
CountWordsInTextBox1 и CountWordsInTextBox2 - переменные в которых хранится количество слов в текстбоксах,
ItemsWordInTextBox1(j) и ItemsWordInTextBox2(i) - хочешь функции, которые возвращают слово по индексу, а хочешь массивы.
Вообщем решать тебе!

Доделаешь ответ на первый вопрос заполнишь массивы или сделаешь функции и все заработает!

Удачи!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.11.2004 (Чт) 18:05

GSerg писал(а):А, теперь их двое, я понял...

Они размножаются делением!!! :)
Lasciate ogni speranza, voi ch'entrate.

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 11.11.2004 (Чт) 18:20

Почкованием :wink:

t4lli
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 02.07.2004 (Пт) 14:15
Откуда: Lithuania

Сообщение t4lli » 12.11.2004 (Пт) 17:30

Непойму , всеравно беруца из списка толко два первых слова!!! Но у меня неиу "Цикличность в алгоритме у тебя есть." я использую очень прастой код поиска
Код: Выделить всё
If InStr(1, Text1.Text, Text2.Text, vbTextCompare) Then
'а Сюда пихаю то что мне дал игор
Else
MsgBox "!"
End If


Я непонимаю вчём проблема !!!! :x

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.11.2004 (Пт) 17:50

На последний вопрос ответ давно дан :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 12.11.2004 (Пт) 18:43

2 GSerg! Все когда-то начинали! Но, тут согласен, не все так агрессивно!

2 t4lli
В TextBox.Text будет содержатся такого вида строка
"слово1|слово2|слово3",
в TextBox2.Text такая строка -
"первое|второе|пятое|десятое"

Вот тебе нужна функция, которая сделает массив строк из этих строк!

а
t4lli писал(а):InStr(1, Text1.Text, Text2.Text, vbTextCompare)

просто ищет строку из TextBox2.Text в TextBox1.Text и если находит, то возвращает номер позиции в TextBox1.Text, строки совпадающей со строкой из TextBox2.Text, а если не находит - то ноль!
А пихать ничего не надо!
А цикличность вот:
t4lli писал(а):2) Если слово найдено то переходим на слово нижеЗдесь подразумевалось пока не достигнем конца списка (Слово может быть не в начале а гденибуть в середине текстового поля в катором ищем)


Почитай, что делают разные функции.
Попробуй сделать такую задачу:
В один TextBox вводишь различные символы с клавиатуры, а в другом выводишь те-же символы, но отсортированные по-убыванию, например.

Ну и Удачи!

t4lli
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 02.07.2004 (Пт) 14:15
Откуда: Lithuania

Сообщение t4lli » 13.11.2004 (Сб) 1:28

Я конечно извеняюсь за настойчивсть ! Впринципе все слова в масив , ! это получается что мне надо все слова прописать руками типо так
Код: Выделить всё
dim m(9) as string

m(1.0) = "Hello"
m(1.1) = "hi"
m(2.0) = "Good"
m(2.2) = "Bad"
и тд


а патом уж делать проверку и выписывать нужные слова ! А представте ситуацию , на форме 3 текстбокса "txt1 , txt2 , txt3" , первого txt1 мы делам visible = false и вставляем туда окало 100ни слов , во втаром txt2 пользователь пишет свой текст и дапустим он написал состоящий из 50ти слов текст в катором встречаются слова такие как в txt1 (и повторяются неоднократно) , затем он жмёт кнопку и наконец в третим txt3 выводится текст уже с изменёными словами , тоесть я имею виду что если из этих 50ти слов 33 слова унас акозались такие как в txt1 то прога те слова что несовпали так и перепишет в txt3 а те что совпали будет заменять вот таким спосабом
Это слова в столбик в txt1
"Hello" - это слово дапустим каторое ввёл пользователь (и оно оказалось в txt1 )
"hi" - а это слово на каторое прога заменит Hello
и тд....
"Good"
"Bad"

Я незнаю ка сделать лучше , может легче будет если слова в txt1 будут записаны так Hello hi или Hello - hi , как легче если прога нашла слово и будет заменять его словом ниже или после пробела на одной строчке а ? Пасоветуйте !

Вы только не падумайте что я только вапросы и вапросы задаю и нечего сам неделаю , нет я стораюсь въехать в поставленную мноюже задачу , но пока успехи невелеки !!! :wink: :cry: :roll:

t4lli
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 02.07.2004 (Пт) 14:15
Откуда: Lithuania

Сообщение t4lli » 14.11.2004 (Вс) 0:27

Ктонить :cry:

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 14.11.2004 (Вс) 11:26

Весь этот топик в юмор пора :)
На всякий случай напомню основной принцип успешного написания кода:

    1. Взять ручку, бумагу и написать простым текстом суть задачи
    Пример писал(а):Хочу заменять слова пользователя
    .
    2. Не отпуская ручки нарисовать схему работы программы. Как правило зрительное восприятие лучше развито.
    Очередной пример писал(а):Получить текст ---> Заменить слова ---> Показать результат
    Тут же надо разбить всю программу на куски.
    3.Той же магической ручкой пишем последовательность действий:
    Ну вы догадались писал(а):Получить текст:
    Взять строку, загрузить в массив, отфильтровать.

    Заменить слова:
    В цикле проверять каждый элемент, при нахождении менять.

    Показать результат:
    Склеить массив в строку, показать строку

    4. И только на этом этапе! Заметьте, далеко не первом, надо алгоритм перевести в код VB.


Конечно одним коротеньким постом курс программирования не передашь, но идея думаю ясна.

Кстати, если будет желание и спрос, могу оформить весь цикл ввиде статьи (хотя сам наобещался тут :oops: )
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 14.11.2004 (Вс) 11:29

t4lliА теперь попробуй последовать этим шагам и скажи где споткнулся.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

t4lli
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 02.07.2004 (Пт) 14:15
Откуда: Lithuania

Сообщение t4lli » 14.11.2004 (Вс) 15:24

Впринципе почти всё получилось :lol: , вот только есть небольшое но ! Осталось сделать чтоб прога прола по одному слову из текста1 и проверяла , тоесть у меня проверяет но толко одно первое слово из текста1 а мне надо чтоб попорядку , проверила одно слово насла (сделала опирацию) затем перешла на другое , если не носла то сразу на другое пересла и так весь текст !!!!! Это всё !! Мозна кодам ! :?: :P :cry:

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 14.11.2004 (Вс) 20:46

А тебе что кодом конкретно?
Вижу ты так и не сделал того, что я тебе посоветовал.
Осталось сделать чтоб прога прола по одному слову из текста1 и проверяла , тоесть у меня проверяет но толко одно первое слово из текста1 а мне надо чтоб попорядку , проверила одно слово насла (сделала опирацию) затем перешла на другое , если не носла то сразу на другое пересла и так весь текст


Ты себе эту операцию представляешь? Как бы ты вместо компа выполнил ее?
Взял первое. Проверил, паменил.
Взял второе. Проверил, заменил.
Взял третье. Проверил, заменил.

А теперь скажи как бы ты это делал? напиши себе программу действий, у тебя в общем то два варианта, либо писать вручную для каждой строки либо использовать цикл.
Если не умеешь использовать цикл, так и скажи, хватит людям голову морочить! :evil:
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

t4lli
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 02.07.2004 (Пт) 14:15
Откуда: Lithuania

Сообщение t4lli » 15.11.2004 (Пн) 0:28

Неумею! :oops: :oops: :oops:

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 15.11.2004 (Пн) 1:45

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

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 15.11.2004 (Пн) 12:23

FAKK2 писал(а):Машиаха?

Кто такой? :shock:

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 15.11.2004 (Пн) 17:23

Sedge писал(а):
FAKK2 писал(а):Машиаха?

Кто такой? :shock:

Машиах (иврит.) - мессия
:)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.11.2004 (Пн) 18:55

Sedge писал(а):
FAKK2 писал(а):Машиаха?

Кто такой? :shock:

Гугл рулит!!
Слово «Машиах» в переводе с иврита означает «помазанник». В древние времена быть помазанником означало быть избранным Богом на какую-то особую миссию, т.е. иметь какое-то важное предназначение в жизни. Помазанниками в древнем Израиле назывались цари и пророки, и священники, но помазанник, о котором мы говорим – это главный помазанник Израиля, как говорят по-русски Христос.

Мы предпочитаем использование древнееврейского слова “Машиах” или его русского перевода - Мессия вместо других вариантов, так как это первоначальный термин. Когда мы говорим о Мессии, мы используем его еврейское имя Йешуа, так как это Его настоящее имя, данное Ему при обрезании родителями, а Иисус это лишь перевод с греческого языка. Русский или греческий вариант этого имени не имеет никакого особого значения, а с иврита оно переводится как «Спасение Божье».
Изображение

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 16.11.2004 (Вт) 1:37

tyomitch писал(а):
Sedge писал(а):
FAKK2 писал(а):Машиаха?

Кто такой? :shock:

Гугл рулит!!

Влом...

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList  
cron