AGB  ·  Datenschutz  ·  Impressum  







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

Check-Group und case of...

Ein Thema von JSB · begonnen am 6. Apr 2005 · letzter Beitrag vom 6. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
JSB

Registriert seit: 4. Okt 2004
Ort: Mönchengladbach
150 Beiträge
 
Delphi 7 Enterprise
 
#1

Check-Group und case of...

  Alt 6. Apr 2005, 07:46
Delphi-Quellcode:
i:= cgfilter;
case i.ItemChecked of
    [0]:
    begin
        qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON ='
    end;
  • cgfilter= CheckGroup
    qTelefonliste=Query

    Fehler= "[" erwartet aber "of" gefunden

Wie soll ich das am besten Lösen?
Ich möchte eine abfrage machen was ausgewählt wurde ohne tausend mal(oder auch 8 mal) das Gleiche zufragen...
MFG:
JoeSchnapsBurner
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Check-Group und case of...

  Alt 6. Apr 2005, 08:15
Zitat von JSB:
cgfilter= CheckGroup
CheckGroup? Watn dat? Ich kenn nur die CheckListBox. Du koenntest mit ItemIndex versuchen zu arbeiten, oder ueber eine zusaetzliche Funktion:

Delphi-Quellcode:
procedure TForm1.HandleItems(ix: Integer);
begin
  case ix of
    0: qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON =';
  end;
end;

//...

for i := 0 to i.Items.Count-1 do
  if i.ItemChecked[i] then
    HandleItems(i);
Evtl. solltest du aber mal erklaeren was die CheckGroup sein soll

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
JSB

Registriert seit: 4. Okt 2004
Ort: Mönchengladbach
150 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Check-Group und case of...

  Alt 6. Apr 2005, 08:21
TRzCheckGroup
ist eine Kompi von Raize
und sieht so aus.
Es gibt mir die Möglichkeit "Items" hinzuzufügen und diese über die Komponente direkt auszusprechen. Besonders gut wenn's viele sind...

Sieht so ungf. aus:
Miniaturansicht angehängter Grafiken
temp_207.jpeg  
MFG:
JoeSchnapsBurner
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.009 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: Check-Group und case of...

  Alt 6. Apr 2005, 08:27
Zitat von alcaeus:
CheckGroup? Watn dat? Ich kenn nur die CheckListBox. Evtl. solltest du aber mal erklaeren was die CheckGroup sein soll
Guckst du Bei Google suchenTCheckGroup!
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
JSB

Registriert seit: 4. Okt 2004
Ort: Mönchengladbach
150 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Check-Group und case of...

  Alt 6. Apr 2005, 08:28
[Fehler] fTelefonliste.pas(162): Ordinaltyp erforderlich
MFG:
JoeSchnapsBurner
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#6

Re: Check-Group und case of...

  Alt 6. Apr 2005, 08:44
Wenn du jetzt noch schreiben würdest wie dein Source mittlerweile aussieht....

Auf deinen ersten Post bezogen gehst du aber falsch an die Sache ran. Case ist für eine Bedingung unnötig. und diese prüfst du auch noch falsch.
Zitat:
Delphi-Quellcode:
case i.ItemChecked of
    [0]:
    begin
        qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON =
    end;
Itemchecked ist höchstwahrscheinleich ein boolscher Wert. Also True oder False. Kein anderer Wert möglich. Du prüfst aber, ob er [0] ist.

Was du vermutlich machen willst ist

Delphi-Quellcode:
if i.Itemchecked[0] Then
  Begin
    qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON =
  End;
evtl. isses auch
Delphi-Quellcode:
if i[0].Itemchecked Then
  Begin
    qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON =
  End;
Kommt auf den Aufbau dieser Liste an.
  Mit Zitat antworten Zitat
JSB

Registriert seit: 4. Okt 2004
Ort: Mönchengladbach
150 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Check-Group und case of...

  Alt 6. Apr 2005, 09:21
Das kann ich auch (if....then....)
Soll ich dir den Code dafür zeigen?

Delphi-Quellcode:
  if cgfilter.ItemChecked [0] = true then
      begin
          qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON = ' + '''' + dDatabase.iqLogin.fieldbyname('MitarbeiterID').AsString + '''' + ' and';
      end
    else
      if cgfilter.ItemChecked [1] = true then
        begin
// qMitarbeiter.SQL.Strings [3] := '''' + dDatabase.iqLogin.fieldbyname('MitarbeiterID').AsString + '''';
          qMitarbeiter.Active := True;
          codesite.SendMsg('Abteilung= ' + qMitarbeiter.fieldbyname('ABTEILUNG').asString + ' ' + 'TAETIGKEITSBEREICH= ' + qMitarbeiter.FieldByName('TAETIGKEITSBEREICH').AsString);
        // ShowMessage ('MitarbeiterID= ' + qMitarbeiter.fieldbyname('ID').AsString);
// ShowMessage ('Abteilung= ' + qMitarbeiter.fieldbyname('ABTEILUNG').asString + ' ' + 'TAETIGKEITSBEREICH= ' + qMitarbeiter.FieldByName('TAETIGKEITSBEREICH').AsString);
          if (qMitarbeiter.fieldbyname('ABTEILUNG').AsString = '') and (qMitarbeiter.FieldByName('TAETIGKEITSBEREICH').AsString = '') then
            MessageDlg('Der Filter: "Mein Bereich",'+#13+#10+'kann nicht verwendet werden!'+#13+#10+'Bitte prüfen Sie ob die Felder ABTEILUNG '+#13+#10+'und TÄTIGKEITSBEREICH in den Mitarbeiterdaten gefüllt '+#13+#10+'wurden!'+#13+#10+'Wenden Sie sich ggf. an den Administrator!', mtError, [mbOK], 0)
          else
            qTelefonliste.SQL.Strings [3] := 'BEREICH = ' + '''' + qMitarbeiter.fieldbyname('ABTEILUNG').AsString + '''' + ' or BEREICH =' + '''' + qMitarbeiter.fieldbyname('TAETIGKEITSBEREICH').AsString + '''' + ' and ';
        end
      else
        if cgfilter.ItemChecked [2] = true then
          qtelefonliste.SQL.Strings [4] := 'Datum = ' + '''' + (DateToStr(Date)) + '''' + ' and'
        else
          if cgfilter.ItemChecked [3] = true then
            qtelefonliste.SQL.Strings [5] := 'Prioritat = "1" and'
          else
            if cgfilter.ItemChecked [4] = true then
              qtelefonliste.SQL.Strings [6] := 'Prioritat = "2" and'
            else
              if cgfilter.ItemChecked [5] = true then
                qtelefonliste.SQL.Strings [7] := 'Prioritat = "3" and'
              else
                if cgfilter.ItemChecked [6] = true then
                  qtelefonliste.SQL.Strings [8] := 'Datum > ' + '''' + (DateToStr(IncDay(Date,-sptage.value))) + '''' + ' and'
                else
                  if cgfilter.ItemChecked [7] = true then
                    qtelefonliste.SQL.Strings [9] := 'Erledigt = T and'
                  else
                    if cgfilter.ItemChecked [8] = true then
                      qtelefonliste.SQL.Strings [10] := 'Erledigt = F and';
Ich glaube so progt nur MICROSOFT ...
Unübersichtlich, langsam, kompliziert, nicht nachvollziebar...
MFG:
JoeSchnapsBurner
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#8

Re: Check-Group und case of...

  Alt 6. Apr 2005, 09:41
Zitat von JSB:
Ich glaube so progt nur MICROSOFT ...
Unübersichtlich, langsam, kompliziert, nicht nachvollziebar...
Cool...ich wusste gar nicht dass ich bei Microsoft arbeite.
Wie gesagt, du koenntest auch meine Moeglichkeit mit einer Schleife verwenden.
Allerdings ist deine Sache mit if-elseif IMHO nicht ganz richtig, denn damit erlaubst du nur eine angeklickte Checkbox, und das waere dann ja wieder die TRadioGroup.
Du erlaubst dass ich mich selbst zitiere:
Zitat von alcaeus:
Delphi-Quellcode:
procedure TForm1.HandleItems(ix: Integer);
begin
  case ix of
    0: qTelefonliste.SQL.Strings [2] := 'BEZUGSPERSON =';
  end;
end;

//...

for i := 0 to i.Items.Count-1 do
  if i.ItemChecked[i] then
    HandleItems(i);
Probier das mal. Sollte eigentlich funktionieren. Evtl. musst du eben noch das Items.Count ausbessern, ich weiss nicht ob das bei der Komponente anders heisst.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Michael_Bayer

Registriert seit: 20. Mär 2005
137 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Check-Group und case of...

  Alt 6. Apr 2005, 09:43
Zitat von JSB:
Ich glaube so progt nur MICROSOFT ...
Unübersichtlich, langsam, kompliziert, nicht nachvollziebar...
Ganz im Gegenteil - der MS-Quellcode ist i.d.R. sehr übersichtlich und umfangreich kommentiert - nagut, den Schnellsten bauen die nicht grad
  Mit Zitat antworten Zitat
JSB

Registriert seit: 4. Okt 2004
Ort: Mönchengladbach
150 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Check-Group und case of...

  Alt 6. Apr 2005, 10:28
Ich habe nicht gemeint das du bei MICRROSOFT arbeitest!
(Wie könnte/kann man nur darüber glücklich sein? =SCHADE!.?)

Das ist ja das Prob.
Ich möchte mehrere Auswahlen möglich machen. Eine TRadioGroup kann nicht das Richtige sein. Eine CheckList schon....
ABER: WIE!
MFG:
JoeSchnapsBurner
  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 16:01 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