Autor Beitrag
Xenar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45



BeitragVerfasst: Mo 07.02.05 18:49 
Hallo,

ich habe ein memo das nur folgende Werte und Buchstaben in einer Zeile erlauben soll:

A=* *hier ist ein Wert von 0 bis 400 gültig
oder B=*
...
oder F=*
oder UA=*
oder UB=*
...
oder UF=*
oder STOP=0,1 gültig bis 3600

Wie kann ich dies in einer Prozedur ausdrücken, ob diese Werte eingehalten worden sind um ansonsten eine Fehlermedlung auszuwerfen mit entsprechender Zeilenmakierung.

Oder eine andere möglichkeite, in einem string darf als erstes zeichen nur ein A oder B oder C oder D oder E oder F stehen. das zweite zeichen darf nur ein = sein, dann eine zahl von 0 bis 400 als drittes bis fünftes zeichen. aber wie sag ich das delphie?

ciao boris


Zuletzt bearbeitet von Xenar am Mi 09.02.05 22:48, insgesamt 2-mal bearbeitet
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 08.02.05 10:17 
Hallo!

Du gehst bei deiner Prüfung Zeile für Zeile durch und schneidest die Zeichen vor und die Zeichen nach dem = Zeichen raus (Pos(), Copy(), Delete()). Mit einer IF-THEN Abfrage überprüfst du dann ob die Werte gültig sind. Wenn nicht gibst du mit Message() eine Meldung aus.

Gruß
Tino
Xenar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45



BeitragVerfasst: Di 08.02.05 18:08 
Hm, bin da noch zu blutiger anfänger, habe problem mit der grammatik von delphi, ich erkläre es mal so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
  var
  counter: Integer;
  wert: string;
begin
  for counter:= 0 to memo1.Lines.Count - 1 do begin
    wert:= memo1.lines[counter];
    if wert = 'A=1' then showmessage('test a');
    if wert = 'B=1' then showmessage('test b');
    if wert = 'C=1' then showmessage('test c');
  end;
end;


dies ist mein code, wenn in meinem memo1 "A=1" steht wird test a als nachricht ausgegeben, dies soll aber von beispielsweise von A=1 bis A=100 passieren. momentan geht es nur bei A=1. gleichzeitig nach der narichtausgabe soll die zeile im memo makiert werden.

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.
Xenar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45



BeitragVerfasst: Mi 09.02.05 22:59 
Mein Problem ist die Zeit, da bin ich ganz erlich. Früher da bastellte ich Nächte lang und ich hatte nie Probleme mir etwas anzueignen. Jetzt besuche ich eine Abendschule für einen Titel den man in Deutschland braucht um weiter zukommen und die Vollzeitarbeit und die Abendschule raubt einen soviel Zeit, dass man sich nicht mehr intensiv mit einem Thema beschäftigen kann, sondern nur zerstreut mal hier und da. So ist auch mein Delphiunterricht, ich nenne diesen immer "malen nach Zahlen".

Kennt ihr ein Buch, das man sehr schnell verschlingen kann, ohne das man zwischen drinne erst tausend programme schreiben muss, sondern die einen alle zusammenhänge erklären und einen nicht nur abschreiben lassen.


:? Die Welt ist ein Paradoxon