Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   if Anweisung zur Laufzeit ändern? (https://www.delphipraxis.net/170361-if-anweisung-zur-laufzeit-aendern.html)

Jumpy 13. Sep 2012 11:02

AW: if Anweisung zur Laufzeit ändern?
 
Zitat:

Zitat von mkinzler (Beitrag 1182735)
Zitat:

Achja. Da wert ja ein String ist, dann nimm doch auch ...FieldByName("blub").AsString
Warum sollte man den String zuerst in einen String konvertieren? .as<Typ> ist ein Cast und deshalb überflüssig!

Die Variable Wert ist ja ein String. Das Feld in der BB hieß aber irgendwas mit Nummer. Hätte ja sein können, dass das in der DB ein numerisches Feld ist. Macht dann .Value einen automatischen Cast oder knallt das dann?

Medium 13. Sep 2012 11:02

AW: if Anweisung zur Laufzeit ändern?
 
Tu dir selbst einen Gefallen, und benenne deine Controls vernünftig. Das ist ja grausig so!

mkinzler 13. Sep 2012 11:02

AW: if Anweisung zur Laufzeit ändern?
 
Duz sagst immer du willst etwas Lernen, berücksichtigst aber nicht die einfachsten Tipps. Zu wurdest schon öfterst ( eigentlich bei jeder deiner Fragen) auf die Bedeutung des Parameters Sender hingeweisen und das dieser der Verwendung einer festen Objektreferenz vorzuziehen ist. Trotzdem verendest du das jedesmal wieder ( CRDBGrid1)!

Kommen weitere Werte hinzu und soll dann auf diese Werte später besonderst reagiert werden, dann nomalisiere diese in der Datenbank und lege dort auch das Verhalten ab.

Z.B. Tabelle Zuordnung (oder Phase)

ID Bez Hintergrund Schrift
1 'ausgerückt' #FF0000 #000000
0 '0 Eingang' ...

In der abgefragten Tabelle dann statt dem Text die ID auf die Zuordnungstabelle (FK) und bei der Abfrage die Farben hinzujoinen
Zitat:

Tu dir selbst einen Gefallen, und benenne deine Controls vernünftig. Das ist ja grausig so!
Das ist auch eine Sache, die man ihm in jedem seiner Fragen sagt.

Alterauge 13. Sep 2012 11:29

AW: if Anweisung zur Laufzeit ändern?
 
OK, bin ein wenig schlampig!

Auch wenn es nervig ist, noch eine Zwischenfrage!

Was ist hier falsch?
Delphi-Quellcode:
procedure TForm1.Timer6Timer(Sender: TObject);
begin
if (MyTAble1.FieldByName('Einsatznummer').Value) = (MyTAble3.FieldByName('Einsatznummer').Value)  then begin
  ShowMessage('Test');
end;
end;
Frage:
Ist die Einsatznummer aus DB1 = wie Einsatznummer DB2 dann ShowMessage!
Keine Fehlermeldung Quelltext sauber! geht aber nicht?

Medium 13. Sep 2012 11:31

AW: if Anweisung zur Laufzeit ändern?
 
...Fehlermeldung/Was passiert (nicht)? Sag mal, so neu bist du doch hier nicht, dass man dir noch das Fragen beibringen muss oder?

mkinzler 13. Sep 2012 11:39

AW: if Anweisung zur Laufzeit ändern?
 
Vielleicht Leerzeichen in den Feldern?
Delphi-Quellcode:
if Trim(MyTAble1.FieldByName('Einsatznummer').Value) = Trim(MyTAble3.FieldByName('Einsatznummer').Value) then
begin
  ShowMessage('Test');
end;

Alterauge 13. Sep 2012 11:40

AW: if Anweisung zur Laufzeit ändern?
 
Geht jetzt! Ich Blödmann

Delphi-Quellcode:
[DELPHI]
procedure TForm1.Timer6Timer(Sender: TObject);
begin
if (MyTAble1.FieldByName('Einsatznummer').Text) = (MyTAble3.FieldByName('Einsatznummer').Text)  then begin
  ShowMessage('Test');
end;
end;
[/DELPHI]

p80286 13. Sep 2012 11:53

AW: if Anweisung zur Laufzeit ändern?
 
Delphi-Quellcode:
if Wert = 'ausgerückt' then begin
if Wert = '0 Eingang' then begin
if Wert = 'Bearbeitung' then begin
if Wert = 'Vor Ort beendet' then begin
Es wäre etwas sicherer statt dieser String-Werte, etwas numerisches zu nutzen.
Falls es z.B. eine Ländercodedifferenz zwischen DB und Client geben sollte, könnte da nur noch datentechnischer Hackepeter übrig bleiben.
ob Mkinzler's Vorschlag der optimale ist, darüber mag man diskutieren. Aber das Prinzip ist richtig, und das solltest Du tunlichst beherzigen, auch wenn Du "etwas schlampig" bist.

Gruß
K-H

mkinzler 13. Sep 2012 11:56

AW: if Anweisung zur Laufzeit ändern?
 
Man kann sich darüber Streiten ob die Farben zu den Phasen gehören, ja. Aber das Datenbankschema sieht für mich auch unabhängig von den Anzeigenfarben recht "unnormalisiert" aus.

p80286 13. Sep 2012 12:44

AW: if Anweisung zur Laufzeit ändern?
 
Ich dachte eher an die Texte, aber was soll's, die Grundlagen sind doch sehr lückenhaft.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz