AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Formatierte Textausgabe in TMemo

Ein Thema von Konstantin H. · begonnen am 22. Mai 2014 · letzter Beitrag vom 2. Jun 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Konstantin H.
Konstantin H.

Registriert seit: 3. Nov 2008
Ort: Schwedt/Oder
27 Beiträge
 
Delphi 2006 Professional
 
#1

Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 15:32
Hallo DP,

folgendes Problem, ich habe massenweise Daten, die in einem Memo angezeigt werden sollen. Ich arbeite mit 4 array[1..50] of string: TMemo.Lines.ADD(array_1[i] + array_2[i] + array_3[i] + array_4[i]) Gibt es hier (wie zB in C) eine möglichkeit formatiert strings auszugeben? Also eine Tabelle mit Text "zeichnen". Die länge der einzelnen strings ist unbekannt und kann bis zu 35 Zeichen lang sein. Kann mir vllt jmd behilflich sein?

MfG Konstantin
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 15:52
Wäre da nicht eine Listbox oder Listview oder ein StringGrid die bessere Komponente?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

AW: Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 16:06
Ich würde da auch eher zur TListView (Stil vsReport) tendieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#4

AW: Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 16:08
Oder ein TRichedit, wenns denn unbedingt Memo-Like sein soll. Da könnte man dann entsprechende Tabs setzen.

Wobei ich auch ein ListView oder Stringgrid bevorzugen würde.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 17:04
Oder eben einfach ein TMemo mit einem Courier-Zeichensatz (Hauptsache Fixed-Space).
Und dann die Strings formatiert eintragen, sagen wir so:
myMemo.Add (Format('%20s | %20s | %35s |', [a,b,c])); Das geht auch einfacher, aber da Du C kennst, sollte Format (ähnlich 'sprintf') kein großes Problem darstellen.
Bezüglich der Formatierungsanweisungen musst Du mal in die Hilfe schauen. Auch, ob das 'Format' oder anders heißt, weiß ich nicht genau.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#6

AW: Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 18:02
...oder nimm 4 Memos nebeneinander.
Miniaturansicht angehängter Grafiken
4memos.jpg  

Geändert von hathor (22. Mai 2014 um 18:11 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#7

AW: Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 18:04
...oder nimm 4 Memos nebeneinander.
Da ist das mit dem Scrollen so eine Sache.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#8

AW: Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 19:01
Lösung:

Delphi-Quellcode:
procedure ScrollMemoDown(Memo: TMemo);
var Handle: HWND;
begin
  SendMessage(Memo.Handle,{ HWND of the Memo Control }
    WM_VSCROLL, { Windows Message }
    SB_PAGEDOWN, { Scroll Command }
    0) { Not Used }
end;


procedure ScrollMemoUp(Memo: TMemo);
var Handle: HWND;
begin
  SendMessage(Memo.Handle, { HWND of the Memo Control }
    WM_VSCROLL, { Windows Message }
    SB_PAGEUP, { Scroll Command }
    0); { Not Used }
end;

procedure TForm2.Button17Click(Sender: TObject);
begin
 ScrollMemoDown(Memo2);
 ScrollMemoDown(Memo3);
 ScrollMemoDown(Memo4);
 ScrollMemoDown(Memo5);
end;

procedure TForm2.Button18Click(Sender: TObject);
begin
 ScrollMemoUp(Memo2);
 ScrollMemoUp(Memo3);
 ScrollMemoUp(Memo4);
 ScrollMemoUp(Memo5);
end;
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 19:12
Ich meinte auch das horizontale Scrollen. Und vielleicht auch mal ein paar Spalten mehr.

Vielleicht dann doch die einfache Möglichkeit mit dem Format?

Geändert von Dejan Vu (22. Mai 2014 um 19:16 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Formatierte Textausgabe in TMemo

  Alt 22. Mai 2014, 19:17
Nochmal, damit es hier nicht untergeht, der Hinweis auf Delphi-Referenz durchsuchenFormat:
Oder eben einfach ein TMemo mit einem Courier-Zeichensatz (Hauptsache Fixed-Space).
Und dann die Strings formatiert eintragen, sagen wir so:
myMemo.Add (Format('%20s | %20s | %35s |', [a,b,c])); Das geht auch einfacher, aber da Du C kennst, sollte Format (ähnlich 'sprintf') kein großes Problem darstellen.
Bezüglich der Formatierungsanweisungen musst Du mal in die Hilfe schauen. Auch, ob das 'Format' oder anders heißt, weiß ich nicht genau.
Das war eigentlich schon die Antwort auf die Frage:
Gibt es hier (wie zB in C) eine möglichkeit formatiert strings auszugeben? Also eine Tabelle mit Text "zeichnen". Die länge der einzelnen strings ist unbekannt und kann bis zu 35 Zeichen lang sein.
Mehr war doch gar nicht verlangt...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz