| |
|
|
Thomas Freier | j'ai la fois une Frage, comment ist cela folgende Problem besser (plus rapide) trop lösen: dans einer Textdatei, erzeugt de einer PDF par Adobe ou bien PDFtoText.exe, volonté Worte zusammengezogen. cet serait je volontiers wieder trennen, si dedans eines Wortes Großbuchstaben auftauchen. Ist une Vorbereitung pour qui Sprachausgabe et es hört sich pas bien à, si avant einem Hauptwort ne...aucune Leerzeichen ist. mon bisherige Solution: KompilierenMarqueSéparationZusammengefasste Wörter bei einem Großbuchstaben trennen
Dim$ 500
declare this$, insideThis$, Nr_B%, Nr_B1%, Such$ , Such%, Edit$, N_Strg%, Ende%
Proc isOneInside von Michael Wodrich
Syntax: isOneInsice( this$, insideThis$ )
Ist eines der Zeichen in this auch in insideThis enthalten?
this wird als eine Aufzaehlung von einzelnen Zeichen betrachtet.
Parameters this$, insideThis$
Declare Ok%
WhileLoop Len(this$)
If InStr(Mid$(this$, &loop, 1), insideThis$)
If &Loop>Nr_B1%
Ok% = 1
Nr_B% = &Loop
BREAK
EndIf
EndIf
EndWhile
Return Ok%
EndProc
cls
Edit$=WastutLübeckaufdemReisemarktHeute ohneTourismusmanager
Print Edit$
insideThis$=ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ
..............Alle Worte trennen und speichern
WhileLoop 50
List$ &Loop = Substr$(Edit$,&Loop, )
IF List$(&Loop) =
N_Strg%= &Loop-1
Break
EndIf
EndWhile
.............ist innerhalb eines Wortes ein Großbuchstabe?
WhileLoop n_Strg%
Such$= List$(&Loop)
print such$
this$= right$(Such$,len(Such$)-1)
Nr_B1% = 0
..........................suchen ab Wortanfang ohne 1. Buchstaben
WhileLoop 10
if isOneInside( this$, insideThis$ )
Such$= Ins$( ,Such$,(Nr_B% + 1)) gefunden und Leerzeichen vor Großbuchstaben
Nr_B1% = Nr_B% + 1 einsetzen
this$= right$(Such$,len(Such$)-1)
Else
Break
endif
Wend
print such$
Print
List$ &Loop = Such$
EndWhile
Print
.............String neu zusammen setzen
Edit$ =
WhileLoop n_Strg%
Edit$ = Edit$ + List$(&Loop)+
EndWhile
WaitKey
|
|
|
| |
|
|
|
Jörg Sellmeyer | So zum Beispiel: KompilierenMarqueSéparation KompilierenMarqueSéparation sur qui gleiche Weise peux Du encore qui ganzen Präpositionen et Bindewörter freistellen et tu as déjà une halbwegs lesbaren Text. si Du ensuite encore alle Opportunités de son et avons sowie quelques Basisverben (z.B. faire) erledigst... Achja, qui Artikel encore! avec dem richtigen Match$-Befehle allez cela alles dans einer Boucle. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 21.11.2007 ▲ |
|
|
|
|
Thomas Freier | @ Jörg, DANKE, sieht kurz et bien aus. |
|
|
| |
|
|
|
Jörg Sellmeyer | Thomas Freier
@ Jörg, DANKE, sieht kurz et bien aus.
Es ist kurz et bien |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 21.11.2007 ▲ |
|
|
|
|
Jörg Sellmeyer | allô Thomas, je antworte la fois ici, ensuite avons alle quoi en: Trennstriche am Zeilenende laisser sich léger avec Translate$(Text$,- ,) herausfiltern. tu peux Deinen Text sogar juste dans Absätze décomposer: KompilierenMarqueSéparationText$ = Hier_die_Funktion_die_den_Text_aus_PDF_liest()
Text$ = Translate$(Text$,-
,) Trennstriche erschlagen
While Match$([!~?~.]
,Text$) >
Text$ = Translate$(Text$,$Match,Left$($Match,1) + |) alle Zeilenumbrüche mit Satzendezeichen zum Sichern umwandeln
Wend
Text$ = Translate$(Text$,
,)alle Zeilenumbrüche raus
While Match$([!~?~.]~|,Text$) >
Text$ = Translate$(Text$,$Match,Left$($Match,1) +
) Zeilenumbrüche zurückschreiben
Wend
maintenant la hâte Du im Prinzip absatzformatierten Fließtext. Den peux Du maintenant dem Vorleseprogramm transfert, ou bien, si Votre madame volontiers selber lesen voudrais, dans beliebiger Schriftgröße dans einem Multiedit unterbringen. avec eingestelltem automatischem Zeilenumbruch (negativer Wert pour Hauteur) sollte cela ensuite problemlos lesbar son. dans einem RTF-Contrôle peux Du es sogar encore beliebig formatieren. Salut Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 22.11.2007 ▲ |
|
|
|
|
| Hm, wäre imho quelque chose performant là sans regexp et sans schleifen aussi avec KompilierenMarqueSéparationvar in$=Hier_die_Funktion_die_den_Text_aus_PDF_liest()
in$=translate$(in$,-
,)
in$=translate$(in$,|,chr$(1))
in$=translate$(in$,!
,!|)
in$=translate$(in$,?
,?|)
in$=translate$(in$,.
,.|)
in$=translate$(in$,
,)
in$=translate$(in$,|,
) ich würde hier wahrscheinlich der Optik halber sogar
angeben, unwichtig...
in$=translate$(in$,chr$(1),|)
| 23.11.2007 ▲ | |
|
|
|
|
Jörg Sellmeyer | Obs plus rapide ist, käme sur une Versuch à. mon erste Boucle wird oui aussi seulement maximum 3fois par. si z.B ne...aucune ? im Text vorhanden ist, sogar seulement 2la fois. qui zweite Boucle peux on sich sowieso schenken. était un Denkfehler meinerseits. KompilierenMarqueSéparation reicht oui déjà. Womit je ensuite chez cinq Zeilen suis et peut-être. moins Durchläufen. Aussi finde je cet RegEx-Sachen irgendwie cool |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 23.11.2007 ▲ |
|
|
|
|
| ok, testen! Steilvorlage pour un TestSkelett: [...] (simple dans qui perfproc cela eintragen quoi trop testen ist)
Wäre doch vraie intéressant...
mais qui Coolnessfaktor ist réellement unübersehbar. |
|
|
| |
|
|
|
Thomas Freier | Toll!!! vous êtes plus rapide comme qui Schall. Vorhin était ici Stille et j'ai mich sur qui cherche pour Software gemacht. Werde qui Tips demain ausprobieren. Jörg tu as droite, il y a Probleme, qui viele intéresser könnten. |
|
|
| |
|
|
|
Thomas Freier | So, je mußte es doch encore ausprobieren. Entweder mach je une faute, ou bien mon Solution hat qui wenigsten. Anstoß qui Aktion: qui Versuch, une Zeitungsseite comme PDF disponible, sich vorlesen trop laisser. qui ganze page ist ne...aucune Problem, dass peux Adobe aussi. mais voudrais je seulement une Artikel lesen ou bien encore einmal vorlesen laisser, so allez cela pas. et qui voudrais déjà alle Montrer écouter! dans qui Anwendung peux cela Programme seulement sur qui Tasten gesteuert volonté jusque Scannen, mais soweit suis je encore pas. Zum Einsatz venez un alter Laptop avec 800*600 Auflösung. Im Anhang aussi une de Adobe erzeugte Textdatei (LN-Adobe.txt). Wobei Adobe une fehlende Struktur, chez qui gazette wußten qui gar pas quoi au-dessous trop comprendre ist, bemängelt et ensuite zeilenweise sur plusieurs Blöcke den Text erzeugt. Grrrrr! |
|
|
| |
|
|