AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

procedure mit Sender

Offene Frage von "mc_flasche"
Ein Thema von mc_flasche · begonnen am 28. Sep 2009 · letzter Beitrag vom 28. Sep 2009
 
mc_flasche

Registriert seit: 28. Sep 2009
11 Beiträge
 
Turbo Delphi für Win32
 
#1

procedure mit Sender

  Alt 28. Sep 2009, 17:49
Hallo!

Ich hab 2 Proceduren und möchte gern alles in einer Procedure machen ich denke mit Sender würde es am besten gehen,
aber ich kenne mich mit Sendern nicht so gut aus darum bräuchte ich bitte Hilfe!!!!

In dem Programm geht es um das Ausgeben der Daten einer Datenbank in einem Listview jedoch möchte ich eine verkürzte Version haben.

Hier sind die beiden Proceduren falls es jemandem zu unübersichtilich ist habe ich auch noch meine gesamte Datei als Attachment angefügt!

Delphi-Quellcode:
procedure TForm1.Datenausgeben();
var
LI: TListitem;
weiblich, maennlich, Gesamt, i : integer;
begin
 //Zugriff auf die Tabelle über eine Abfrage:

 //Sicherheitshalber wird die Abfrage geschlossen ...
 adoquery1.Close;
 //... und der SQL-Code gelöscht
 adoquery1.SQL.Clear;
 //... und der neue SQL-Code eingefügt
 adoquery1.SQL.add('Select * from Schueler');
 //... und die Abfrage geöffnet:
 adoquery1.Open;


 //Schleife bis zum Ende der Abfrage
 while not adoquery1.Eof do begin

 // Leere Zeile wird ausgegeben
 LI := lv_personen.Items.add;
 //Daten der Abfrage werden ausgegeben:
 LI.Caption := adoquery1.FieldValues['Nachname'] + ' ' + adoquery1.FieldValues['Vorname'];
 LI.subItems.add(adoquery1.FieldValues['Geschlecht']);
 LI.subItems.add(adoquery1.FieldValues['PLZ']);
 LI.subItems.add(adoquery1.FieldValues['Ort']);
 LI.subItems.add(adoquery1.FieldValues['Adresse']);

 //Spring immer einen Datensatz weiter
 adoquery1.Next;
 end;
 adoquery1.close;

 adoquery1.SQL.Clear;


 //distict = Keine Duplikate
 //order by = Sortierung aufsteigend
 adoquery1.SQL.add('Select distinct Ort from Schueler order by Ort');

 adoquery1.Open;

 while not adoquery1.Eof do begin

 lbox_Wohnort.items.add(adoquery1.FieldValues['Ort']);
 //Spring immer einen Datensatz weiter
 adoquery1.Next;
 end;
 adoquery1.close;

 Maennlich := 0;

 Weiblich := 0;

 gesamt:= lv_Personen.Items.count;


 for i := 0 to lv_Personen.Items.Count - 1 do begin

 if lv_Personen.Items[i].subitems[0] = 'Mthen
      Inc(Maennlich);
    if lv_Personen.Items[i].subitems[0] = 'Wthen
      Inc(Weiblich);

  end;


 StatusBar1.Panels[0].Text := 'Gesamt ' + inttostr(gesamt);
 StatusBar1.Panels[1].Text := 'Männlich ' + inttostr(maennlich);
 StatusBar1.Panels[2].Text := 'Weiblich ' + inttostr(weiblich);

end;


procedure TForm1.Wohnortfilter();
var
AktuellerOrt: string;
LI: TListItem;
weiblich, maennlich, Gesamt, i : integer;
begin

 AktuellerOrt:= lbox_Wohnort.Items[lbox_Wohnort.itemindex];

 adoquery1.Close;

 adoquery1.SQL.Clear;

 adoquery1.SQL.add('Select * from Schueler where Ort = "' + AktuellerOrt + '"');

 adoquery1.Open;

 lv_personen.Items.Clear;


 while not adoquery1.Eof do begin

 // Leere Zeile wird ausgegeben
 LI := lv_personen.Items.add;
 //Daten der Abfrage werden ausgegeben:
 LI.Caption := adoquery1.FieldValues['Nachname'] + ' ' + adoquery1.FieldValues['Vorname'];
 LI.subItems.add(adoquery1.FieldValues['Geschlecht']);
 LI.subItems.add(adoquery1.FieldValues['PLZ']);
 LI.subItems.add(adoquery1.FieldValues['Ort']);
 LI.subItems.add(adoquery1.FieldValues['Adresse']);



 //Spring immer einen Datensatz weiter
 adoquery1.Next;
 end;


 adoquery1.close;

 Maennlich := 0;

 Weiblich := 0;

 gesamt:= lv_Personen.Items.count;


 for i := 0 to lv_Personen.Items.Count - 1 do begin

 if lv_Personen.Items[i].subitems[0] = 'Mthen
      Inc(Maennlich);
    if lv_Personen.Items[i].subitems[0] = 'Wthen
      Inc(Weiblich);

  end;


 StatusBar1.Panels[0].Text := 'Gesamt ' + inttostr(gesamt);
 StatusBar1.Panels[1].Text := 'Männlich ' + inttostr(maennlich);
 StatusBar1.Panels[2].Text := 'Weiblich ' + inttostr(weiblich);

end;
[edit=Matze][delphi]-Tag eingefügt. MfG, Matze[/edit]
Angehängte Dateien
Dateityp: dpr project1_237.dpr (188 Bytes, 0x aufgerufen)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:08 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