Einzelnen Beitrag anzeigen

Benutzerbild von Spezi1980
Spezi1980

Registriert seit: 11. Aug 2003
Ort: Dresden OT Cossebaude
71 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Bei Memofeld Zeilen anzahl Beschränken

  Alt 19. Aug 2004, 17:14
ich würde es über eine while Schleife machen und die überflüssigen Zeilen löschen
Delphi-Quellcode:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
  //prüfen ob mehr Zeilen drin sind und wenn ja löschen
  while (Memo1.lines.Count > 22) do Memo1.lines.delete(21);
  //Falls ein Enter eingegeben wird dieses auch gelöscht
  if (Memo1.Lines.Count=22) and (Key=#13) then Key:=#0;
end;
Wenn man nur die Zeilen löscht die zuviel sind, wird die zeile 22 bei jedem drücken der "Enter" Taste auch mit überschieben. Daher ist es besser diese Prüfung im OnKeyPress Ereigniss des Memos zu machen und beim drüchen der "Enter" Taste diese zu ignorieren.
[Edit]noch ein bissl Erklärung is besser [/Edit]
Robert
Codito, ergo sum.
>>I code, therefore I am<<
  Mit Zitat antworten Zitat