AGB  ·  Datenschutz  ·  Impressum  







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

Zeichen überprüfen

Ein Thema von shadow24 · begonnen am 17. Mai 2006 · letzter Beitrag vom 7. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
shadow24

Registriert seit: 2. Nov 2005
13 Beiträge
 
#1

Zeichen überprüfen

  Alt 17. Mai 2006, 10:24
Hallo
habe ein kleines problem bei dem ich nichtmehr weiter weiss.
Und zwar wollte ich bei einemprogramm eine überprüfung einbauen ob die erforderlichen zeichen vorhanden sind.Aber leider habe ich schon vieles versucht aber nicht hat bis jetzt die Lösung gebracht.
Vielleicht hat jemand eine idde oder Vorschläge wie ich das realisieren könnte wäre sehr nett.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zeichen überprüfen

  Alt 17. Mai 2006, 10:25
Pos, StrScan
Was willst du genau?
Markus Kinzler
  Mit Zitat antworten Zitat
shadow24

Registriert seit: 2. Nov 2005
13 Beiträge
 
#3

Re: Zeichen überprüfen

  Alt 17. Mai 2006, 10:27
ich möchte gleichungen auf ihre korrektheit überprüfen also er soll sich die zeichen vor bestimmten variablen überprüfen ob sie korrekt sind,d.h für die gleichung zugelassen.
Aber hab im moment keine ahnung was machen soll denn habe schon so viel probiert
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Zeichen überprüfen

  Alt 17. Mai 2006, 10:31
Mit Pos/PosEx die Variablen suchen und dann einfach das Zeichen davor prüfen.

Delphi-Quellcode:
i := Pos('a', S);
If (i > 1) and not (S[i - 1] in ['+', '-']) Then Fehler...
dat prüft z.B. ob vor dem ersten "a" ein "+", oder'n "-" ist ^^
$2B or not $2B
  Mit Zitat antworten Zitat
shadow24

Registriert seit: 2. Nov 2005
13 Beiträge
 
#5

Re: Zeichen überprüfen

  Alt 18. Mai 2006, 11:33
und das funktioniert auch mit zahlen oder gilt das nur für zeichen ??
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Zeichen überprüfen

  Alt 18. Mai 2006, 11:37
In Strings gibt es keinen Unterschied zwischen Zahlunde und Zeichen...
  Mit Zitat antworten Zitat
shadow24

Registriert seit: 2. Nov 2005
13 Beiträge
 
#7

Re: Zeichen überprüfen

  Alt 18. Mai 2006, 11:40
also muss ich einfach in ['1' ...] eingeben und es müsste klappen ??
  Mit Zitat antworten Zitat
shadow24

Registriert seit: 2. Nov 2005
13 Beiträge
 
#8

Re: Zeichen überprüfen

  Alt 18. Mai 2006, 12:58
hmm habe es ausprobiert aber es will noch nicht so



Delphi-Quellcode:
{ alle zahlen enthalten ? }
{ 1 - true}
{ 0 - false}

function zahlenthalten(x:string;y:integer) : byte; // überprüfen au7f Sythax
var a,b,c,d,e,f,i : byte;

begin
if y = 2 then
  begin
    zahlenthalten := 0 ;
    a:=Pos('a',x);//position der Zeichen vor dem 'a'
    b:=Pos('b',x);//position der zeichen vor dem 'b'
  end;
 begin
 If (a > 1) and not (x[a - 1] in ['-',',','1','2','3','4','5','6','7','8','9','0'])
 Then showmessage ( 'Bitte 1.Gleichung Korrigieren')
 else zahlenthalten := 1;
 end;

 begin

   if (b > 1) and not (x[b - 1] in ['+',',','-','1','2','3','4','5','6','7','8','9','0'])
   then showmessage ('Bitte 2.Gleichung korrigieren')
   else zahlenthalten := 1;
 end;
end;
das ist der text zur überprüfung


und rufe später in einer anderen unit es wieder auf


Delphi-Quellcode:
gl1:=Edit1.Text;
gl2:=Edit2.Text;

{ Gleichungen umschreiben und in Array eintragen }
if ((varenthalten(gl1,2) = 1) and (zahlenthalten(gl1,2)= 1)) then
 gleich1(gl1,t[1,1],t[1,2],t[1,3])
else
  showmessage('Bitte korrigieren Sie die 1. Gleichung!');

if ((varenthalten(gl2,2) = 1) and (zahlenthalten(gl2,2) = 1 ) )then
  gleich1(gl2,t[2,1],t[2,2],t[2,3])
else
  showmessage('Bitte korigieren Sie die 2. Gleichung!');
nun jetzt weiss ich nicht wo ic heinen fehler habe


PS:
varenthalten ist eine funktion die läuft und überprüft ob die variablen enthalten sind.


bitte um hilfe
danke für bisher und schonmal im voraus ^^
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: Zeichen überprüfen

  Alt 18. Mai 2006, 13:35
Zitat:
{ 1 - true}
{ 0 - false}
Warum nicht gleich True und False?

Und was macht Y?
Außerdem ist a und b nicht definiert, wenn Y <> 2 ist ... da sollte eigentlich auch der Compiler meckern.

Zitat:
var a,b,c,d,e,f,i : byte;
und bei den vielen ungenutzten Variablen auch.

Ach ja, man kann es mit den begin/end's auch übertreiben ._.


Delphi-Quellcode:
function zahlenthalten(const x: string): Boolean; // überprüfen auf Sythax
var a,b: byte;

begin
  Result := Talse;
  a := Pos('a', x); // Position des Zeichen 'a'
  b := Pos('b', x); // Position des Zeichen 'b'
  If (a > 1) and not (x[a - 1] in ['-', ',', '0'..'9']) then
    showmessage('Bitte 1. Gleichung korrigieren')
  else Result := True;
  if (b > 1) and not (x[b - 1] in ['+', ',', '-', '0'..'0']) then
    showmessage('Bitte 2. Gleichung korrigieren')
  else Result := True;
end;
Delphi-Quellcode:
gl1:=Edit1.Text;
gl2:=Edit2.Text;

{ Gleichungen umschreiben und in Array eintragen }
if varenthalten(gl1) and zahlenthalten(gl1) then
 gleich1(gl1,t[1,1],t[1,2],t[1,3])
else
  showmessage('Bitte korrigieren Sie die 1. Gleichung!');

if varenthalten(gl2) and zahlenthalten(gl2) then
  gleich1(gl2,t[2,1],t[2,2],t[2,3})
else
  showmessage('Bitte korigieren Sie die 2. Gleichung!');

// PS: varenthalten ist auch mal auf Boolean umgestellt (in den Abfragen)
Das sieht ja schonmal gut aus, aber was läuft denn nicht?
$2B or not $2B
  Mit Zitat antworten Zitat
shadow24

Registriert seit: 2. Nov 2005
13 Beiträge
 
#10

Re: Zeichen überprüfen

  Alt 23. Mai 2006, 12:45
naja wenn ic halles richtig eingebe meckert er auch rum das ich korrigieren müsste,aber weiss nicth wieso er das macht
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:54 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