Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Meherene Überprüfungen (https://www.delphipraxis.net/51501-meherene-ueberpruefungen.html)

Deadinpac 13. Aug 2005 17:20


Meherene Überprüfungen
 
Hi Dpler,

ich hoffe ich habe die überschrift deutlich ausgedrückt

Ich brauche ein Quelltext oder hilfe beim anfang

Ich habe z.b 3 Einträge in einer Paradoxtabelle die wie folgt lauten

Name(DBEdit1) Guthaben(DBEdit2) Rang(DBEdit3)

Test1 12000 Leader
Test2 -200 Schliessfachbetreuer
Test3 0 Member

ich möchte die daten in einer Memo haben die dann wie folgt aufgebaut sind

Leader sind Grün
Schliessfachbetreuer sind Gelb
Member sind weiss

Posetives Guthaben ist dunkelgrün
Negatives Guthaben ist dunkelrot
Neutrales Guthaben ist Oliv

Code:
[color=Grün]Test1[/color] = [color=dunkelgrün]12000[/color]
[color=Gelb]Test2[/color] = [color=dunkelrot]-200[/color]
[color=Weiss]Test3[/color] = [color=oliv]0[/color]
Ich hoffe ihr versteht das so wie ich das geschrieben habe

Mit freundlichen Grüß
Deadinpac

Luckie 13. Aug 2005 17:28

Re: Meherene Überprüfungen
 
Und wo ist jetzt dein probblem mit der Abfrage? Mehrere Bedingungen kann man mit logischen Operatoren verknüpfen.

Deadinpac 13. Aug 2005 18:24

Re: Meherene Überprüfungen
 
Ja nur das Problem bei mir ist ich weiss nicht wie ich anfangen soll

ich hab das prog ja schon soweit fertig bis auf diesen einen Quelltext
Delphi-Quellcode:
procedure TForm4.Button1Click(Sender: TObject);
 var
  PosG, NegG, NeuG, Lea, Sfb, Mem: Integer;
begin
 if DBEdit2.Text > 0 then
 PosG := 1
else
 if DBEdit2.Text < 0 then
 NegG := 1
else
 if DBEdit2.Text = 0 then
 NeuG := 1;
begin
 if DBEdit3.Text = 'Leader' then
 Lea := 1
else
 if DBEdit3.Text = 'Schliessfachbetreuer' then
 sfb := 1
else
 if DBEdit3.Text = 'Member' then
 mem := 1;
end;
end;
Oder so ähnlich hätte ich das vor aber mir fällt nichts richtiges ein
und deswegen frage ich euch ja

und ich fände es sehr nett von euch wenn ihr mir hilft

mfg
deadinpac

Deadinpac 15. Aug 2005 19:05

Re: Meherene Überprüfungen
 
Moin,

Ich habe noch mal ein frage ich habe es jetzt so gemacht

Delphi-Quellcode:
var
  Form4: TForm4;
  a, b, c, i: Integer;
  d:String;

implementation

{$R *.dfm}

procedure TForm4.FormCreate(Sender: TObject);
begin
Label2.Caption := IntToStr(Form3.Table1.RecordCount);
end;

procedure TForm4.Button1Click(Sender: TObject);
begin
a := StrToInt(Label2.Caption);
for i:=a downto 1 do
begin
if ( StrToInt(DBEdit2.Text) > 0 ) then
b := 1
else
if ( StrToInt(DBEdit2.Text) < 0 ) then
b := 2
else
if ( StrToInt(DBEdit2.Text) = 0 ) then
b := 3
end;
for i:=a downto 1 do
begin
if ( DBEdit3.Text = 'Leader' ) then
c :=b+5
else
if ( DBEdit3.Text = 'SFB' ) then
c :=b+10
else
if ( DBEdit3.Text = 'Member' ) then
c :=b+15
else
if ( DBEdit3.Text = 'Sonstiges' ) then
c :=b+20;
begin
Memo1.Lines.Add(DBEdit1.Text + ' Wert ' + IntToStr(c));
Form3.DataSource1.DataSet.Next;
end;
end;
So jetzt gib ich folgende werte an

Test1 -2000 Leader
Test2 -2000 SFB
Test3 -2000 Member
Test4 -2000 Sonstiges

da Kommt raus

Test1 Wert 7
Test2 Wert 12
Test3 Wert 17
Test4 Wert 22

Ist ja auch richtig so gebe ich aber jetzt Test1 einen 0 Betrag d.h so

Test1 0 Leader
Test2 -2000 SFB
Test3 -2000 Member
Test4 -2000 Sonstiges

Kommt das raus

Test1 Wert 8 <--- ok ist ja auch richtig
Test2 Wert 13.\
Test3 Wert 18..}<--- Bei jeden 1 Wert Höher obwohls der Gleiche Betrag und Gleicher Rang ist wie voher
Test4 Wert 23./

Und das vesteh ich ned und ich finde so auch kein Fehler im QT

MFG
Deadinpac

marabu 15. Aug 2005 19:45

Re: Meherene Überprüfungen
 
Hallo Deadinpac,

der von dir gezeigte Code ist schwer nachvollziehbar. Du solltest bessere Variablen-Namen vergeben und vielleicht einen kurzen Kommentar zu deinen Code-Blöcken geben, damit man versteht, was du bezweckst. Außerdem sieht man manche Fehler schon, wenn man seinen Code vernünftig einrückt.

Die erste FOR-Schleife macht eigentlich keinen Sinn, da sie bei jedem Durchlauf das gleiche Ergebnis erzeugt. Weiter am Ende fehlt syntaktisch ein "end;". Bist du sicher, dass du hier den echten Code aus deinem Programm zeigst oder ist da was beim Kopieren schief gelaufen?

Grüße vom marabu


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