Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Memo abarbeiten... (https://www.delphipraxis.net/69860-memo-abarbeiten.html)

CorsaGsi16v 21. Mai 2006 13:13


Memo abarbeiten...
 
Hallo,
ich habe folgendes Problem und zwar schreibe ich in meinen Programm in ein Memo einen bestimmten Text und zwar pro Zeile ein Kommando.

Es sind 8 festgelegte Kommandos, die in individueller Reihenfolge nacheinander im Text stehen(also pro Zeile ein Kommando)!

Jedes Kommando verweist auf einen Speedbutton in dem dann Arbeitsschritte ausgeführt werden!

Sagen wir die Kommandos lauten:

Befehl_1
Befehl_2
Befehl_3
...
Befehl_7
Befehl_8

Nun möchte ich das Memo auf Buttonclick "durchlaufen" lassen, das heißt die einzelnen Zeile sollen nacheinander durchsucht werden und mit den Kommandos verglichen werden! Wenn ein Kommando gefunden wurde soll es abgearbeitet werden!

Zum Beispiel wurde Befehl_2 gefunden--> jetzt soll "SpeedButton2.Click" ausgeführt werden und solange gewartet werden bis in SpeedButton alles abgearbeitet ist, dann können die Kommandos weiter gesucht werden!

Ich hoffe ich habe das einigermaßen gut erklärt!

Danke schon mal für die Hilfe!

Christian

pacman1986 21. Mai 2006 13:24

Re: Memo abarbeiten...
 
Delphi-Quellcode:
var I : integer;
begin
  for I := 1 to Memo1.Lines.Count do begin
    if memo1.lines[i-1] = 'Befehl_1'
      then begin
        //Ausführen von Befehl_1
      end;
    if memo1.lines[i-1] = 'Befehl_2'
      then begin
        //Ausführen von Befehl_2
      end;
    if memo1.lines[i-1] = 'Befehl_3'
      then begin
        //Ausführen von Befehl_3
      end;
...
  end;
end;
Einfach eine Schleife Benutzen

:oops: das hab ich totalö vergessen (case weg if her)

r2c2 21. Mai 2006 13:27

Re: Memo abarbeiten...
 
Hallo CorsaGsi16v :hi:
wo hängst du denn? was klappt nicht?

Im prinzip is das ganz einfach:
In ner schleife den Memo.Lines-inhalt durchgehen. Per if prüfen, ob es sich um einen Befehl handelt(am geschicktesten per const-array), wenn ja, je nach Befehl die procedure ausführen. das Problem mit dem warten lässt sich durch n manuell gesetzes Flag lösen...

Nachtrag:
Da war wieder einer Schneller; trotzdem noch mein Post mit der Bemerkung: case funktioniert nur mit ordinaltypen :wink:

mfg

Christian

CorsaGsi16v 21. Mai 2006 15:55

Re: Memo abarbeiten...
 
hi danke schon mal,
ja ihr habt ja recht danke schon mal
jetzt gehts weiter und zwar wenn ich jetzt den button click ausführe führt dieser einen Timer aus und der Timer betätigt wieder einen Button wie kann ich denn dann zurück melden das der letzte Button gedrückt wurde und das es dann mit der Suche weitergeht???

MfG
Christian

SirThornberry 21. Mai 2006 16:33

Re: Memo abarbeiten...
 
Wenn du eine neue Frage hast mache bitte ein neues Thema(Thread) dazu auf sonst wird es zu unübersichtlich. Da deine Frage offensichtlich geklärt ist mach ich hier mal zu damit es nicht doch noch zu dem durcheinander kommt.


*** LOCKED ***


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