AGB  ·  Datenschutz  ·  Impressum  







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

memo zeilen anzahl?!!

Ein Thema von polondo · begonnen am 24. Jan 2006 · letzter Beitrag vom 24. Jan 2006
Antwort Antwort
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#1

memo zeilen anzahl?!!

  Alt 24. Jan 2006, 09:32
hi ich habe folgendes problem:

ich versuche in einer Qrmemo auf meinem Quickreport die Zeilenanzahl auszulesen. Ich habe dazu schon memo.lines.count versucht allerdings liest der mir die Anzahl der Zeilen nicht so aus wie ich das möchte. Wenn ich also einen Text in die Memo schreibe der mittels wordwrap über zwei Zeilen geht, dann bekomme ich mit 'count' nicht 2 Zeilen zurück sonder nur 1. Wie kann ich dem sagen das der unabhängig davon ob die Zeilen zusammenhängen oder nicht, mir eine 2 zurückgibt?!?!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: memo zeilen anzahl?!!

  Alt 24. Jan 2006, 10:14
Hai polondo,

bei einem normalem TMemo funktioniert das bei mir. Mit einem TQRMemo kann ich es leider nicht testen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := Format('Es sind %d Zeilen im Memo',[Memo1.Lines.Count]);
end;
Der code sagt mir das im Memo zwei Zeilen stehen wenn ich den Text solange schreibe das er wegen WordWrap umgebrochen wurde.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
24. Jan 2006, 10:15
Dieses Thema wurde von "Sharky" von "Object-Pascal / Delphi-Language" nach "VCL / WinForms / Controls" verschoben.
Memo -> VCL-Controll *G*
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#4

Re: memo zeilen anzahl?!!

  Alt 24. Jan 2006, 10:56
Danke erstmal für die Antwort! Leider hab ich auch mit dem Format-Befehl nicht alle tatsächlichen Zeilen... :/
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#5

Re: memo zeilen anzahl?!!

  Alt 24. Jan 2006, 11:13
Der Format-Befehl ist doch hier nur Nebensache. Lines.Count liefert allerdings auf jeden Fall die tatsächliche Zeilenanzahl, der Fehler muss anderswo liegen (vieleicht das falsche Memo, wenn's mehrere gibt?)
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

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

Re: memo zeilen anzahl?!!

  Alt 24. Jan 2006, 11:53
Hallo,
Zitat von tomsel:
...Lines.Count liefert allerdings auf jeden Fall die tatsächliche Zeilenanzahl, der Fehler muss anderswo liegen...
der Fehler liegt beim QRMemo, denn Lines.Count gibt nicht die Anzahl der umgebrochenen Zeilen aus

mit dem Code lassen sich die fehlenden Informationen ermitteln:
Delphi-Quellcode:
var z,CW,H,LinesH,TextH : Integer;
    aRect : TRect;
    B : TBitMap;
begin
  B := TBitmap.Create;
  B.Canvas.Font := QRMemo1.Font;
  LinesH := B.Canvas.TextHeight('Test-String');
  CW := QRMemo1.ClientWidth;
  H := 0;
  TextH := 0;
  for z := 0 to QRMemo1.Lines.Count-1 do
    begin
    aRect.Right := CW;
    H := DrawText(B.Canvas.handle,PChar(QRMemo1.Lines[z]),Length(QRMemo1.Lines[z]),aRect,DT_CALCRECT or DT_WORDBREAK or DT_NOCLIP);
    TextH := TextH+H;
    end;
  B.Free;
  showmessage('Die ermittelte Texthöhe: '+IntToStr(TextH)+#13#10
              +'Zeilen: '+IntToStr(Round(TextH/LinesH)));
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:51 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