![]() |
multiline-paste im edit feld
ich will mehrere lines ins edit feld posten, die dann hintereinader aufgefangen und verarbeitet werden.
ich habs bei onchange mit if (pos(#13,edit1.text) > 0) or (pos(#10,edit1.text) > 0) then memo1.lines.add('shout loudly!'); versuhct, dabei wollt ich sehen, ob das so aufgefangen werden kann, aber scheinbar nich ich wollte naemlich so, wie xchat2 oder mIRC das machen, die zeilenumbrueche in zb #1+#1 umwandeln und die einzelnen sachen nebeneinander reihen. danachs bei onkeypress #13 eben von #1+#1 zu #1+#1 jeweils kopiert weiter basteln hat sowas schon jemand gemacht? weil google spuckt nich wirklich aus, wie man diese zeilenumbrueche auffangen koennte. thanks |
Re: multiline-paste im edit feld
Hi!
Wenn ich dich richtig verstanden habe, dann so:
Delphi-Quellcode:
Ciao fkerber
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if key=#13 then Edit1.Text:=Edit1.Text+'#1+#1'; end; |
Re: multiline-paste im edit feld
Er meint bestimmt:
Delphi-Quellcode:
Mit STRG+Enter machst du eine "neue zeile" und mit Enter liest du die einzelnen zeilen.
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); var i:integer; s:string; begin if key=13 then begin if GetAsyncKeyState(VK_RCONTROL)<>0 then begin Edit1.Text:=Edit1.Text+#1; end else begin s:=Edit1.Text; while pos(#1,s)>0 do begin i:=pos(#1,s); Memo1.Lines.Add(Copy(s,1,i-1)); Delete(s,1,i); end; if Length(s)>0 then Memo1.Lines.Add(s); end; end; end; |
Re: multiline-paste im edit feld
Als Zusatzinfo: Ein Edit hat nur eine Zeile. In sofern glaube ich, dass das alles nicht funktieren wird. Man könnte überlegen, ob man ein Memo nimmt und das die Höhe einer Zeile gibst und das Scrollen unterbindet.
|
Re: multiline-paste im edit feld
ich muss jetzt rechner zampacken und auf ne lan. ich schau dann spaeter dein code genauer an.
ich hab das ganze jetzt mit nem richedit feld geloest ich habs manuell getrennt zwischen strg+enter und enter und auf drei zeilen limitiert aber jetzt faellt mir gerade auf, strg+enter ist schon ne vorgemachte funktion und auch wenn man '~accept-return' auf false setzt, funkt das strg+enter fuer newline. das macht mir bisschen probs. eventuell weiss jemand nen weg, wie ich das auch unterbinde, damit ich das manuell parsen kann. ich schau dann auf der lan weiter. thansk mal soweit. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz