Suche Hilfe für Programmierung!

Dieses Thema Suche Hilfe für Programmierung! im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Wolf_R._Voigt, 8. Okt. 2004.

Thema: Suche Hilfe für Programmierung! Hi, ich brauche Hilfe um ein Projekt für die Konvertierung von Word-Dateien (DOC/RTF) zu verwirklichen. Es sollte...

  1. Hi,

    ich brauche Hilfe um ein Projekt für die Konvertierung von Word-Dateien (DOC/RTF) zu verwirklichen.
    Es sollte ein Programm entstehen, welches zu Beginn erstmal einfache suche/ersetze-Funktionen enthält und in der Weiterentwicklung diese Funktionen um Platzhalter erweitert (Joker, variable numerische und alphanumerische Zeichen, Zeichenketten von-bis in beliebiger Menge usw.).

    Mit freundlichen Grüßen, Wolf Voigt
     
  2. Das sind doch ziemlich spärliche Infos...
     
  3. Hi, die Antwort ist auch nicht informativer.

    Wenn Du mehr Infos brauchst, solltest Du sagen worüber.
    Dass man so ein Project nicht aus dem Ärmel schüttelt, ist mir schon klar.

    MfG, Wolf Voigt
     
  4. Hallo und guten Tag,

    ich werde mal versuchen, dass etwas umfassender zu beschreiben:

    Es geht um MS Word.RTF-Dateien (nicht DOC's!), und da benörige ich ein Programm, welches eine umfassende Suche/Ersetze-Funktion beinhaltet, evtl. in folgender Form:

    Definition der Joker = J/Platzhalter - numerisch, ASCII, Ziffern 1-9:

    ? = HEX48 - 57
    J =? - ? --> ? -- ? (suche x-beliebige Ziffer --> übernehme die Ziffern umd ersetze mit folgendem String --> Ziffer/Wortzischenraum/Doppel-Divis/Wortzwischenraum/Ziffer)

    Das Ganze sollte dann auch mit mehreren Ziffern funktiionieren:

    ? = HEX48 - 57
    J = ??-?? --> ?? -- ??

    usw.

    Ich möchte diese String-Konvertierung gern als Plugin in Word einfügen oder als *.exe separat laufen lassen können.

    Ich bin also kein Programmierer und habe nicht die geringste Ahnung davon, währe aber daran interessiert, mich einzuarbeiten. Die Frage wäre primär für mich, welche Programmiersprache passt da am besten? Ich denke Visual Basic oder C++?

    Vielleicht kann jemand anhand des Beispiel oben schon sagen das geht am besten in der und er Programiersprache.

    Vielen Dank für Euer Interesse, Wolf Voigt
     
  5. Hi

    Das sollte am einfachsten über ein VBA Makro in Word funktionieren. Nur die Stringersetzung dürfte da nicht ganz so einfach wie z.B. ein Perl gehen.

    Gruß, Michael
     
  6. Hi zusammen,

    ich hab das Gewünschte mal zur Anschauung in einen Word-Makro gegossen.

    Gruß Matjes :)

    Code:
    Option Explicit
    Sub Test_NumBlancDivisBlancNum_To_NumBlancDoppelDivisBlancNum()
     ->Sucht-> --> über das ganze aktive Dokument:
     ->Wenn vor und nach der Fundstelle jeweils eine Zahl 0-9 steht,
     ->wird der einfache Bindestrich durch einen Doppelten ersetzt
      Const c_Suche =  - 
      Const c_Ersetze =  -- 
      Const c_offset = 1-> mindestens eine Zahl vor Suchstring notwendig
    
      Dim pos1 As Long, i_asc As Integer, b_ersetzt As Boolean
      Dim p As Paragraph, s_tmp As String
    
    'Bildschirm-Update abschalten
    Application.ScreenUpdating = False
    
    For Each p In ActiveDocument.Paragraphs
     ->Text des Absatzes
      s_tmp = p.Range.Text
     ->Kennung, das etwas ersetzt wurde
      b_ersetzt = False
     ->erste Suchposition setzen
      pos1 = 1 + c_offset
     ->Solange Suchbegriff gefunden wurde
      Do While pos1 <> 0
       ->im Text suchen
        pos1 = InStr(pos1, s_tmp, c_Suche)
       ->wurde etwas gefunden ?
        If pos1 <> 0 Then
         ->Zeichen links von Fundstelle auf 0-9 untersuchen
          i_asc = Asc(Mid(s_tmp, pos1 - 1, 1))
          If i_asc >= 48 And i_asc <= 57 Then
           ->Zeichen rechs von Fundstelle auf 0-9 untersuchen
            i_asc = Asc(Mid(s_tmp, pos1 + Len(c_Suche), 1))
            If i_asc >= 48 And i_asc <= 57 Then
             ->Text ersetzen
              s_tmp = Left(s_tmp, pos1 - 1) & c_Ersetze & _
                      Right(s_tmp, Len(s_tmp) - pos1 - Len(c_Suche) + 1)
             ->Kennung, das etwas ersetzt wurde, setzen
              b_ersetzt = True
             ->nächste Suchposition hinter den ersetzen Text setzen
              pos1 = pos1 + Len(c_Ersetze)
            Else
             ->nächste Suchposition hinter die Fundstelle setzen
              pos1 = pos1 + Len(c_Suche)
            End If
          Else
           ->nächste Suchposition hinter die Fundstelle setzen
            pos1 = pos1 + Len(c_Suche)
          End If
        End If
      Loop
     ->wenn etwas ersetzt wurde, Text zurückschreiben
      If b_ersetzt = True Then p.Range.Text = s_tmp
    Next
    'Bildschirm-Update anschalten
    Application.ScreenUpdating = True
    End Sub
     
  7. Bei der Konvertierung von RTF-Datei in ein anderes Format, könnten Ihnen vielleicht noch andere Hilfsmittel gute Dienste leisten. Wenn zum Beispiel Programmiersprachen in Assembler übersetzt werden, wird zuerst ein Lexer und Parser eingesetzt, um die Struktur des Programmes zu erfassen, erst dann wird der Assemblercode erzeugt. Ich denke, dass ein Lexer und Parser auch bei Ihrem Problem gute Dienste leisten könnte. In Java gibt es eine gute Möglichkeit Lexer und Parser zu generieren. Folgende Links könnten Ihnen dabei weiterhelfen:

    1. JLex (für die Erzeugung eines Lexers): http://www.cs.princeton.edu/~appel/modern/java/JLex/
    2. CUP (für die Erzeugung eines Parsers): http://www.cs.princeton.edu/~appel/modern/java/CUP/
     
Die Seite wird geladen...

Suche Hilfe für Programmierung! - Ähnliche Themen

Forum Datum
Windows 7 auf kleinere SSD klonen - 3 gescheiterte Versuche, Hilfe! Windows 7 Forum 7. Dez. 2013
Windows 7 findet einige Prorogramme in der Suche nicht mehr! HILFE! Windows XP Forum 13. Aug. 2012
Suche Hilfe um Trojaner zu finden Viren, Trojaner, Spyware etc. 9. Jan. 2011
Suche Kategorien Hilfe Windows XP Forum 17. Aug. 2010
Hilfe: Suche SBS2003 Server Trail DE Windows XP Forum 20. Juli 2010