| |
|
|
Thomas Freier | Yo habe veces una Cuestión, como es el folgende Problema mejor (más rápido) a lösen: In uno Textdatei, producido de uno PDF por Adobe oder PDFtoText.exe, voluntad Worte zusammengezogen. Diese sería Me gusta otra vez trennen, si innerhalb uno Wortes Großbuchstaben auftauchen. Ist una Vorbereitung para el Sprachausgabe y lo hört se no bien a, si antes una Hauptwort kein Leerzeichen es. Mi bisherige Solución: KompilierenMarcaSeparaciónZusammengefasste 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 para Ejemplo: KompilierenMarcaSeparación KompilierenMarcaSeparación Auf el gleiche Weise kannst Usted todavía el ganzen Präpositionen y Bindewörter freistellen y Usted hast ya una halbwegs lesbaren Texto. Si usted entonces todos Möglichkeiten de ser y haben sowie algunos Basisverben (z.B. hacer) erledigst... Achja, el Artikel todavía! Mit el richtigen Match$-Befehle va el alles en uno Bucle. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 21.11.2007 ▲ |
|
|
|
|
Thomas Freier | @ Jörg, DANKE, sieht kurz y bien de. |
|
|
| |
|
|
|
Jörg Sellmeyer | Thomas Freier
@ Jörg, DANKE, sieht kurz y bien de.
Lo es kurz y bien |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 21.11.2007 ▲ |
|
|
|
|
Jörg Sellmeyer | Hola Tomás, Yo antworte veces hier, entonces haben todos qué su: Trennstriche al Zeilenende dejar se ligeramente con Translate$(Texto$,- ,) herausfiltern. Usted puede Su Texto incluso igual en Absätze zerlegen: KompilierenMarcaSeparaciónText$ = 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
Jetzt hast Usted en el Principio absatzformatierten Fließtext. Den kannst Usted ahora el Vorleseprogramm transferencia, oder, si Su Frau gerne selber lesen möchte, en beliebiger Schriftgröße en un Multiedit unterbringen. Mit eingestelltem automatischem Zeilenumbruch (negativer Valor para Höhe) debería el entonces problemlos lesbar ser. In una RTF-Control kannst Usted lo incluso todavía cualquier formatieren. Saludo Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 22.11.2007 ▲ |
|
|
|
|
| Hm, wäre imho algo performant como sin regexp y sin schleifen auch con KompilierenMarcaSeparaciónvar 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 más rápido es, käme en una Intento a. Mi erste Bucle se en efecto sólo máximo 3veces durchlaufen. Wenn z.B kein ? en el Texto disponible es, incluso sólo 2veces. El zweite Bucle puede ser se sowieso schenken. War una Denkfehler meinerseits. KompilierenMarcaSeparación reicht sí ya. Womit Yo entonces en fünf Zeilen bin y evtl. weniger Durchläufen. Außerdem finde Yo esta RegEx-Sachen irgendwie fresco |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 23.11.2007 ▲ |
|
|
|
|
| ok, testen! Steilvorlage para una TestSkelett: [...] (simplemente en el perfproc el eintragen qué a testen es)
Wäre doch echt interessant...
Aber el Coolnessfaktor es tatsächlich unübersehbar. |
|
|
| |
|
|
|
Thomas Freier | Toll!!! Ihr seid más rápido como el Schall. Vorhin war hier Stille y yo habe mich en el Búsqueda después de Software gemacht. Werde el Tips morgen ausprobieren. Jörg du hast bastante, lo son Problemas, el viele interés könnten. |
|
|
| |
|
|
|
Thomas Freier | So, Yo mußte lo todavía ausprobieren. Entweder mach Soy un Fehler, oder mi Solución ha el wenigsten. Anstoß el Aktion: el Intento, Un Zeitungsseite como PDF erhältlich, se vorlesen que se. El todo Página es kein Problema, dass kann Adobe auch. Aber möchte Yo sólo una Artikel lesen oder todavía una vez vorlesen dejar, así va el no. Und wer möchte ya todos Mostrar hören! In el Anwendung puede Programa sólo en Tasten gesteuert voluntad a a Scannen, aber soweit bin Todavía no. Zum Einsatz kommt una alter Laptop con 800*600 Auflösung. Im Anhang auch una de Adobe erzeugte Textdatei (LN-Adobe.txt). Wobei Adobe una fehlende Struktur, en Zeitung wußten el nada qué darunter a verstehen es, bemängelt y luego zeilenweise encima mehrere Blöcke el Texto producido. Grrrrr! |
|
|
| |
|
|