Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TStringList => Anordnung der Einträge (https://www.delphipraxis.net/103524-tstringlist-%3D-anordnung-der-eintraege.html)

Progman 16. Nov 2007 22:29

Re: TStringList => Anordnung der Einträge
 
'DEF' noch eine Position später einfügen?

Tommy1988 16. Nov 2007 22:29

Re: TStringList => Anordnung der Einträge
 
Steht doch da ;) (Ein Post hoch)

Klappen tuts aber irgentwie nicht, ich weis nicht ws falsch ist. ..

Aber ich glaube TStringList ist auch nicht dafür geeignet.

Denn wenn ich ein paar Leerzeichen eingebe, und dann erst ABC, passiert nix.

Zum SynMemo:
Ist alles gleich zum Memo. Also wenn es ums Eingeben geht .. alles identisch

Tommy1988 16. Nov 2007 22:31

Re: TStringList => Anordnung der Einträge
 
Zitat:

Zitat von Progman
'DEF' noch eine Position später einfügen?

klappt alles nicht..

Progman 16. Nov 2007 22:32

Re: TStringList => Anordnung der Einträge
 
Warum nicht gleich die Key-Chars in einen String?
Macht vielleicht vieles einfacher? Aus einem String kann man genauso easy Zeichen löschen, hinzufügen, rauskopieren etc.

Tommy1988 16. Nov 2007 22:34

Re: TStringList => Anordnung der Einträge
 
Sind ja nicht immer nur Buchstaben. Manchmal auch Zahlen und so..

Ich probiere grade mal etwas mit Copy, hab da eine Idee melde mich sofort wieder.

Ne klappt nicht..

Ok.. abgesehen von allem anderen:
Das mit der StringList klappt alleine deswegen nicht, weil, wie oben scon gesagt, wenn ich
ein paar Leerzeichen zuerst eingebe, und dann erst ABC, reagiert der nicht mehr auf die IF-Abfrage.

Da stimmt nämlich was nicht mit der for-schleife..
Ich dachte eigentlich, dass man sich die anzahl der zeichen in der StringList holen kann, und dann die letzten X in einen string steckt.

aber, wie ich ab label sehen kann, macht AllTypedKeys[i]+Str; etwas anderes

Progman 16. Nov 2007 22:40

Re: TStringList => Anordnung der Einträge
 
hm, also ich würde die ganzen Eingabezeichen in einen String adden, den dann vor dem Weiterverarbeiten von evtl. Leerzeichen befreien und dann das ausführen, was notwendig ist.

Tommy1988 16. Nov 2007 22:42

Re: TStringList => Anordnung der Einträge
 
mh, jetzt mal eine andere frage(hätte ich vielleicht am anfang machen sollen)

ist das überhaupt der richtige ansatz ?

also ich mein, wie könnte man soetwas einfacher lösen..

es geht ja nur drum, dass
- wenn z.b. ABC eingegeben wurde, DEF hinten dran gehangen wird -

Progman 16. Nov 2007 22:46

Re: TStringList => Anordnung der Einträge
 
Delphi-Quellcode:
p:=Pos('ABC', InputStr);
if p > 0 then Insert('DEF',InputStr,p+3);
So müsste es in etwa gehen.

Progman 16. Nov 2007 22:50

Re: TStringList => Anordnung der Einträge
 
Wenn ins Memo eingegeben wird, könnte man den KeyUp-Event des Memos nutzen und die letzten drei Zeichen vorm Cursor prüfen, wenn es die gesuchte Zeichenkette ist, einfach die dazugehörigen Zeichen an der Cursorposition einfügen.

Tommy1988 16. Nov 2007 23:06

Re: TStringList => Anordnung der Einträge
 
ich bekomms einfach nicht hin.

Delphi-Quellcode:
procedure TForm1.SynMemo1KeyPress(Sender: TObject; var Key: WideChar);
begin
text := SynMemo1.Text;

   Ln := SynMemo1.CaretY;
   CurPosition := SendMessage(SynMemo1.handle,EM_LineIndex,Ln,0);
   CurPosition := SynMemo1.SelStart-CurPosition;
end;

procedure TForm1.SynMemo1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
Caption := '('+IntToStr(CurPosition)+') "'
+Copy(SynMemo1.Text, CurPosition-3, 3)+'"'; // nur zum gucken
if Copy(SynMemo1.Text, CurPosition-3, 3) = 'ABC' then // ****
Insert('CDE', text, CurPosition+3);
end;
wenn dann denn mal ABC da wo die ****'s sind zutrifft passiert einfach nix


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr.
Seite 2 von 3     12 3      

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