AGB  ·  Datenschutz  ·  Impressum  







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

einfache mehrzeilige Textausgabe

Ein Thema von JSch · begonnen am 5. Nov 2006 · letzter Beitrag vom 7. Nov 2006
Antwort Antwort
Seite 1 von 2  1 2      
JSch

Registriert seit: 5. Nov 2006
Ort: Hildesheim
10 Beiträge
 
#1

einfache mehrzeilige Textausgabe

  Alt 5. Nov 2006, 16:18
Hallo zusammen,

ich habe als absoluter Delphi-Neuling ein simples Problem, auf daß ich bisher noch keine zufriedenstellende Antwort gefunden habe.

Ich möchte in einem Bereich der 'MainForm' Text mehrzeilig ausgeben (vergleichbar mit Print in Basic).
Diesem Zweck kommt das Memo-Feld eigentlich schon nahe, wenn der Cursor zur Texteingabe nicht wäre. Labels sind nur einzeilig. Dann soll es noch Funktionen wie DrawText usw. geben, die furchtbar kompliziert aussehen...

Inzwischen habe ich mir mit einem Memo-Feld (Enabled=Fals) beholfen; aber das kanns eigentlich nicht sein.

Gibt es in Delphi wirklich keine einfache Textausgabefunktion?

Für einen Hinweis wäre ich euch sehr dankbar.

Gruß,

JSch
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#2

Re: einfache mehrzeilige Textausgabe

  Alt 5. Nov 2006, 16:23
du kannst ein memo nehmen und die property readonly auf true setzen. Und dann eben mit MemoX.Lines.Add('meintext'); schreiben.

Was auch möglich wäre:
Ein Label
und dann die Caption wie folgt im Quelltext setzen:
Label1.Caption := 'Zeile1' + #13 + #10 + 'Zeile2'; oder eben den Text "hinmalen" (DrawText)

Mfg
TObi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
JSch

Registriert seit: 5. Nov 2006
Ort: Hildesheim
10 Beiträge
 
#3

Re: einfache mehrzeilige Textausgabe

  Alt 5. Nov 2006, 21:31
Hallo Tobias,

vielen Dank für Deine Hinweise.

Das mit dem Memo-Feld und dem ReadOnly=True habe ich versucht. Der Cursor bleibt aber nur solange inaktiv, solange man nicht mit der Maus ins Memo-Feld klickt. Dann erscheint der blinkende Cursor wieder, auch wenn man keine Zeichen eingeben kann.

Gruß,

JSch
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#4

Re: einfache mehrzeilige Textausgabe

  Alt 5. Nov 2006, 21:36
Schau dir das mal an
http://www.delphipraxis.net/internal...sor+verstecken

hier wurde statt einem Memo ein Richedit verwendet. Ist im Prinzip das gleiche.

Mfg
Tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: einfache mehrzeilige Textausgabe

  Alt 5. Nov 2006, 21:40
Das mit dem Label fände ich persönlich besser.
Memos sind nunmal gedacht zur Texteingabe oder für so Sachen wie Logs, wo der Text auch kopiert werden muss. Für einen einfachen, nicht-markierbaren Text sind Memos gedacht.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: einfache mehrzeilige Textausgabe

  Alt 6. Nov 2006, 10:10
Ich würde definitiv ein Memo nehmen!
Der Cursor der dir so störend erscheint ist eigentlich ein Vorteil.
Der Benutzer kann damit einfach Text (ins Clipboard) kopieren.
Also ich habe mich schon öfters geärgert, weil manche Anwendungen ihre mehrzeiligen Texte nicht kopieren lassen. Abschreiben ist wirklich lästig.
Andreas
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#7

Re: einfache mehrzeilige Textausgabe

  Alt 6. Nov 2006, 10:19
Zitat von JSch:
Labels sind nur einzeilig.
Wer sagt den das???

Schau mal im OI unter Wordwrap

Uwe
Uwe
  Mit Zitat antworten Zitat
JSch

Registriert seit: 5. Nov 2006
Ort: Hildesheim
10 Beiträge
 
#8

Re: einfache mehrzeilige Textausgabe

  Alt 6. Nov 2006, 20:27
Hallo,

vielen Dank nochmals für Eure Tips und Anregungen.

Inzwischen habe ich die Textausgabe so hinbekommen, wie ich das haben wollte und zwar mit einem Memo-Feld. Mit der ganzen Rumprobiererei war mir nicht aufgefallen, daß ich zuerst das Memo-Feld und danach das Panel angelegt hatte - das Ganze umgedreht und schon gings.

Zusammengefaßt für alle, die das gleiche Problem haben:

1. Ein Panel anlegen (Enabled = False setzen)
2. Ein Memo-Feld darauf platzieren (ReadOnly = Ture setzen)
3. Bei 'Lines (TStrings)...' soviele Leerzeilen eingeben, wie später Zeilen benötigt werden
4. Später im Quellcode Ausgaben z.B. mit ' Memo1.Lines.Strings[1]:='ABC'; ' vornehmen

Das mag dem Profi womöglich holprig oder ungeschickt erscheinen aber im Moment tuts.

Nochmals Danke.

Bis denne,

JSch
  Mit Zitat antworten Zitat
ituser

Registriert seit: 31. Mai 2005
Ort: Lohra
9 Beiträge
 
Delphi 7 Personal
 
#9

Re: einfache mehrzeilige Textausgabe

  Alt 6. Nov 2006, 20:31
Für einen einfachen Zeilenumbruch wie bei PHP ein \n benutzen.

label1.caption:='Hallo, erste Zeile\nZweite Zeile';
Markus
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: einfache mehrzeilige Textausgabe

  Alt 6. Nov 2006, 20:35
Zitat von JSch:
Hallo,

vielen Dank nochmals für Eure Tips und Anregungen.

Inzwischen habe ich die Textausgabe so hinbekommen, wie ich das haben wollte und zwar mit einem Memo-Feld. Mit der ganzen Rumprobiererei war mir nicht aufgefallen, daß ich zuerst das Memo-Feld und danach das Panel angelegt hatte - das Ganze umgedreht und schon gings.

Zusammengefaßt für alle, die das gleiche Problem haben:

1. Ein Panel anlegen (Enabled = False setzen)
2. Ein Memo-Feld darauf platzieren (ReadOnly = Ture setzen)
3. Bei 'Lines (TStrings)...' soviele Leerzeilen eingeben, wie später Zeilen benötigt werden
4. Später im Quellcode Ausgaben z.B. mit ' Memo1.Lines.Strings[1]:='ABC'; ' vornehmen

Das mag dem Profi womöglich holprig oder ungeschickt erscheinen aber im Moment tuts.

Nochmals Danke.

Bis denne,

JSch
1. Wozu das Panel?
2. Statt vorher festzulegen, wieviele Zeilen es geben soll, einfach für jede neue Zeile
  Memo1.Lines.Add('ABC');
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  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 14:06 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