Text Edit Control - Text "formatieren"

Getting started ... Alles für einen gelungenen Start.
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Text Edit Control - Text "formatieren"

Beitrag von Zubasa (ForumUser / 72 / 10 / 1 ) »
Hi @all,

Ich habe ein dringendes Problem, hoffe mir kann jemand helfen. :| :|

Auf einem Dynpro habe ich ein Text-Edit-Control und der Inhalt sind ungefähr so aus:
Beispiel:
Land = Italien.
Berufsfeld = Irgendetwas.
Name = Lukas.
Honig = asdf.

Ich möchte aber gerne das die "=" Zeichen alle exakt untereinander sind:

In meinem Quellcode mache ich folgendes:

Code: Alles auswählen.

      LOOP AT itab INTO wa.

        IF i_char_number < numofchar( wa-attr_name ).
          i_char_number = numofchar( wa-attr_name ).
        ENDIF.

      ENDLOOP.


      LOOP AT itab INTO wa.
        lv_attr_name  = wa-attr_name  .
        lv_attr_value = wa-attr_value .

  
        DATA: nome                   TYPE c LENGTH 50,
                  lv_individual_num TYPE i.

        lv_individual_num = i_char_number - numofchar( lv_attr_name ).



        CONCATENATE lv_attr_name nome+lv_individual_num '= '   lv_attr_value INTO text_line  RESPECTING BLANKS.
        INSERT text_line INTO TABLE it_text.

      ENDLOOP.
Ich dachte eigentlich das der Quellcode funktionieren müsste, aber schon in der internen Tabelle sieht das ganze nicht so aus wie es soll.

Weis jemand weiter?

Grüße,
Zubasa

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Text Edit Control - Text "formatieren"

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
respecting blanks sagt mir nix, deswegen auf die alte art und weise:

Code: Alles auswählen.

*        CONCATENATE lv_attr_name nome+lv_individual_num '= '   lv_attr_value INTO text_line  RESPECTING BLANKS.
text_line = lv_attr_name nome.
text_line+lv_individual_num = '='.
concatenate text_line lv_attr_value INTO text_line separated by space.
Rata

Re: Text Edit Control - Text "formatieren"

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
hi!

@Ratazong Respecting Blanks ist seit Basis 6.0 oder 7.0 dabei und soll bei Strings dafür sorgen, dass die Lerrzeichen am Ende beim Concatenate nicht weggelöscht werden. Deswegen funktioniert deine Lösung auch nicht, weil die Leerzeichen von text_line am Ende ignoriert werden :|

@Zubasa
Am Besten du nimmst für die Ausgabe einen String.
Hab dein Coding auch gleich ein wenig optimiert 8)

Code: Alles auswählen.

data:
  l_strlen type i,
  l_length type i,
  l_string TYPE string,
  l_string_tab type stringtab.

field-symbols:
  <l_string> type string,
  <l_wa> like line of itab.

clear l_length.

LOOP AT itab assigning <l_wa> .
  l_strlen = strlen( <l_wa>-attr_name ).
  IF l_strlen GT l_length.
    l_length = l_strlen.
  ENDIF.
ENDLOOP.

loop at itab assigning <l_wa>.
  append INITIAL line to l_string_tab assigning <l_string>.

  concatenate '=' <l_wa>-attr_value INTO <l_string> separated by space.
  shift <l_string> by l_length PLACES right.
  overlay <l_string> with <l_string>-attr_name.
ENDLOOP.

concatenate lines of l_string_tab into l_string separated by cl_abap_charutilities=>cr_lf.
Und den l_string kannst du dann mittels SET_TEXTSTREAM ans Textedit-Control übergeben.

cl_abap_charutilities=>cr_lf ist eine Konstante für Carriage Return / Line Feed, dem Windows Zeilenumbruch.
Für andere System musst du halt eine entsprechende Anpassung machen:
cl_abap_charutilities=>cr_lf(1) für MacOS bis 9
cl_abap_charutilities=>cr_lf+1 für Unix/Linux und MacOS ab X

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Zubasa

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Text Edit Control - Text "formatieren"

Beitrag von Zubasa (ForumUser / 72 / 10 / 1 ) »
Hallo,

@ADT: Vielen Dank dein Code hat mich auf jeden Fall schon mal weiter gebracht!

Der String sieht perfekt aus und ist genau dass was ich haben wollte.
Das Problem ist nur wenn ich den perfekt formatierten String übergeben, werden die = Zeichen im Text-Edit-Control trotzdem nicht untereinander angezeigt :cry: :cry: :cry: :cry: :cry:

Kann es sein dass das irgentsoeine Eigenschaft vom Text-Edit-Control ist, und dass das gar nicht möglich ist????

Bitte helft mir,
Zubasa

PS: Bei ADT sein Coding ist ein kleiner Fehler drinne:
Nicht --> overlay <l_string> with <l_string>-attr_name.
Sondern --> overlay <l_string> with <l_wa>-attr_name. :wink:

Re: Text Edit Control - Text "formatieren"

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Hi Zubasa,

wahrscheinlich hast du noch die Defaulteinstellungen des Controls aktiv und somit Proportionalschrift. Solange du das Control nicht auf Äquidistanzschrift umgestellt wird das eh nix werden

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Zubasa

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Text Edit Control - Text "formatieren"

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Zubasa hat geschrieben: PS: Bei ADT sein Coding ist ein kleiner Fehler drinne:
Nicht --> overlay <l_string> with <l_string>-attr_name.
Sondern --> overlay <l_string> with <l_wa>-attr_name. :wink:
:shock:
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Text Edit Control - Text "formatieren"

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
a-dead-trousers hat geschrieben:hi!

@Ratazong Respecting Blanks ist seit Basis 6.0 oder 7.0 dabei und soll bei Strings dafür sorgen, dass die Lerrzeichen am Ende beim Concatenate nicht weggelöscht werden. Deswegen funktioniert deine Lösung auch nicht, weil die Leerzeichen von text_line am Ende ignoriert werden :|

lg ADT
Bei mir stehen aber am Ende keine Leerzeichen, sondern ein '=' ;-)

Re: Text Edit Control - Text "formatieren"

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Ratazong hat geschrieben:
a-dead-trousers hat geschrieben:hi!

@Ratazong Respecting Blanks ist seit Basis 6.0 oder 7.0 dabei und soll bei Strings dafür sorgen, dass die Lerrzeichen am Ende beim Concatenate nicht weggelöscht werden. Deswegen funktioniert deine Lösung auch nicht, weil die Leerzeichen von text_line am Ende ignoriert werden :|

lg ADT
Bei mir stehen aber am Ende keine Leerzeichen, sondern ein '=' ;-)
Ach so, ja stimmt :oops:
Hab die Offset-Zuweisung "überlesen", denn seit bei uns "respekting blanks" möglich ist, verwende ich das kaum mehr.
Auch weil ich für solche Formatierungsaufgaben immer Strings verwende sind offsets von vornherein nicht möglich.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Text Edit Control - Text "formatieren"

Beitrag von Zubasa (ForumUser / 72 / 10 / 1 ) »
Hi,

danke für die bisherigen Tipps.
Wie kann ich den mein Control auf "Äquidistanzschrift" umstellen/setzen?

Danke schon mal,
Zubasa

Re: Text Edit Control - Text "formatieren"

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Hi Zubasa,

Methode SET_FONT_FIXED

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Zubasa

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

2
Antw.
3955
Views
Anzahl zeichen beim Text Edit Control beschränken
von Zubasa » 27.02.2012 18:41 • Verfasst in ABAP Objects®
10
Antw.
9733
Views
SAPScript: INCLUDE Text nach Stat. text
von Chrisu » 09.08.2005 11:06 • Verfasst in Basis
1
Antw.
6186
Views
Change Text(Header Text) of each: cl_salv_table
von jamiguel77 » 31.12.2014 20:27 • Verfasst in ABAP® für Anfänger
1
Antw.
2286
Views
TextEdit Custom Control.. wo wird dieser Text gespeichert
von Petra Z » 12.08.2005 18:59 • Verfasst in ABAP Objects®
4
Antw.
2453
Views
Edit-Control und Schlüsselfelder
von ewx » 10.01.2007 18:04 • Verfasst in ABAP Objects®

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.