vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Re: Workshop - fehlt da was? 
Autor: ModeratorDieter (Moderator)
Datum: 05.02.04 08:55

Hallo OGGI,

platziere eine zusätzliche Schaltfläche in die "frmCheck" und benenne sie cmdAbort. Beim Klick auf den Button setzt Du die cmdAbort.Tag-Eigenschaft auf "stop". Die Prozedur "Check" ergänzt Du wie folgt:
Private Sub Check()
  Dim StartPos As Long
  Dim arrWords() As String, Text As String
  Dim WrongWord As String
  Dim SearchWrong As Long
  Dim RetValChange As Long, RetValIgnore As Long
 
  StartPos = 1
 
  Text = Replace(Original.Text, vbCrLf, " ")
  Text = Replace(Text, vbLf, " ")
  Text = Replace(Text, vbCr, " ")
  arrWords = Split(Text, " ")
 
  With ProgBar
    .Min = 0
    .Max = UBound(arrWords) + 1
  End With
 
  ' Sicherstellen, dass das Wort im RTF-Text
  ' hervorgehoben wird
  Original.HideSelection = False
 
  cmdAbort.Tag = ""
  For SearchWrong = 0 To UBound(arrWords)
    If arrWords(SearchWrong) <> "" And SpellCheck(arrWords(SearchWrong)) = _
      False Then
 
      WrongWord = GetTrueWord(arrWords(SearchWrong))
 
      StartPos = InStr(StartPos, Original.Text, WrongWord)
 
      With Original
        .SelStart = StartPos - 1
        .SelLength = Len(WrongWord)
      End With
 
      ' Startposition für Suche nach nächstem falschen Wort setzen
      StartPos = StartPos + Len(WrongWord)
 
      RetValChange = GetAlways(WrongWord)
      If RetValChange = -1 Then RetValIgnore = GetIgnore(WrongWord)
 
      If RetValChange > -1 Then
        ' wenn "Alle ändern"
        Original.SelRTF = arrAlwaysChange(1, RetValChange)
        txtNewWord.Tag = "weiter"
      ElseIf RetValIgnore > -1 Then
        ' nichts tun, außer:
        txtNewWord.Tag = "weiter"
      Else
        ' Felder zurücksetzen
        txtWrongWord.Text = ""
        lstSuggestions.Clear
        txtNewWord.Text = ""
 
        ' sonst Verbesserungsvorschläge holen
        Call GetSuggestions(WrongWord)
      End If
 
      Do
        DoEvents
      Loop Until txtNewWord.Tag = "weiter" Or cmdAbort.Tag = "stop"
    End If
    If cmdAbort.Tag = "stop" Then Exit For
 
    ' Textbox für nächste Suche zurücksetzen
    txtNewWord.Tag = ""
 
    ProgBar.Value = SearchWrong + 1
 
    lblProgress.Caption = _
      Format(ProgBar.Value / ProgBar.Max * 100, "##") & " %"
    DoEvents
  Next SearchWrong
  cmdReady.Enabled = True
 
  If cmdAbort.Tag = "stop" Then cmdReady.Value = True
End Sub
Form_Load muss wie folgt geändert werden:
Private Sub Form_Load()
  ' Word öffnen und Dokument erzeugen
  Set wd = CreateObject("Word.Application")
  wd.Documents.Add
 
  ' Verweis auf RichTextBox in frmMain setzen
  Set Original = frmMain.rtfStory
 
  ' Array für "Alle ändern" und "Alle ignorieren" initialisieren
  ReDim arrAlwaysChange(1, 0)
  ReDim arrAlwaysIgnore(0)
 
  lblProgress.Caption = "0%"
  cmdReady.Enabled = False
End Sub
Der Aufruf der Check-Prozedur erfolgt jetzt im Form_Activate-Ereignis:
Private Sub Form_Activate()
  Static bWorking As Boolean
 
  ' Rechtschreibprüfung starten
  If Not bWorking Then
    bWorking = True
    Call Check
  End If
End Sub
Und klickt der User auf den neuen Abbrechen-Button...
Private Sub cmdAbort_Click()
  ' Abbrechen
  cmdAbort.Tag = "stop"
End Sub

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Workshop - fehlt da was?1.384Master03.02.04 08:24
Re: Workshop - fehlt da was?770Wolfgang03.02.04 08:33
Re: Workshop - fehlt da was?806ModeratorDieter03.02.04 08:47
Re: Workshop - fehlt da was?975OGGI04.02.04 20:39
Re: Workshop - fehlt da was?941ModeratorDieter05.02.04 08:55
Re: Workshop - fehlt da was?776OGGI05.02.04 18:32
Re: Workshop - fehlt da was?747OGGI05.02.04 21:20
Re: Workshop - fehlt da was?726Patchworker05.06.04 02:08
Re: Workshop - fehlt da was?741ModeratorDieter05.06.04 08:24
Re: Workshop - fehlt da was?733Patchworker05.06.04 16:08
Re: Workshop - fehlt da was?745ModeratorDieter06.06.04 09:16
Re: Workshop - fehlt da was?692Patchworker05.06.04 16:21
Re: Workshop - fehlt da was?707Patchworker23.06.04 02:39

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel