Baanboard.com

Baanboard.com (http://www.baanboard.com/baanboard/index.php)
-   Deutsches Forum (http://www.baanboard.com/baanboard/forumdisplay.php?f=65)
-   -   TEXT.TO.BUF mit Zeilenumbruch (http://www.baanboard.com/baanboard/showthread.php?t=69900)

MS-Tech 29th March 2017 14:37

TEXT.TO.BUF mit Zeilenumbruch
 
Hallo Zusammen,

ich verwende die Funktion TEXT.TO.BUF, um einen Text in den Buffer lesen zu können. Dies wiederrum verwende ich in HiDOX, um Texte nebeneinander zu positionieren. Jetzt habe ich nur das Problem, dass ich Zeilenumbrüche einfügen muss, wenn eine Zeile länger als 40 Zeichen ist.

Wie kann ich das bewerkstelligen? Kann ich irgendwie den Buffer nachträglich durchlaufen und die Zeilen überprüfen, umbrechen etc?

Grüße
MS-Tech

andreas.toepper 31st March 2017 10:34

Ich hab das zwar noch nie gemacht, aber im Prinzip speichert Text.to.buf(..) den Text aus der Datenbank in einem String-Array. Nunja, ein String-Array ist ein String-Array und nur in Sonderfallen ein String-Array. ;-)
Also müsste man den doch ganz normal nutzen, einzelne Elemente bearbeiten, verschieben und neu sortieren können. Ich hab zumindest schon Texte erzeugt, indem ich die Textzeilen in eine Textdatei geschrieben habe. Dann wurde per text.write() diese Datei als Text in LN gespeichert.
Nun könnte man ja den Array-Inhalt nehmen, den entsprechend formatiert in die Textdatei schreiben und dass dann speichern.

Hier ein Beispiel, das ich damals verwendet habe:
Code:

function void set.txta()
|Hier wird der Text aufgebaut:
|Create the text:
{
        long        tf        |Text-File
        domain        tcmcs.str132m        text.file
        domain        tcmcs.str132m        text.line
        long        err, i
       
        |Text in temp. Datei speichern:
        |Save text in temp. file:
        text.file = creat.tmp.file$( bse.tmp.dir$() )
       
        |Open file for writing:
        tf = seq.open(text.file, "w")
       
        if not(isspace(text.a)) then
                err = seq.puts("Bemerkung:", tf)
                err = seq.puts(shiftl$(text.a), tf)
        endif
        if not(isspace(text.b)) then
                if not(isspace(text.a)) then
                        err = seq.puts(" ", tf)
                endif
                err = seq.puts("AT-Bemerkung:", tf)
                err = seq.puts(shiftl$(text.b), tf)
        endif
       
        if not(isspace(text.c)) then
                err = seq.puts(" ", tf)
                err = seq.puts("Anlagentyp::", tf)
                err = seq.puts(shiftl$(text.c), tf)
        endif
       
        if not(isspace(text.d)) then
                err = seq.puts(" ", tf)
                err = seq.puts(shiftl$(text.d), tf)
        endif
       
        if not(isspace(text.e)) then
                err = seq.puts(" ", tf)
                err = seq.puts(shiftl$(text.e), tf)
        endif
       
        |File schließen:
        |Close file:
        err = seq.close(tf)
       
        |File in Text speichern:
        |Store temp file in LN text:
        if do.update = tcyesno.yes then
                err = text.write("tscfg200.txta", language$, "Wartungsstückliste", tscfg210.item, tscfg210.sern, "", "text", "text", text.file)
        endif

        |Temp. datei auf server löschen:
        |Remove temp. file from server directory:
        file.rm(text.file)
}


MS-Tech 21st April 2017 17:07

Hi,

ich habs natürlich umgestellt, aber ich habe die richtigen Denkanstöße bekommen.

Funktionert also.

Grüße
MS-Tech


All times are GMT +2. The time now is 19:25.


vB.Sponsors
©2001-2017 - Baanboard.com - Baanforums.com