Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Memo-Fragen (https://www.delphipraxis.net/136094-memo-fragen.html)

CazperFuture 23. Jun 2009 13:21


Memo-Fragen
 
Hallo,
ich hab mal einige fragen zu einem memo, ich programmiere eine art command-console (von windows)

1. wie kann man für eine bestimmte zeile die eingabe löschen ?
2. wie kann man sagen "löschen von zeile 1-10 alle zeilen?" ?
3.wie kann ich das eingegebene auch als code benutzen ?
4. wie kann ich das einstellen das ein bestimmter text in einer zeile inaktiv ist, das bedeutet ist kann nicht von nutzer gelöscht werden ?

zu frage 1 und 2 habe ich folgendes:
Delphi-Quellcode:
If Eingabe.Lines[1] = 'Delete;' then
Eingabe.Lines[1] := Delete;
vielen dank für eine antworten :-D

Hybrid666 23. Jun 2009 13:36

Re: Memo-Fragen
 
Hi,

ich hoff ich interpretier deine Fragen richtig. Hier mal meine Antworten:

Zitat:

1. wie kann man für eine bestimmte zeile die eingabe löschen ?
Delphi-Quellcode:
Eingabe.Lines.Delete (0) // lösche erste zeile
Zitat:

2. wie kann man sagen "löschen von zeile 1-10 alle zeilen?" ?
Delphi-Quellcode:
var
  I : Integer;
begin
  for I := 1 to 10 do Eingabe.Lines.Delete (0);
end;
Zitat:

3.wie kann ich das eingegebene auch als code benutzen ?
--> Weiß nicht was du damit meinst. Als was für nen Code? Willst du das Command auf der Windows Command Line ausführen? Oder baust du grade eine Skriptengine?

Zitat:

4. wie kann ich das einstellen das ein bestimmter text in einer zeile inaktiv ist, das bedeutet ist kann nicht von nutzer gelöscht werden ?
Darauf ist mir die antwort leider nicht bekannt

Teekeks 23. Jun 2009 13:37

Re: Memo-Fragen
 
zu 3: Wie meinst du "als Code benutzen"? Meinst du das deine Zeile dann ausgeführt wird?
Schaue dir dazu SchellExecute() an...

roter Kasten:
Ich poste es trozdem...

Highttower 23. Jun 2009 13:44

Re: Memo-Fragen
 
Für 1 und 2 drück mal F1,

Zitat:

Zitat von CazperFuture
3.wie kann ich das eingegebene auch als code benutzen ?

Zu 3 in dem du den Code mit nem Compiler linkst, entweder hast du schon einen oder: siehe dazu: Grundlagen und Techniken des Compilerbaus: ISBN-13: 978-3486585810 :D

Zu 4 du musst dir selbst nen Wrapper für Memo schreiben, mit fixen Zeilen

CazperFuture 23. Jun 2009 13:56

Re: Memo-Fragen
 
also was ich mit dem "3.wie kann ich das eingegebene auch als code benutzen ?" meinte war eigentlich folgendes:
wenn ich z.b. in dem memo "Eingabe.Font.Color := clBlue;" eingebe dann soll das zum compler verlinkt werden.
Bis jetzt musste ich immer folgendes machen:

Delphi-Quellcode:
If Eingabe.Lines[1]  = 'Eingabe.Font.Color := clBlue;' then
Eingabe.Font.Color  := clBlue;
versteht ihr was ich meine ?

danke schon mal für die antworten :thumb:

Highttower 23. Jun 2009 14:03

Re: Memo-Fragen
 
In diesem Fall musst du den String nach Schlüsselwörtern durch Parsen, wie z.B. deine Componenten Namen und Eigenschaften. Dann müsstest du heraus filtern, was für Werte gültig sind. Und erst dann könntest du einen Haufen if abfragen mit sehr vielen anweisungen schreiben die dir das ganze in Code umsetzten.

Das Problem dabei ist das die der Computer ja keine Delphi versteht, nur Maschnienensprache, und wenn du zur Laufzeit dem in Delphi was sagen willst dann läufst du quasi gegen eine Wand. Mein Tipp: Lese dir dazu mal das erste Kapitel eines beliebigen Programmiersprachenlehrbuchs durch.

In andern Sprachen, wie z.b. Ruby on Rails, die zur Laufzeit Compilieren, wäre das nicht das große Problem.

CazperFuture 23. Jun 2009 14:10

Re: Memo-Fragen
 
ok ich verstehe, mal sehen, ich lass mir was einfallen :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:05 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