Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kleine Scripts ermöglichen (https://www.delphipraxis.net/62497-kleine-scripts-ermoeglichen.html)

Assun 5. Feb 2006 15:30


Kleine Scripts ermöglichen
 
Hi !

Ich code gerade für einen Freund eine DruckerPort Steuerung. Damit sollen dann LEDs angesteuert werden.

Klappt soweit auch schon ganz gut. Nun will ich ihm aber ermöglichen die Reihenfolge, in der die LEDs blinken, selbst fest zu legen.

Ich dachte ich könnte hierfür ne sehr kleine Scripting Engine einbauen.

Also dass er dann z.b. ein Memo hat und dort dann "AN1, AUS1, AN2, AN2" z.b. eingibt und das dann dazuführt, dass Pin1 an geht, Pin1 ausgeht etc.

Doch leider hab ich grad keine Vorstellung wie ich das umsetzen könnte.

Kann mir da vielleicht jemand auf die Sprünge helfen ?

Robert Marquardt 5. Feb 2006 15:35

Re: Kleine Scripts ermöglichen
 
Da faellt mir spontan http://www.blinkenlights.de/ ein.
Einen Interpreter fuer das Format zu schreiben ist simpel. Das habe ich schon mal gemacht.
Der einzige Unterschied fuer dich ist das du nur ein einzeiliges Display hast.

Assun 5. Feb 2006 15:40

Re: Kleine Scripts ermöglichen
 
Zitat:

Zitat von Robert Marquardt
Da faellt mir spontan http://www.blinkenlights.de/ ein.
Einen Interpreter fuer das Format zu schreiben ist simpel. Das habe ich schon mal gemacht.
Der einzige Unterschied fuer dich ist das du nur ein einzeiliges Display hast.

Ich wollte eigentlich keine fertigen Komponenten verwenden !

Ich glaube das ist auch ohne Komponente gar nicht so schwer, nur ich komm einfach nicht drauf ;)

Robert Marquardt 5. Feb 2006 15:50

Re: Kleine Scripts ermöglichen
 
Da gibt es auch nur Blinkenlights-Filme zum runterladen.
Warum soll man sich ein neues Format einfallen lassen wenn es schon eines gibt?
Das sind schlichte Textdateien. Anschauen und verstehen.

Assun 5. Feb 2006 18:05

Re: Kleine Scripts ermöglichen
 
:gruebel: ich will mir auch kein neues Format einfallen lassen, sondern will einfach nur fragen ob jemand weiss wie man das mit hilfe eines einfachen Memo realisieren kann.

Der_Unwissende 5. Feb 2006 18:48

Re: Kleine Scripts ermöglichen
 
Hi,
du hast ein TStrings und möchtest die Einträge abarbeiten? Warum nicht ganz stupides Matching? Du definierst einfach alle Befehle, die möglich sind (sollten hier nicht soviele sein). Sagen wir mal AN1..AN4, AUS1..AUS4 und Delay(xxx).
Dann lädst du einfach dieses TStringsObjekt und gehst jede Zeile einzeln durch, schreib dir eine Methode die den String parst und eine die über diese Liste iteriert

Delphi-Quellcode:
procedure parseString(command : String);
begin
  if command = 'AN1' then
    begin
      ...
    end
  else if command = 'AUS1' then
    begin
    end
...
end;

procedure start;
var i : Integer;
begin
  if self.Memo.Lines.Count > 0 then
    begin
      for i := 0 to self.Memo.Lines.Count - 1 do
        begin
          parseString(self.Memo.Lines.Strings[i]);
        end;
    end;
end;
Ist nicht das Eleganteste, dürfte dir aber vielleicht schon reichen.

Gruß Der Unwissende

Assun 5. Feb 2006 19:23

Re: Kleine Scripts ermöglichen
 
wow das is ja einfach nur Genial !!

BIG THX leudde :)


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