AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zuweisungsscanner????

Ein Thema von Feechan · begonnen am 26. Apr 2005 · letzter Beitrag vom 26. Apr 2005
 
Feechan

Registriert seit: 15. Feb 2005
17 Beiträge
 
#1

Zuweisungsscanner????

  Alt 26. Apr 2005, 20:05
Hallo!
Ich hänge seit einer Woche an diesem blöden Zuweisungsscanner und weiß echt nicht weiter, das ist die Aufgabe:
Ich soll eine Art Zuweisungsscanner implementieren, der aus einem edit-feld die einzelnen Bestandteile rauszieht, in einem Array in einer zweiten Unit speichert und dass ganze dann in einer Listbox wiedergibt. Dabei soll das ganze ungefähr so aussehen:

Eingetippt: a:=b;
Ausgabe:
a
:=
b
;

oder:

anna:=34 + jojo;

=>
anna
:=
34
+
jojo
;

Hier ist schon etwas quelltext:
Delphi-Quellcode:
unit zScanclss;

interface

type tTokenfolge=array[1..100] of string;
type tOperatormenge = set of '*'..'/'; //Menge von Zeichen (=char) von .. bis
                                       // bezogen auf den ASCII-Code
type tZuweisungsScanner = class
    private
      Tokenfolge: tTokenfolge;
      index : integer; // Aktueller Tokenfolgenindex
      Operatormenge: tOperatormenge;
    public
      constructor create;
      function isOperator(c: char): boolean;
      procedure makeTokenfolge(quelle : string);
      function getTokenfolge: tTokenfolge;
end;

implementation

constructor tZuweisungsScanner.create;
begin
 Operatormenge := ['*','+','-','/'];
 index:=0; // Noch kein Token ermittelt.
end;

function tZuweisungsScanner.isOperator(c: char): boolean;
begin
  result := (c in Operatormenge); // Ist c in der Menge enthalten?
end;

procedure tZuweisungsScanner.makeTokenfolge(quelle : string);
var l,x:integer;
begin
l:=length(quelle);
for x:=1 to l do begin
Tokenfolge[x]:=quelle[x];
end;
end;

function tZuweisungsScanner.getTokenfolge: tTokenfolge;
var i:integer;
begin
result[1]:=tokenfolge[1];
i:=1;
while tokenfolge[i+1]<>':do begin
result[1]:=result[i];
inc(i);
end;
result[2]:=':=';
//while
end;

end.
Da stellt sich mir immer die Frage:
Könnt ihr mir da helfen? Wär echt super!
Bye!
Fee
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 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 by Thomas Breitkreuz