Помогите новичку разобраться с кодом... Пожалуйста..

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Помогите новичку разобраться с кодом... Пожалуйста..

Сообщение Александр80 » 09.11.2004 (Вт) 23:03

Есть некая программа которая проверяет орфографию подключаясь к WORDu. Сейчас решил переписать код под VB.NET и возникла проблема. Помогите разобраться....
На VB6 было так:

For iWord = 1 To SpellCollection.Count
SuggestionsForm!List1.AddItem SpellCollection.Item(iWord)
If SuggestionsForm!List1.List(SuggestionsForm!List1.NewIndex) = SuggestionsForm!List1.List(SuggestionsForm!List1.NewIndex + 1) Then
SuggestionsForm!List1.RemoveItem SuggestionsForm!List1.NewIndex
End If

А как это будет выглядеть на VB.NET ?
Стандартное преобразование проекта на VB.NET не помогает, объясните в чем причина? Пожалуйста... :D

**********************************************************
"На вопрос в лоб может последовать ответ ниже пояса" :(

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 10.11.2004 (Ср) 10:31

как всё запущено.....

-знак ! забудь ( если честно, он мне ещё 6 лет назад не нравился, криво както)

-как это работало?!?!?
SuggestionsForm!List1.List(SuggestionsForm!List1.NewIndex + 1) чистый Overflow!

- чё получилось то?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Александр80
Bonach&#243;n
Bonach&#243;n
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 10.11.2004 (Ср) 23:14

Sebas все работает, код писал ни я, я его брал с диска к учебнику "VISUAL BASIC 6. Руководство разработчика" 2000 год. (Евангелос Петрусос).

Dim DRange As Range
Me.Caption = "starting word ..."
On Error Resume Next
Set AppWord = GetObject(, "Word.Application")
If AppWord Is Nothing Then
Set AppWord = CreateObject("Word.Application")
If AppWord Is Nothing Then
MsgBox "Could not start Word. Application will end"
End
Else
NewInstance = True
End If
Else
NewInstance = False
End If
On Error GoTo ErrorHandler
AppWord.Documents.Add
Me.Caption = "checking words..."
Set DRange = AppWord.ActiveDocument.Range
DRange.InsertAfter Text1.Text
Set SpellCollection = DRange.SpellingErrors
If SpellCollection.Count > 0 Then
SuggestionsForm.List1.Clear
SuggestionsForm.List2.Clear
For iWord = 1 To SpellCollection.Count
SuggestionsForm!List1.AddItem SpellCollection.Item(iWord)
If SuggestionsForm!List1.List(SuggestionsForm!List1.NewIndex) = SuggestionsForm!List1.List(SuggestionsForm!List1.NewIndex + 1) Then
SuggestionsForm!List1.RemoveItem SuggestionsForm!List1.NewIndex
End If
Next
End If
Me.Caption = "Word VBA Example"
SuggestionsForm.Show
Exit Sub

ErrorHandler:
MsgBox "The following error occured during the document's spelling" & vbCrLf & Err.Description

Это только часть, кода... Но именно в этой части VB.NET не может его преобразовать... (Я только учусь, не судите строго...)

Александр80
Bonach&#243;n
Bonach&#243;n
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 10.11.2004 (Ср) 23:16

"На вопрос в лоб может последовать ответ ниже пояса" :-(

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 11.11.2004 (Чт) 9:41

Возможно

Dim DRange As Word.Range
Dim AppWord As Word.Application
Dim frm As SuggestionsForm
Dim SpellCollection As Word.ProofreadingErrors
Dim iWord As Integer


Try

Me.Text = "starting word ..."

AppWord = New Word.Application 'GetObject( , "Word.Application")
If AppWord Is Nothing Then
AppWord = New Word.Application 'GetObject( , "Word.Application")
If AppWord Is Nothing Then
MsgBox("Could not start Word. Application will end")
End
Else
NewInstance = True
End If
Else
NewInstance = False
End If


AppWord.Documents.Add()
Me.Text = "checking words..."

DRange = AppWord.ActiveDocument.Range
DRange.InsertAfter(Me.Text1.Text)
SpellCollection = DRange.SpellingErrors

frm = New SuggestionsForm

If SpellCollection.Count > 0 Then
frm.List1.Clear()
frm.List2.Clear()
For iWord = 1 To SpellCollection.Count

'SpellCollection.Item(iWord ) - это не строка!
frm.List1.items.Add(SpellCollection.Item(iWord))

'тут логику я не понимаю
If frm.List1.items(frm.List1.Items.Count - 1) = frm.List1.items(frm.List1.Items.Count) Then
frm.List1.items.RemoveAt(frm.List1.Items.Count - 1)
End If
Next
End If

Me.Text = "Word VBA Example"

frm.Show() 'frm.Showmodal(me) возможно!


Catch ex As Exception
MsgBox("The following error occured during the document's spelling" & vbCrLf & Err.Description)
Finally
'возможно!
'If frm IsNot Nothing Then
' frm.dispose()
' frm = Nothing
'End If
End Try
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic .NET

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

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

    TopList  
cron