AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht?

Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht?

Ein Thema von simlei · begonnen am 30. Dez 2006 · letzter Beitrag vom 30. Dez 2006
Antwort Antwort
Seite 1 von 2  1 2   
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#1

Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht?

  Alt 30. Dez 2006, 22:55
Hallo!
Ein leidiges Thema, denke ich, aber ohne das zu wissen komme ich nicht weiter:
In einem Memo wird ja automatisch Zeilenumbruch gemacht, wenn ein Absatz eben über die Breite des Memos geht. Wennnun über die Lines-Eigenschaft eine Zeile x angesprochen wird, so wird nicht etwa der ganze Absatz zurückgegeben, sondern nur die Zeile, wie sie im Memo steht - bis zum Umbruch. Nun ist dadurch nicht herauszufinden, ob Memo.Lines[x] Am Ende einen Umbruch hat oder nicht, da die Steuerzeichen nicht mit in dem String Memo.Lines[x] gespeichert sind (hab ich mal ausprobiert; einfach, da mit Length(string) auch Steuerzeichen erfasst werden)...

Wie kann ich nun herausfinden, ob nach einer besimmten Zeile eines Memos ein Zeilenumbruch folgt? Danke!
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht

  Alt 30. Dez 2006, 23:00
du meinst, ob das memo da automatisch umbricht?

dazu musst du wohl selber nachrechnen. -> MSDN-Library durchsuchengetTextExtent
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#3

Re: Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht

  Alt 30. Dez 2006, 23:04
Hi!
Auf was wende ich diese Funktion an? Und was liefert sie zurück? (Die Länge des Absatzes? käme mir komisch vor, da dann aj für mehrere Zeilen ein und derselbe Wert zurückgegeben wird)

Danke schonmal.
  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
 
#4

Re: Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht

  Alt 30. Dez 2006, 23:05
Die Zeilen eines Memos enthalten keine Zeilenumbrüche, einfach deshalb, weil die Zeilen einer StringList es auch nicht tun.
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
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht

  Alt 30. Dez 2006, 23:08
Die Antwort eines Mathematikers: Hat ewig gedauert, ist vollkommen exakt, und bringt niemandem was

@simlei: damit berechnest du, wie viel platz die zeile bräuchte. wenns mehr ist, als das memo breit ist, weißt du: da wird umgebrochen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  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
 
#6

Re: Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht

  Alt 30. Dez 2006, 23:13
Das kommt davon, wenn man den Topic-Titel liest und dann den Text überfliegt, kombiniert mit akutem Koffeinmangel
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
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#7

Re: Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht

  Alt 30. Dez 2006, 23:15
Aha... Ich wende diese Funktion also auf zB Memo1.Lines[3] an. Aber da doch er Umbruch schon erfolgt ist und ich mit Memo1.Lines[3] nur einen Teil des gesamten Absatzes erhalte (so er denn automatisch umgebrochen ist), würde doch dieser String immer hinein passen (Da schon passend umgebrochen). Hab ich das jetzt falsch verstanden oder ganz falscher Ansatz?
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht

  Alt 30. Dez 2006, 23:21
Nö.

TextTextTextTextTextTextTextText[Enter]
TextTextTextTextTextTextTextTextTextText <--- automat. Umbruch
TextTextTextText[Enter]

wenn dein memo so aussieht, ist Lines.Count = 2. Du verstehst, was ich dir sagen will...?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#9

Re: Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht

  Alt 30. Dez 2006, 23:24
Hallo,

werfe mal folgendes in die nette Unterhaltung :

In Lines[x] ist der Zeilenumbruch nicht enthalten, den kann man aber aus Memo.Text auslesen.

Feststellen bei welchem Zeichen die nächste Zeile anfängt, dann aus .Text die Zeichen davor prüfen.

Delphi-Quellcode:
function IsWordWrap(M: TMemo;iLine: Integer): Boolean;
var i : Integer;
begin
  Result := False;
  i := M.Perform(EM_LINEINDEX, iLine+1, 0);
  if ord(M.Text[i-1]) <> 13 then
    Result := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsWordWrap(Memo1,0) then//erste Zeile
    showmessage('Umbruch in Zeile 1 (Index 0) durch WordWrap');
end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
simlei

Registriert seit: 23. Nov 2005
119 Beiträge
 
Delphi 7 Professional
 
#10

Re: Memo.Lines[irgendwas] - enthält Zeilenumbruch oder nicht

  Alt 30. Dez 2006, 23:27
Sry Luke, habs irgendwie net gecheckt :/
Der Coide von Lannes ist aber gut, funktioiert! Danke! Ich hatte auch die Idee, dass die Steuerzeichen ja in Memo.Text enthalten sind, aber ich wusste nicht, dass man von einem bestimmten Stelle in .Lines auf eine Stelle in .Text schließen kann...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:19 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