Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - wie kann ich "gehe zu zeile"-funktion realisieren
Harry M. - Mi 27.10.04 02:46
Titel: wie kann ich "gehe zu zeile"-funktion realisieren
wie kann ich eine "gehe zu zeile"-funktion in einem editor realisieren?
Moderiert von Tino: Topic aus Sonstiges verschoben am Mi 27.10.2004 um 10:29
NeWsOfTzzz - Mi 27.10.04 02:51
Vielleicht mal konkreter werden? ich kann mir da leider nix genau drunter vorstellen..
Harry M. - Mi 27.10.04 04:00
na in einem memo. zb gehe zu zeile 200 schau dir mal die funktion des notepade bei
"bearbeiten -> gehe zu" an. sowas meine ich in eine bestimmte zeile in einem momo springen.
blackbirdXXX - Mi 27.10.04 04:13
Bei einem Synmemo mit:
Delphi-Quelltext
1:
| SynMemo1.GotoLineAndCenter(ZEILENNUMMER); |
Bei einem Memo hätte ich es so getan:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var i, c: Integer; begin for i := 0 to ZEILENNUMMER do begin c := c + Length(Memo1.Lines[i]); end; Memo1.SelStart := c; Memo1.SelLength := 0; end; |
(nicht getestet)
Hoffe ich konnte helfen
Harry M. - Mi 27.10.04 04:32
Synmemo??? kenn ich leider nicht. hat meine delphi-hilfe auch nicht ausgespuckt.
beim 2. code beispiel springt der cursor bis in die letzte zeile nicht in die gewünschte. ich versuche mir aber das prinzip umzubauen
thx
Sprint - Mi 27.10.04 05:50
Titel: Re: wie kann ich "gehe zu zeile"-funktion realisie
User-Xy2004 hat folgendes geschrieben: |
wie kann ich eine "gehe zu zeile"-funktion in einem editor realisieren? |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure ScrollToLine(AMemo: TMemo; Line: Integer); var I: Integer; Counter: Integer; begin
Counter := 0;
for I := 0 to Line - 2 do Counter := Counter + Length(AMemo.Lines.Strings[I]) + 2;
with AMemo do begin SelStart := Counter; SelLength := 0; SetFocus; end;
end; |
.Chef - Mi 27.10.04 09:43
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure GotoZ(Zeile : Integer); var a : Integer; begin a:=Memo.Perform(EM_GETFIRSTVISIBLELINE,0,0); Memo.Perform(EM_LINESCROLL,0,Zeile-a); end; |
Gruß,
Jörg
Harry M. - Mi 27.10.04 12:24
problem behoben. habe die lösung von @Sprint übernommen.
nun gehts.
danke an alle bemühten
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!