![]() |
if Anweisung zur Laufzeit ändern?
Also meine Frage,
Delphi-Quellcode:
Die Einsatznummer ändern sich ja immer wieder zur Laufzeit! Was nun? Hat einer eine Idee?
var
Wert: string; begin if (CRDBGrid2.DataSource.DataSet.RecordCount = 0) then Exit; Wert := CRDBGrid2.DataSource.DataSet.FieldByName('Einsatznummer').Value; if Wert = '???' then begin // hier ist mein Problem! Die Einsatznummer änder sich ja! Also kann ich keinen festen Wert bestimmen! |
AW: if Anweisung zur Laufzeit ändern?
Ich versteh das Problem nicht. Irgendwo kommt die Nummer ja her bzw. ist irgendwo in deinem Programm bekannt. Speicher die in eine Variable und Vergleiche in deiner If-Anweisung Wert mit dieser Variable.
Was im Zweifel immer funktioniert ist if wert = wert then begin... Achja. Da wert ja ein String ist, dann nimm doch auch ...FieldByName("blub").AsString |
AW: if Anweisung zur Laufzeit ändern?
Selbst mit der besten Glaskugel läßt sich Deine Frage nicht beantworten...
Was willst Du den abtesten? Mavarik |
AW: if Anweisung zur Laufzeit ändern?
OK! :-)
Wenn ich zur Laufzeit einen neuen Einsatz eröffne, wird eine neue Einsatznummer erstellt! (Datenbank) Jetzt zur if Anweisung: (ist die Einsatznummer so und so), and ,(das Einsatzfahrzeug hat einen Wert von '3') then ergibt das den Wert = 'ausgerückt' in der Datenbank! __________________________________________________ __________________________________________________ ________ Ist der Wert im DBGrid ausgerückt, färbt sich die Zeile rot! Es darf sich aber nur die Zeile färben die die Einsatznummer hat! (und nicht alle Einsätze) Vielleicht jetzt verständlich? Oder noch nicht? |
AW: if Anweisung zur Laufzeit ändern?
Zitat:
|
AW: if Anweisung zur Laufzeit ändern?
Na wenn die Einsatznummer neu erstellt wurde, dann hast Du doch die Einsatznummern...
Mavarik |
AW: if Anweisung zur Laufzeit ändern?
Zitat:
|
AW: if Anweisung zur Laufzeit ändern?
Ist bestimmt ganz einfach!
Ich denke nur zu kompliziert! Ach hier die Einfärbung rot!
Delphi-Quellcode:
__________________________________________________ __________________________________________________ ___procedure TForm1.CRDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var i : Integer; Wert: string; begin if (CRDBGrid1.DataSource.DataSet.RecordCount = 0) then Exit; Wert := CRDBGrid1.DataSource.DataSet.FieldByName('Zuordnung').Value; if Wert = 'ausgerückt' then begin CRDBGrid1.Canvas.Brush.Color := clred; CRDBGrid1.Canvas.Font.Color := clblack; end else if Wert = '0 Eingang' then begin CRDBGrid1.Canvas.Brush.Color := clyellow; CRDBGrid1.Canvas.Font.Color := clblack; end else if Wert = 'Bearbeitung' then begin CRDBGrid1.Canvas.Brush.Color := clFuchsia; CRDBGrid1.Canvas.Font.Color := clblack; end else if Wert = 'Vor Ort beendet' then begin CRDBGrid1.Canvas.Brush.Color := cllime; CRDBGrid1.Canvas.Font.Color := clblack; end else begin end; CRDBGRid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); begin CRDBGRid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); if (gdSelected in State) then begin // Form1.CRDBGrid1.Canvas.Brush.Color := clSilver; // Form1.CRDBGrid1.Canvas.Font.Color:=clblack; end; form1.crDBGrid1.Canvas.FillRect(Rect); form1.crDBGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top + 1, Column.Field.AsString); begin with MyTable1 do for i := 5 to Pred(Fields.Count) do Fields[i].DisplayWidth := 255; end; end; end; Die Einsatznummer wird abgeholt, aus einem Memo!
Delphi-Quellcode:
procedure TForm1.AdvGlowButton28Click(Sender: TObject);
begin DBEdit9.Text := Copy(DBMemo3.Text, Length(DBMemo3.Text)-9, 10); end; |
AW: if Anweisung zur Laufzeit ändern?
Und was ist wenn mehrere Einsatzfahrzeuge zur gleichen Zeit ausgerückt sind?
Dann sollten doch alle rot markiert werden, oder nicht? Somit wäre schon der Ansatz die Einsatznummer abzufragen falsch. Du musst schlichtweg den Status des Fahrzeugs abfragen um den Datensatz im DBGrid die gewünschte Farbe zu geben. Ausserdem hast du zu wenig Statuswerte. Ein Einsatzfahrzeug kann auch "verunfallt" sein. |
AW: if Anweisung zur Laufzeit ändern?
Zitat:
Es reicht wenn ein Fahrzeug ausrückt! Wenn ein Fahrzeug disponiert ist, und nicht ausrückt(Status3) gibt ein (Timer) Alarm! Du musst schlichtweg den Status des Fahrzeugs abfragen??? // Was machst Du wenn Du drei unterschiedliche Einsätze hast? Nur eine Status abfrage geht nicht? Oder? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 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-2025 by Thomas Breitkreuz