Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zeilenende eines Memos setzen (https://www.delphipraxis.net/149880-zeilenende-eines-memos-setzen.html)

Coder1990 1. Apr 2010 14:14


Zeilenende eines Memos setzen
 
Hallo,

im Grunde will ich etwas ganz einfaches machen, aber ich tippe mal, dass das jetzt etwas schwieriger wird :)

Ich habe ein Memofeld in dem Operationen genannt werden. zB "Lese Datei xxx"
Sobald dies beendet ist soll am Ende dieser Zeile ein "fertig" angezeigt werden.

zB

Memo________________
|Lese Datei...............done|
|Schreibe Datei.........done|
|Datei vorhanden...........ja|
|etc...................................|

Jemand eine Idee?

MfG

s.h.a.r.k 1. Apr 2010 14:20

Re: Zeilenende eines Memos setzen
 
Sinnvoll wäre es, wenn du das ganze selbst zeichnen würdest, da du dann wirklich eine rechtbündige Kante erzeugen kannst. Ebenso kannst du dann auch Zeilenumbrüche einbinden, wenn welche erforderlich sein sollten.

Muss aber erst noch schauen, ob TMemo das überhaupt zulässt :)

himitsu 1. Apr 2010 14:22

Re: Zeilenende eines Memos setzen
 
Delphi-Quellcode:
Memo1.Lines[i] := Memo1.Lines[i] + '......feritg';
notfalls geht auch was in dieser Richtung:
Delphi-Quellcode:
x := Memo1.ClientWidth - Memo1.Canvas.TextLength(Memo1.Lines[i] + 'feritg');
x := x div Memo1.Canvas.TextLength('.');
Memo1.Lines[i] := Memo1.Lines[i] + StringOfChar('.', x) + 'feritg';
(nur so hingetippt und k.A. ob es so auch alle Befehle gibt, aber das Prinzip sollte klarwerden)

Tipp: TextWidthTextWidth

Klaus01 1. Apr 2010 14:22

Re: Zeilenende eines Memos setzen
 
Hallo,

Du musst doch nur die Zeile austauschen.
z.B.

lese Datei
mit
leseDatei ... fertig

Grüße
Klaus

s.h.a.r.k 1. Apr 2010 14:25

Re: Zeilenende eines Memos setzen
 
Zitat:

Zitat von Klaus01
Du musst doch nur die Zeile austauschen.
z.B.

lese Datei
mit
leseDatei ... fertig

Ich denke er will eine Linux-Konsole nachbauen, oder? So bekommt er es halt nicht sinnvoll rechtsbündig ausgerichtet.

himitsu 1. Apr 2010 14:27

Re: Zeilenende eines Memos setzen
 
Zitat:

Zitat von s.h.a.r.k
So bekommt er es halt nicht sinnvoll rechtsbündig ausgerichtet.

Mit einer Fixed-Width-Font geht es sehr leicht.

s.h.a.r.k 1. Apr 2010 14:31

Re: Zeilenende eines Memos setzen
 
Okay, stimmt. Hab ich nicht dran gedacht. Gebe mich gerne geschlagen :zwinker:

DeddyH 1. Apr 2010 15:21

Re: Zeilenende eines Memos setzen
 
Oder man nimmt statt des Memos eine ListView (vsReport) mit 2 Spalten, da spielt der Font dann keine Rolle mehr.

Coder1990 1. Apr 2010 15:54

Re: Zeilenende eines Memos setzen
 
Also..

Das mit Canvas.TextWidth ist nur möglich wenn die Font eine Fixed-Width-Font ist und die verbrauchen zu viel Platz in meinem Memo.
Wüsste nicht wie das mit einer Listview gehen soll. Habe es ausprobiert und bin dann letztendlich zum StringGrid geschwankt.
Hier habe ich nun nur noch das Problem, dass dieses komische grau-gepunktete Ex-Selektionsrechteck es unansehnlich macht.

Ideen?

MfG

s.h.a.r.k 1. Apr 2010 15:56

Re: Zeilenende eines Memos setzen
 
ListView -> ViewStyle auf Report setzen und zwei Columns einführen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr.
Seite 1 von 2  1 2      

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