Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5178[/thread]

Ceckbuttons auswerten

Leser: 4


<< >> 5 Einträge, 1 Seite
dechs
 2006-05-03 22:02
#45360 #45360
User since
2006-03-13
12 Artikel
BenutzerIn
[default_avatar]
Hallo,
hab folgenden Code um eine Datenbankabfrage zu machen.
Wie kann ich die Checkboxen auswerten ?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!c:\Perl\bin\perl.exe 
sub DB_suche ($) {
use strict;
use Tk;
use DB_ausgabe;


my $SuchenFenster= MainWindow->new();

my (@arg) =@_;
#mit get wird der übergebene Wert(Datenbankname) $arg[0] zugewiesen

my $Dbbenutzer = $arg[0];
#mit get wird der übergebene Wert(Name) $arg[1] zugewiesen
my $Dbpwd = $arg[1];


#Title des Fensters
$SuchenFenster -> title('Datenbank-Suchen');

#Hintergrundfarbe des Grundfensters
$SuchenFenster -> configure (-background=>'lightgoldenrod1');

#Überschrift/Erklärung
my $label1 = $SuchenFenster->Label(-background=>'lightgoldenrod1',,-font => 'courier',-text => 'Datenbank suche')->pack(-side => 'top',-pady => 10);
my $label2 = $SuchenFenster->Label(-background=>'lightgoldenrod1',-text => 'Nach was wollen sie suchen?')->pack(-side => 'top',-pady => 5);

#Namenssuche
my $f1=$SuchenFenster->Frame()->pack(-side => 'top');
my $Label3= $f1->Label(-background=>'lightgoldenrod1',-text => 'Name')->pack(-side => 'top');
my $f2=$SuchenFenster->Frame(-relief => 'sunken', -borderwidth => '5')

->pack(-side => 'top',-pady => 5);
my $DbSucheName = $f2->Entry(-text=> 'Goerl')->pack(-side => 'top');
my $DbSucheNamed = $DbSucheName ->get();

my $suche = "select * from mitglied where name = '$DbSucheNamed'";

#Checkbox für Attribute die ausgegeben werden
my $f3=$SuchenFenster->Frame()->pack(-side => 'top');
my $Label4= $f3->Label(-background=>'lightgoldenrod1',-text => 'Welche Daten sollen angezeigt werden?')->pack(-side => 'top');

my $AbName=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "Name")->pack(-side => 'left');

my $AbVorname=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "Vorname")->pack(-side => 'left');

my $AbAdresse=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "Adresse")->pack(-side => 'left');

my $AbPLZ=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "PLZ")->pack(-side => 'left');

my $AbOrt=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "Ort")->pack(-side => 'left');

my $AbTelefon=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "Telefon")->pack(-side => 'left');

my $AbGeburtsdatum=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "Geburtsdatum")->pack(-side => 'left');

my $AbEintritt=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "Eintrittsdatum")->pack(-side => 'left');

my $AbFunktion=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "Vereinsfunktion")->pack(-side => 'left');

my $AbEhrung=$SuchenFenster->Checkbutton(-background=>'lightgoldenrod1', -text => "Ehrung")->pack(-side => 'left');




#Button
my $f4=$SuchenFenster->Frame()->pack(-side => 'top');
my $button1 = $f4->Button(-text => " OK ", -relief => 'groove', -borderwidth => '6', "-command" => [\&DB_ausgabe, $Dbbenutzer, $Dbpwd, $suche]);
$button1->pack(-side => 'top', -pady => 5);

}
1;


danke

dechs
Mathias
 2006-05-03 22:45
#45361 #45361
User since
2006-03-16
36 Artikel
BenutzerIn
[default_avatar]
Wiki:Perl/Tk tutorial

hier müsstest du fündig werden
greets =)
dechs
 2006-05-07 13:31
#45362 #45362
User since
2006-03-13
12 Artikel
BenutzerIn
[default_avatar]
Das hilft mir in meinem Fall nicht wirklich weiter das die die Auswertung mit ? machen
Hat jemand noch ne andere Idee?

dechs
Strat
 2006-05-07 14:21
#45363 #45363
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich habe den ganzen checkbox-code etwas komprimiert:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
my @checkBoxes = qw(Name Vorname Adresse PLZ Ort Telefon Geburtsdatum
Eintrittsdatum Vereinsfunktion Ehrung);


#Namenssuche
my $f1=$SuchenFenster->Frame()->pack(-side => 'top');

my %checkBoxes = ();
foreach my $name (@checkBoxes) {
$checkBoxes{$name}->{variable} = 0; # not checked as default

$checkBoxes{$name}->{widget} = $SuchenFenster->Checkbutton
( -background => 'lightgoldenrod1', -text => $name,
-variable => \$checkBoxes{$name}->{variable},
)
->pack(-side => 'left');

} # foreach

# irgendwo auswerten:
my @checkedFields = grep { $checkBoxes{$_}->{variable} } keys %checkBoxes;

# jetzt hast du die namen der Felder in @checkedFields

(nicht getestet)\n\n

<!--EDIT|Strat|1146997354-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
dechs
 2006-05-08 09:54
#45364 #45364
User since
2006-03-13
12 Artikel
BenutzerIn
[default_avatar]
Sowas hab ich gesucht, Danke
<< >> 5 Einträge, 1 Seite



View all threads created 2006-05-03 22:02.